Domanda

Ho il seguente bit di codice Delphi 7 per incrementare un valore di TDateTime di un'ora. Per qualche motivo non funziona.

 StatusMemo.Lines.Add('prior '+DateTimeToStr(dtval));
 IncHour(dtval,1); // add an hour for DST
 StatusMemo.Lines.Add('after '+DateTimeToStr(dtval));

Contenuti di StatusMemo dopo l'esecuzione del codice:

prior 6/24/2009 5:35:40 AM
after 6/24/2009 5:35:40 AM

Si comporta come IncHour non funziona. Ho provato a utilizzare IncMinute (dtval, 60) e ho ottenuto lo stesso risultato. Cosa mi sto perdendo?

È stato utile?

Soluzione

IncHour restituisce il valore incrementato, non aggiorna la variabile passata.

Quindi devi fare:

dtval := IncHour(dtval, 1);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top