ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
1464
1464
EMPFEHLEN
-
05.02.05 14:19 #1webraccoon Tutorials.de Gastzugang
Hallo Forum,
ich suche schon eine geraume Zeit nach einer Möglichkeit eine Schleife laufen zu lassen, etwa für eine Stoppuhr-Funktion und diese auf Tastendruck anhalten zu lassen.
Mit getchar() oder getch() habe ich das Probiert, hier wird die Schleife zwar gestartet, aber
auch erste weitergeführt, wenn eine Taste gedrückt wird.
Jemand eine Idee
gruss
webraccoon
-
Hi ...
ich weiß nicht wie man das gut lösen kann für eine Beliebige Taste.
Aber du kannst es mit GetKeyState für eine Taste realisieren.
z.b.
Code :1 2 3 4 5
//zählschleife for(int i=0;GetKeyState(VK_RETURN) != TRUE;i++) { ... }
dies würde i so lange erhöhn bis du irgendwann die Enter-Taste drückst ... vorrausgesetzt ich habe GetKeyState richtig angewandt, aber kannst ja mal in der MSDN schaun.
Gruß
Shai
-
05.02.05 15:03 #3webraccoon Tutorials.de Gastzugang
hmm,
ist auf jedenfall ein Anfang. Kannst Du mir auch sagen welche header ich einbinden mus
gruss
webraccoon
-
05.02.05 15:17 #4
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Oder so:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
#include <stdio.h> #include <stdlib.h> int main() { while(!_kbhit()) { // mache etwas } return 0; }
mfg
umbrasaxum
-
05.02.05 15:29 #5webraccoon Tutorials.de Gastzugang
hi,
ja danke, das funktioniert. Ich habe !kbhit versucht. Was bedeutet der Unterstrich davor?
Eine Frage habe ich noch und vielleicht kannst Du sie mir beantworten:
Ich möchte das Programm mit Ctrl-C verlassen. Kannst Du mir verraten wie ich diese Kombination abfrage?
gruss
webraccoon
-
05.02.05 15:34 #6
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ja was bedeutet der Unterstrich davor?! Gute Frage, der gehört aufjedenfall zu kbhit und es wurde halt so gemacht...
Solche Kombinationen fragst du am besten mit GetKeyState ab wie Shaijan das schon beschrieben hat, selber kann ich dir weiter ncihts dazu sagen da ich die Funktion noch nie Benutzt hab.
mfg
umbrasaxum
-
Code :
1 2 3 4 5 6 7
int wertA = GetAsyncKeyState(VK_RETURN); if(wertA!=0){ Taste Gedrückt }else{ Taste nicht gedrückt }
bzw. für die stoppuhr:
Code :1 2 3 4 5 6 7 8 9 10
int wertA; while(wertA == 0){ wertA = GetAsyncKeyState(VK_RETURN); Timer Funktion ausführen(+1 Sekunde) ::Sleep(1000); }
--> int wertA = GetAsyncKeyState(VK_RETURN);
Hier steht in der Klammer welche Taste "überwacht" werden soll hier im Beispiel ist es die "Return" Taste, wenn sie gedrückt ist gibt sie glaub ich einen negativen Wert zurück, aber bin mir da momentan nicht ganz sicher aber auf jedenfall ist der Wert dann ungleich 0...
ne genaue Auflistung der Einzelnen Tasten findest du unter:
http://msdn.microsoft.com/library/de...alKeyCodes.asp
Ich seh grad dass du die C Taste mit einbauen willst, die könnte man eventuell so abfragen:
GetAsyncKeyState(0x43);Geändert von Flo@pg (07.02.05 um 02:14 Uhr)
-
07.02.05 06:25 #8webraccoon Tutorials.de Gastzugang
hey,
ja danke genau sowas hat mir gefehlt.
Hatte eine "Aktion" mit kbhit abgefragt, ist auch ganz gut für einfache Verhältnisse aber nach einigen praktischen Anwendungen, hat sich gezeigt, daß es doch besser ist, wenn man eine bestimmte Taste drückt.
Gruss
webraccoon
Ähnliche Themen
-
while-Schleife anhalten
Von 18LetterLongName im Forum JavaAntworten: 2Letzter Beitrag: 12.02.10, 14:52 -
Programm anhalten
Von Schneidoa im Forum JavaAntworten: 2Letzter Beitrag: 05.09.06, 22:46 -
Threads anhalten und wiederbeleben
Von bspainkf36 im Forum JavaAntworten: 3Letzter Beitrag: 13.08.05, 12:45 -
EndlosSchleife per (zB.:esc) anhalten?
Von vaporizer im Forum JavaAntworten: 1Letzter Beitrag: 02.03.04, 02:06 -
AS funktion anhalten
Von PIUPIUPIUPIU im Forum Flash PlattformAntworten: 6Letzter Beitrag: 24.02.04, 19:57





Zitieren
Login






