im folgenden beispiel wird aus einem edit ein wert in der Form 23.08.2003 17:50:12 übergeben und auf einem label als uhr fortgesetzt. der einfachheit halber verzichte ich hier auf eine weiterführung des tages,monats,jahres und der millisekunden. dies ist aber im prinzip genauso möglich, wie der hier dargestellte code.
Code:
[b]procedure[/b] TForm1.Timer1Timer(Sender: TObject);
[b]begin[/b]
[b]if[/b] aktive = false [b]then begin[/b]
time := strtodatetime(Edit1.Text);
original := datetimetosystemtime(time);
aktive := true;
[b]end[/b];
//original.wyear:=original.wyear;
//original.wmonth:=original.wmonth;
//original.wDayOfWeek:=original.wDayOfWeek;
//original.wday:=original.wday;
//original.wmilliseconds:=0;
original.wsecond:= original.wSecond + 1;
[b]if[/b] original.wSecond = 60 [b]then begin[/b]
original.wSecond:=0;
original.wMinute:=original.wMinute + 1;
[b]end[/b];
[b]if[/b] original.wMinute = 60 [b]then begin[/b]
original.wMinute := 0;
[b]if[/b] original.wHour <= 24 [b]then[/b] original.wHour := original.wHour + 1
[b]else[/b] original.wHour := 1;
[b]end[/b];
holder := SystemTimeToDateTime(original);
Label1.Caption :=DateTimeToStr(holder);
[b]end[/b];
zu den variablen:
aktive: boolean, false
original: TSystemTime
holder, time: TDateTime
der timer muss enabled=false sein, das ganze dann z.B. auf buttonclick auf true setzen, dann läuft die uhr. durch einen weiteren boolschen wert am anfang kann man noch eine ein-und ausschaltfunktion ohne probleme hinzufügen.
das wars
[edit=Luckie] Mfg, Luckie[/edit]
[edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit]
Leo S.