back to top

Funzioni per la gestione delle date in Delphi

Nell’ambito di un programma Delphi torna spesso utile manipolare elementi come data ed ora. Esistono diverse funzioni per la gestione delle date; esaminiamo le principali.

FunzioneDescrizione
Daterestituisce la data corrente di sistema
DateToStrtrasforma una data in formato stringa
StrToDatetrasforma una stringa in data

Posizionatevi all’interno della finestra del codice Form e digitate:

Lblmess.Caption := DateToStr(Date);

In questo modo, la data di sistema, ottenuta con la funzione Date, viene trasformata in formato stringa grazie alla funzione DateToStr ed adattata così ad essere visualizzata nel Label posizionato in basso al Form.

La funzione StrToDate, permette invece di trasformare una stringa in formato data, per poter essere poi manipolata opportunamente.

A questo punto, quindi rileviamo la data di nascita digitata (in formato testo) e trasformiamola in formato date. Dichiariamo una variabile di tipo TDataTime:

var miaDate: TDateTime;

Eseguiamo la conversione con la riga di codice seguente, da inserire nell’evento click del bottone:

miaDate := StrToDate(edit3.text)

In questo modo sarete in grado di utilizzare la data di nascita per eventuali calcoli tra date.

Ora vedremo altre interessanti funzioni per la gestione delle date.

FunzioneDescrizione
Nowrestituisce la data di sistema
DayOfTheWeekrestituisce il giorno della settimana per una specifica data

Now, ha una funzione analoga a Date, cioè restituisce la data di sistema. Nel prossimo esempio vedremo il funzionamento.

In un nuovo progetto, inserite un Tlabel su di un Form, poi inserite il codice seguente nella parte dichiarativa:

var miadata: string;

Abbiamo dichiarato una variabile stringa, miadata, che servirà a contenere la data di sistema restituita dalla funzione Now. Poichè tale funzione restituisce dati in formato Tdate, per poter visualizzare la data col Tlabel è stato necessario dichiarare una variabile stringa che accoglierà la data opportunamente trasformata.

Nella Procedure TFormCreate inserite il codice seguente:

miadata := datetostr(now);
label1.Caption := miadata;

Come potete vedere, il risultato della funzione Now, viene trasformato in stringa con la funzione datetostr e passato alla variabile miadata. A questo punto, la data può essere visualizzata col TLabel.

La funzione DayOfTheWeek, restituisce il giorno della settimana in base ad una data. Quello che la funzione restituisce è un numero che rappresenta il giorno della settimana.

Facciamo un esempio, create un nuovo progetto, prima di tutto vediamo il codice della sezione dichiarativa:

const giorni: array[1..7] of string = ('Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab', 'Dom')

Abbiamo dichiarato una costante costituita da un array di stringhe, valorizzata con i giorni della settimana.

Nella Procedure TFormCreate inserite il seguente codice:

ShowMessage('Oggi è  ' + giorni[DayOfTheWeek(Date)]);

Alla funzione ShowMessage, viene passato il risultato della funzione DayOfTheWeek, utilizzato come indice per recuperare il giorno corrispondente all’interno dell’array.

A questo punto potete cominciare a testare l’applicazione, premete il tasto con la freccia verde, in breve il programma sarà in esecuzione, riempite i campi e, una volta finito, premete il tasto Ok.

PubblicitÃ