InKey()

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen

Allgemeines

Die Funktion InKey() liest die nächste Tastatur-Eingabe aus der Event-Queue und stellt diese mit ihrem DOS-/Clipper-kompatiblen Wert zur Verfügung.

Die Dokumentation zu Xbase++ enthält keine expliziten Aussagen zur Verwendbarkeit von InKey() in Programmen, die auf XbpDialog() basieren, meine Erfahrung besagt jedoch, dass der Einsatz von InKey() in solchen Programmen zu einem "Hängen" des Programms führt.

InKey() und die verwandten Funktionen sollten daher nur eingesetzt werden, wenn Kompatibilität zu Clipper zwingend erforderlich ist.

Ansonsten übernimmt die Funktion AppEvent() diese Aufgabe, wobei AppEvent() neben Tastatur- auch Maus-Eingaben sowie weitere Events bereitstellt.


Syntax

InKey( [nSeconds] ) --> nKeyCode


Parameter

<nSeconds> gibt als optionaler Parameter an, wie viele Sekunden gewartet werden soll, bevor der Funktionsaufruf abgebrochen wird.


Rückgabewert

nKeyCode ist ein Wert im Bereich von -47 bis 422 und entspricht den unter DOS bzw. Clipper üblichen Werten.

Der Wert 0 signalisiert, dass keine Tastatureingabe zur Verfügung stand, bzw. die Wartezeit abgelaufen ist, ohne dass eine Tastatureingabe erfolgte.


Querverweise

Kategorie: Ereignisfunktionen

LastKey()

NextKey()


benötigte DLLs bzw. Include-Dateien

InKey.ch

XppRt1.DLL


Anwendungsbeispiel

nKey := 0
WHILE nKey <> K_ESC
   // hier geschieht irgendetwas, meist ein Wunder
   nKey := InKey()
NEXT

Diese Schleife wird solange durchlaufen, bis der Anwender die Taste ESC drückt oder durch das Programm das Drücken dieser Taste simuliert wird.