Autor | Thema: waitinput | | Datum:23.07.02 19:51 
(andreas.spelter@t-online.de) | |
Moin moin,
das nächste Problem in meinen Terminalprogramm.
Jetzt habe ich eine Hauptschleife in der eine Reihe
case menuitem(xxx) : prozedur xyz
sind, über
inkey$()
die Tastatur nach zu sendenden Zeichen abgefragt wird und in jedem Durchlauf auch ein Zeichen von der seriellen Schnittstelle abgeholt wird.
Soweit funktioniert das auch, aber irgendwie scheine ich in dieser Hauptschleife ein WAITINPUT zu brauchen was gleichzeitig aber auch stört.
Also ich brauche es anscheinend weil ohne diese Pause jeder Menüpunkt den ich mit der Maus anwähle sonst ca. 20 bis 30 mal ausgeführt wird. Wenn ich dieses WAITINPUT aber drin habe wird meine Schleife nicht mehr ununterbrochen durchlaufen was sich darin äußert, daß nur ein Zeichen von der Schnittstelle geholt wird wenn ich auch eines auf der Tastatur eingebe. Wenn ich das WAITINPUT aus der Hauptschleife raus nehme und in die Menü-Prozeduren reinschreibe wird diese zwar nur noch einmal ausgeführt, nach jedem Prozedur-Aufruf das erste über die Tastatur eingegeben Zeichen aber verschluckt (scheinbar für das WAITINPUT verbraucht)
Wie kann ich also sicherstellen, daß jede Prozedur für jeden Mausklick auch nur einmal ausgeführt wird ohne die Hauptschleife anzuhalten?
Viele Grüße
Andreas Spelter
|
| | Datum:23.07.02 21:11 
(joerse@gmx.de) | |
Hallo Andreas,
Hiermit wird jede Millisekunde das Waitinput verlassen und irgendwelche
Aktionen können durchgeführt werden:
Cls
SetTimer 1
Whilenot ende%
Waitinput
If %wmtimer
Else ...
Endif
Wend
Killtimer
Gruß
Jörg
|
| |
|