Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: waitinput
Andreas Spelter
Datum:23.07.02 19:51 Antwortenals Email verschicken (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


Jörg Sellmeyer
Datum:23.07.02 21:11 Antwortenals Email verschicken (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


Andreas Spelter
Datum: 24.07.02 12:40 Antwortenals Email verschicken (andreas.spelter@t-online.de) 


Moin Jörg,

das funktioniert bestens, dank.

Viele Grüße
Andreas Spelter


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain