Tastaturabfrage ohne! Enter

smallone

Mitglied
Hallo zusammen,

ich habe folgendes Problem:

in einer Endlosschleife frage ich den Status der Parallelportregister ab und Speichere die Sample-Werte zwischen.

Ich möchte nun zu einem beliebigen Zeitpunkt auf Knopfdruck eine Funktion aufrufen, die die gespeicherten Werte weiterverarbeitet.

cin.get() während der Endlosschleife geht leider nicht, da immer auf Enter gewartet wird.

Gibts eine andere Möglichkeit ?

Vielen Dank für Eure Tips !

Gruß BEN
 
moin


Ne ich glaub er meint das anders!
Ich glaube erwill das z.B. cin.get() übersprungen wird wenn keine Taste gedrückt wurde.

Das macht man so:
Code:
while(1)
{
     if(_kbhit())
          {
               // Tue irgendwas...
          }
}


mfg
umbrasaxum
 
moin


Man kann sich dann auch noch die gedrückte Taste holen:
Code:
while(1)
{
     if(_kbhit())
          {
              char taste = getch();
               // Tue irgendwas...
          }
}

Das getch() wartet nciht nochmal auf einen Tastendruck sondern holt sich die Taste durch die schon _kbhit() ausgelöst wurde.


mfg
umbrasaxum
 
Vielen Dank, umbrasaxum !

Genau so eine Funktion habe ich gesucht !

Falls man die gedrückte Taste nicht abfragt wie in deinem Beispiel, muß man den Eingabebuffer noch löschen, nachdem man die gewünschte Funktion ausgeführt hat. Also in diesem Fall noch noch ein

_getch();

am Ende einfügen ;-)


Danke, Gruß BEN
 
Zurück