Hai kronos89,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS".
Anstelle die Zeit immer mit
FormatDateTime zu bekommen und sie dann mit
StrToInt in eine Zahl zu wandeln solltest Du lieber mit
DecodeTime arbeiten. Das macht den Code leichter zu verstehen
Wenn Du dann noch die Funktionen zum setzen der Trackbars in eine eigene Procedure auslagerst ist eigentlich schon alles erledigt:
Delphi-Quellcode:
procedure SetTrackbars(a_tbhour, a_tbmin, a_tbsec: TTrackBar);
var
stunde: Word;
minute: Word;
sekunde: Word;
msekunde: Word;
begin
DecodeTime(now, stunde, minute, sekunde, msekunde);
a_tbhour.Position := stunde;
a_tbmin.Position := minute;
a_tbsec.Position := sekunde;
end;
procedure TDemo_Form.FormCreate(Sender: TObject);
begin
TrackBar1.Max := 24;
TrackBar2.Max := 60;
TrackBar3.Max := 60;
SetTrackbars(TrackBar1, TrackBar2, TrackBar3); // einmal beim programm start
Timer1.Interval := 250;
Timer1.Enabled := True;
end;
procedure TDemo_Form.Timer1Timer(Sender: TObject);
begin
SetTrackbars(TrackBar1, TrackBar2, TrackBar3); // im festgelegten Intervall die Trackbars aktualisieren.
end;
Nachtrag
Die Übergabe der Trackbars an die Procedure
SetTrackbars muss man natürich nicht machen. Man kann die TBs auch in der Procedure selber ansprechen. Aber ich wollte halt mal zeigen das man es auch so machen kann
Stephan B.
"Lasst den Gänsen ihre Füßchen"