Hallo,
ich bin es wieder.
Ich habe damals in CLipper über KEYBOARD CHR(27) die ESC Taste simuliert um einen kontrollierten Abbruch zu provozieren. Danach wurde mit :
KEYBOARD CHR(0)
INKEY(0)
der Tastaturpuffer wieder geleert. Das geht natürlich jetzt unter Xbase++ nicht mehr. Ich brauche diese Möglichkeit aber noch. Wie bekomme ich den Tastaturpuffer leer, sodaß kein Lastkey() von 27 mehr geliefert wird? Ich habe schon etliches ausprobiert, aber ich bekomme dieses ESC nicht wieder weg.
Hat jemand eine Idee?
Gruß
Manfred
KEYBOARD und Lastkey()
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
so,
ich habe erstmal eine Ersatzlösung gefunden.
ReadKill() klappt erst einmal. (sieht jedenfalls so aus)
Ich hatte keine bessere Lösung für eine Zwangsbeendung einer tieferen Ebene gefunden, als ESC in den Buffer zu schreiben und dann wieder über KEYBOARD CHR(0) und INKEY(0) zu löschen, damit das vorhergehende READ, innerhalb dessen die Funktion aufgerufen wurde, nicht auch beendet wird.
In diesem Fall war es aber so, dass READ zwar beendet werden sollte, aber die Rückgabe der Funktion einen gefundenen Wert an das GET übergibt, mit dem dann wieder gesucht werden soll. Jaja, hört sich kompliziert an.
Naja, wie oben erwähnt, mit READKILL() klappt es auch.
Manchmal hilft es statt im Index, über Suchen in der XBase++ Doku zu wühlen.
bis demnächst
Manfred
PS: Sollte trotzdem noch jemand eine Idee anderer Art dafür haben, meine Ohren sind offen dafür
ich habe erstmal eine Ersatzlösung gefunden.
ReadKill() klappt erst einmal. (sieht jedenfalls so aus)
Ich hatte keine bessere Lösung für eine Zwangsbeendung einer tieferen Ebene gefunden, als ESC in den Buffer zu schreiben und dann wieder über KEYBOARD CHR(0) und INKEY(0) zu löschen, damit das vorhergehende READ, innerhalb dessen die Funktion aufgerufen wurde, nicht auch beendet wird.
In diesem Fall war es aber so, dass READ zwar beendet werden sollte, aber die Rückgabe der Funktion einen gefundenen Wert an das GET übergibt, mit dem dann wieder gesucht werden soll. Jaja, hört sich kompliziert an.
Naja, wie oben erwähnt, mit READKILL() klappt es auch.
Manchmal hilft es statt im Index, über Suchen in der XBase++ Doku zu wühlen.
bis demnächst
Manfred
PS: Sollte trotzdem noch jemand eine Idee anderer Art dafür haben, meine Ohren sind offen dafür