In vielen Situationen hätte ich mir einen
Interupt-Timer gewünscht, der mir manches
Programm sehr erleichtert hätte.
Der Interrupt-Timer ist ein Interner Timer
in Profan, der alle x Secunden aufgerufen
wird und eine dort angegebee Procedure
ausführt. Hmm, klinkt kompliziert, daher
versuche ich das mal anhand eines einfachen!!!
Beispiels:
'Profan demoprogramm für Interupt Timer
'(wenn es diese Funktion giebt)
CLS
DECLARE a%, b%, c%, a$, b$, c$, ende%
a% = CreateText(%hwnd,"",5,5,100,19)
Proc interrupttimer
SetText a%,time$(0)
Seterrupt 0 'NEU
EndProc
SetInterruptTimer "interrupttimer", 5 'NEU
'.... weiterer Programmcode
While ende% = 1
' ..... Code ....
Wend
End
' -------------
Ok, der Code macht so keinen sinn, mann hätte
das auch in der While Schleife mit SetTimer
und KillTimer lösen können, nur wenn man
hier eine Zeitgesteurte Überwachung auf ein
Ereigniss prüfen möchte, egal, was der
Anwender gerde macht, bzw. in welchen
Unterprogrammzweig er sich gerade befindet,
müste man in JEDEM Unterprogramm in JEDER
Schleife immer prüfen, ob ein Ererigniss,
eingetroffen ist, zb. es sind 10 Min. Vergangen,
bei einer Prüfung geht das noch relativ schnell,
sind es aber mal mehr, wird das Programm selber
sehr langsamm.
Der Interrupt Timer ruft hier nun alle 5 ! Sec,
die angegebene Procedure auf, die dann mit
EndProc verlassen wird, wichtig dabei wäre,
das der neue Beginn der Interrutzeit erst
dann neu gezählt wird, wenn das Ende von
Endproc Erreicht ist. Es wurde hier mal
ein SETINTERRUPT zeit in der Proc eingeführt,
wo quasi die Zeit wieder auf NULL gesetzt
wird. und der Interne Zähler Quasi wieder
von 0 !! an beginnt zu zählen. Denkbar wäre
so auch ein Variabelen Interrupt zu haben,
und bei einer Zeitspanne von 60 Secunden so
bei 0 oder 30 Secunden anzufangen.
Wie gesagt, ist nur ein Vorschalg, auch in
hinsicht auf die neen Befehlsnamen ...
|