Register
keycheck
Die Tastatur wird gecheckt. Wurde [Esc] gedrückt, kommt die Frage: "Abbruch? j/n"
(Wurde nicht [Esc] gedrückt, passiert gar nichts)
Anschließend kann man mit if yes ... bzw. if no ... angeben, was passieren soll, wenn der Nutzer [Ja] bzw. [Nein] geantwortet hat.
Das Programm macht nicht weiter, solange nicht mit [Ja] oder [Nein] geantwortet wurde.
keycheck x
Die Tastatur wird gecheckt; wurde eine Taste gedrückt, wird das Zeichen in die iV kopiert.
Anschließend kann man mit if yes ... checken, ob eine Taste gedrückt wurde. Mit if "a" ... kann man testen, ob der Buchstabe 'a' gedrückt wurde.
Hinweis:
Einbau solcher Befehle in Schleifen empfiehlt sich in jedem Fall, wenn es sein kann, daß die Schleife sehr lange laufen wird. Siehe FLEX-Datei ftr.flx (Volltextsuche per FLEX).
Dieser Befehl ist NUR in Schleifen sinnvoll, denn das Programm hält nicht an, um auf eine Taste zu warten! Angehalten wird nur im ersten Fall, wenn also zu dem Zeitpunkt gerade eine Taste gedrückt wurde, wenn der Befehl erreicht wird.
Nebeneffekt dieses Befehls (erwünscht): Das Hauptfenster wird regelmäßig von Windows aus erneuert, während es sonst während des Schleifen-Ablaufs u.U. nicht aktualisiert wird.
Beispiel 1:
Man hat eine Schleife programmiert und will es innerhalb der Schleife dem Nutzer ermöglichen, diese abzubrechen. Sinnvoll ist das natürlich, wenn sehr große Ergebnismengen zu verarbeiten sind, oder gar die gesamte Datenbank.
:schleife
... Befehle
keycheck
Wurde [Esc] gedrückt? Wenn ja und Nachfrage mit ja beantwortet, dann -> :exit
if yes jump exit
... weitere Befehle
jump schleife
:exit
... Hier geht's nach dem Abbruch weiter
Beispiel 2:
Das Programm soll warten, bis der Nutzer a oder b gedrückt hat. Bei x soll das Programm enden.
:schleife
var ""
keycheck x
Wurde eine Taste gedrückt?
if "a" jump aktion-a
if "b" jump aktion-b
if "x" end
... weitere Befehle
jump schleife
:aktion-a
... Hier geht's nach Druck auf 'a' weiter
...
:aktion-b
... Hier geht's nach Druck auf 'b' weiter
...