Entwickler-Ecke
Sonstiges (Delphi) - "Aktionsliste"
Hendrik - Mi 23.10.02 19:05
Titel: "Aktionsliste"
Hallo
Ich habe vor in einem Programm eine Liste einzufügen, in der steht, dass das Programm zu einem bestimmten Zeitpunkt eine Aktion ausführen soll. Z.B. um 13:23 showmessage('Beispiel');
Und während der Laufzeit sollen weitere Befehle hinzukommen. Versteht Ihr was ich meine??
Habt Ihr da Tipps wie ich sowas machen kann oder gibts dafür sogar ne Kompo?
FriFra - Mi 23.10.02 21:59
Dafür kannst Du z.B. eine ListView nehmen. Du kannst dort mehrere Spalten anlegen wo Du div. Parameter ablegen kannst (z.B: Zeit,Aktion, sonstige Parameter). Anschliessend prüfst Du in einem festen Intervall (Timer) alle Zeilen der ListView ob die Aktion "fällig" ist und führst sie ggf. aus.
Natürlich kannst Du in der Liste keinen Pascal-Code ablegen. Du musst Dir schon überlegen was Dein Programm genau können soll, dann kannst Du dir ja eigene "Befehle" (Auswahl z.B. über Listbox) anlegen welche Du dann entspr. Interprätierst.
Hendrik - Do 24.10.02 16:03
So habe ich mir das auch schon gedacht, nur habe ich da noch das Problem, wie ich das am besten Lösen kann mit der Zeit.
Ich weis nämlich nett wie ich z.B. zu der aktuellen Zeit die gewünschte Zeit hinzufüge.
Tino - Do 24.10.02 17:23
Hendrik hat folgendes geschrieben: |
Ich weis nämlich nett wie ich z.B. zu der aktuellen Zeit die gewünschte Zeit hinzufüge. |
Das ist doch für Dein Programm gar nicht notwendig.
Du kannst doch (wie FirFra schon geschrieben hat) einen Timer benutzen der z. B. alle 30 Sekunden prüft ob eine Aktion fällig ist. Das Prüfen besteht doch eigentlich nur darin die aktuelle Zeit mit der gespeicherten Zeit zu vergleichen.
Gruß
TINO
CenBells - Do 24.10.02 17:23
also, die zeit komponente in TDatetime ...
TDatetime 0 = 31.12.1899 0 uhr
wenn du nun minuten hinzufügen willsst, musst du 1 / 1440 teilen und addieren dann hast eine minute dazuaddiert und so weiter und so fort
Bsp
Quelltext
1: 2: 3: 4: 5:
| var LDate: TDateTime begin LDate := LDate + (1/1440); end; |
Gruß
Ken
Hendrik - Fr 25.10.02 15:32
Mir ist eben noch ne Idee gekommen:
Ich setzte z.B. beim Timer den Intervall z.B. auf 30000 und mache ein Feld in dem ich z.B. die Zahl 20 eintrage. In diesem Feld zieht dann der Timer jedesmal 1 ab, wenn der Wert dann 0 ist wird die Anweisung ausgeführt und der Eintrag gelöscht..
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!