2009-06-25 4 views
1

Ich habe das folgende Bit von Delphi 7-Code, um einen TDateTime-Wert um eine Stunde zu erhöhen. Aus irgendeinem Grund funktioniert es nicht.IncHour-Prozedur in DateUtils

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

Inhalt von StatusMemo nach Code ausgeführt:

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

Es verhält sich wie IncHour nicht funktioniert. Ich habe versucht, mit IncMinute (dtval, 60), und habe das gleiche Ergebnis. Was fehlt mir?

Antwort

13

IncHour gibt den inkrementierten Wert zurück, die übergebene Variable wird nicht aktualisiert.

So was Sie tun müssen:

dtval := IncHour(dtval, 1); 
+0

Bingo. Danke - Ich habe total vermisst, dass es eine Funktion war, keine Prozedur. – tim11g

+5

Hm, dieser Name ist bedauerlich. Bei Ganzzahlen ist es Inc (x) oder x: = Succ (x). –

+0

Scheint, RTFM vor der Verwendung würde die gesamte Frage vermeiden .... –

Verwandte Themen