![]() |
Delphi-Version: 2005
Mehrere Zeitabfragen im Timer, wie?
Hallo,
kann man in einem Timer mehrere Zeitabgleiche machen? Nehmen wir an ich habe eine Listbox mit mehreren Items: 13:50 Blabla 13:50 Herd ausschalten 13:52 Text 14:00 Text 15:33 Text 16:10 usw Ist zum Beispiel 13:50 erreicht, soll eine Meldung erscheinen. Wenn ich Items in ein dynamisches Array einlese, kann ich im Timer die Zeiten in einer Schleife abfragen? Oder gibt es eine Alternative zur Timer Komponenten? |
AW: Mehrere Zeitabfragen im Timer, wie?
Du kannst durch die Listbox durchsteppen mit Listbox.items[x]. Anzahl mit items.count.
Vielleicht hilft das. |
AW: Mehrere Zeitabfragen im Timer, wie?
Ich verstehe hier das Problem nicht so wirklich muss ich gestehen. Um die konkrete Frage zu beantworten: Ja, man kann natürlich im Timer-Event auch eine Schleife nutzen. Das hätte man aber auch ausprobieren können. Ich vermute hier aber eigentlich eine andere Fragestellung, nur leider fehlt diese und wir müssten raten.
|
AW: Mehrere Zeitabfragen im Timer, wie?
Zitat:
Delphi-Quellcode:
Gibt es da keinen besseren Ansatz?procedure TForm1.Timer1Timer(Sender: TObject); var aTime,bTime: TDateTime; str:string; begin aTime := Time; {Timerintervall ist 1000 Kann ich hier die gesamten Intems in einer Sekunde durchgehen?} for i := 0 to (Listbox1.count-1) do begin bTime:= TrimLeft(copy(Listbox1.Items[i],1,8)); //<- (13:50:00 Blabla) If aTime >= bTime then begin inc(iFlag); //<- global if iFlag = 1 then begin Label4.Caption:= Listbox1.items[i]; iFlag:=0; end; end; end; end; |
AW: Mehrere Zeitabfragen im Timer, wie?
Ja es gibt einen besseren Ansatz.
|
AW: Mehrere Zeitabfragen im Timer, wie?
![]() |
AW: Mehrere Zeitabfragen im Timer, wie?
Zitat:
Also das Formular soll nach dem Start in der Taskleiste liegen. Wenn in der Liste zum Beispiel '13:00 Putin wegen zu hohem Gaspreis anrufen' steht, soll ein Fenster oder eine MessageBox um 13:00 Uhr auf dem Desktop erscheinen und diese Meldung oder wenn es mehrere 13:00 Ereignisse gibt, diese anzeigen. |
AW: Mehrere Zeitabfragen im Timer, wie?
Zitat:
Delphi-Quellcode:
bTime:= StrtoTime(TrimLeft(copy(Listbox1.Items[i],1,8))); //<- (13:50:00 Blabla)
|
AW: Mehrere Zeitabfragen im Timer, wie?
Wenn du alle aktuellen Ereignisse abgearbeitet hast, dann könntest du auch einfach prüfen, wann das nächste Ereignis eintritt und das Timerintervall entsprechend setzen.
Gruß Olli |
AW: Mehrere Zeitabfragen im Timer, wie?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz