Register 

Zeitfunktionen

 

sleep n      acon

n  Millisekunden untätig verharren, bevor weitergemacht wird.

Für 3 Sekunden muß man also schreiben: sleep 3000

Wichtig: Der Rechner wird hierdurch nicht lahmgelegt, d.h. man kann in anderen Fenstern (außerhalb a99) weiterarbeiten.

Nutzbar z.B., wenn man eine Folge von Hilfeseiten abrollen lassen will. Das kann durch eingestreute  yesno -Befehle noch flexibilisiert werden:

help name1\sleep 4000\yesno Weiter?\if no end\

help name2\sleep 4000...

 

Von der Sache her etwas Anderes ist der folgende Befehl. Damit kann man periodische Aktionen veranlassen.

slice n=mFLEX

Zeitüberwachung: Eine Zeitscheibe von n Millisekunden wird als Timer gesetzt.

Es hängt vom Modus m ab, was dann passiert:

m=i : "immer wieder" - Alle n Millisekunden wird FLEX ausgeführt.

m=1 : "1-mal" - Nach  n Millisekunden wird FLEX ausgeführt, aber nur dieses eine mal

m=0 : der Timer (der irgenwann vorher gesetzt wurde) wird gelöscht, d.h. deaktiviert.

                               In diesem Fall kommt es auf die Zahl n nicht an, man kann also schreiben  slice 0=0.

FLEX muß mit "x " oder "X " beginnen, wie sonst auch. Wenn "x ", dann müssen die Befehle direkt folgen, getrennt durch \\ .

                Steht hinter slice nichts, wird der Inhalt der iV genommen.

                Es kann nur einen Timer geben! Jeder erneute Befehl ersetzt den ersten.

 

Beispiel 1:  LOG-Datei überwachen

Die Datei   logcheck.flx   zeigt, wie es geht: Es wird geprüft, ob sich (seit der letzten Ausführung) die Größe der LOG-Datei verändert hat. Wenn ja, wird eine Meldung angezeigt.

Start: nicht direkt, sondern mit dem Befehl  slice, z.B. so:

 

slice 20000=iX logcheck

 

Dann findet die Prüfung alle 20 Sekunden statt.

 

Beispiel 2:  Timeout-Funktion

Die Datei  timeout.flx  zeigt, wie man eine Timeout-Funktion installieren kann (automatische Beendigung des Programms nach einer einstellbaren Zeit)

Start: nicht direkt, sondern mit dem Befehl slice, am besten eingebaut in _start.flx

 

slice 360000=iX timeout

 

Dann wird alle 6 Minuten (= 360 Sekunden) geprüft, ob der Nutzer inzwischen etwas getan hat. Er hat dann die Möglichkeit, mit Esc-Taste den Rauswurf noch zu verhindern.