Entwickler-Ecke

Sonstiges (Delphi) - dauer einer prozedure festlegen


thorstenf01 - Mi 23.07.03 15:30
Titel: dauer einer prozedure festlegen
Hallo,

kennt jemand ein Beispielprogramm, daß nach Eingabe (Edit) einer Uhrzeit (Beginn) eine Prozedur (Schnittstellenabfrage) startet und durch Eingabe (Edit) einer weiteren Uhrzeit (Beenden) die Prozedur beenden lässt?

Die Uhrzeit müsste mit der 'Echtzeit' verbunden sein

Gruß
TF


Klabautermann - Mi 23.07.03 15:43

Hallo,

ich verstehe deine Frage nicht ganz, beschreibe doch bitte mal die Anwendung. Aber eine Forderung nach "echtzeit" kann prinzipiell nicht erfüllt werden, da Windows kein Echtzeitbetriebsystem ist.

Gruß
Klabautermann


thorstenf01 - Mi 23.07.03 15:52
Titel: dauer einer prozedure festlegen
Hy,

der Anwender soll nach dem compilieren eine Startzeit und eine Endzeit festlegen, dieses mit einem Button bestätigen, danach soll die eingegebene Zeit mit der aktuellen Uhrzeit verglichen werden und die Prozedur (Schnittstellenabfrage) ein- und wieder ausgeschaltet werden können.

Gruß
TF


kurzer - Mi 23.07.03 16:03

Naja .. Du könntest einen Timer dazu verwenden, der dann die Prozedur startet und eine globale variable boolean done auf false setzt. Dann kommt wieder der Timer, der dann zur beendigungs Zeit die globale variable done auf true setzt.
Deine Prozedur bräuchte dann sowas wie eine while-schleife, die guckt, ob done auf true steht, die schleife dann verlaesst und somit auch die Prozedur.


Klabautermann - Mi 23.07.03 16:20

Hallo,

ich sehe das ähnlich wie der kurze. du könntest die verarbeitende Procedure in einen Eigenen Thread mit sehr hoher Priorität verlegen, um zu sichern, das die Schnittstellenabfrage möglichst oft gemacht wird (die gehe mal davon aus, das du Messdaten erfassen willst). Der Timer erzeugt dann diesen Tread wenn die Startzeit erreicht wird und terminiert ihn wieder wenn die Entzeit überschritten wurde. Im Thread läft dann tatsächlich eine Schleife.
Echtzeit kriterien wirst du damit wahrscheinlich auch nciht erreichn, aber du solltest recht viele Daten erfassen können.

Gruß
Klabautermann


kurzer - Do 24.07.03 11:43

Wenn er die Uhrzeit eingeben will, denke ich mir mal, dass Echtzeit nun wirklich übertrieben ist. Wenn es mit der Sekunde in etwa übereinstimmt, sollte das reichen.
Wenn es jedoch tatsächlich um das Erfassen von irgendwelchen Messdaten geht, sollte man es genau so machen, wie Klabautermann es beschreiben hat.