Wenn Taste gedrückt wurde ..
-
dann macht das Programm etwas ^^
also zbsp.
if(EINGABE == VK_F10) { exit(0); }
wie funktioniert das?
mfg
-
WinAPI/SDL/...
-
langeweile schrieb:
WinAPI/SDL/...
Ne soll nur für konsolenprogramm sein, also winapi is noch ok,am besten aber betriebssystemunabhängig wenns geht
also soll nur für konsolenprogramm gehen
-
a) Es soll auf die Eingabe einer Taste gewartet werden
b) Du willst nachsehen ob zum Zeitpunkt der Prüfung eine bestimmte Taste gedrückt war, und nur diesen Fall behandeln, ansonsten mit der Ausführung fortfahren?
MfG SideWinder
-
kbhit?
getch?
-
SideWinder schrieb:
a) Es soll auf die Eingabe einer Taste gewartet werden
b) Du willst nachsehen ob zum Zeitpunkt der Prüfung eine bestimmte Taste gedrückt war, und nur diesen Fall behandeln, ansonsten mit der Ausführung fortfahren?
MfG SideWinder
b
Ich will also mit einer IF-Anweisung prüfen, ob zbsp. Escape gedrückt wurde, aber kA wie man eine Taste abfragt ob sie gedrückt wurde
Den Rest kann ich dann schon selbstständig^^
Ein kleiner Code würde mir reichenMfg
-
#include<conio.h>
#include<iostream.h>int main()
{
while(true)
{
if(kbhit() == 1)
{
if(getch() == 27)
{
printf("ESCAPE");
}
}
}
}
-
oPSA schrieb:
#include<conio.h>
#include<iostream.h>int main()
{
while(true)
{
if(kbhit() == 1)
{
if(getch() == 27)
{
printf("ESCAPE");
}
}
}
}danke,das hab ich gesucht
nur wie finde ich heraus, welche Taste welchen Index hat?
also 27 == Escape
28 == ...mfg
-
kA
Nein Spass.
Müsste eigentlich in iostream irgentwo stehen glaub ich. Weiß es nicht.
Auf jedenfall kriegst dus so raus:int main
{
int x;
x = getch();
cout<<x;
getch();
}am besten das noch mit ner schleife machen.
-
ok danke
Kann ich noch bitte fragen, wer du als registrierter Benutzer bist?
Dann weiß ich wer so einen schnellen Support gibt
-
Wenn ich registriert wäre.:D
War zufällig da, wegen meiner eigenen Anfrage.
-
Langweile omg .. ^^
-
.MoH schrieb:
Langweile omg .. ^^
Ja?
b2t:
Lad dir die Tabelle hier:
http://rapidshare.com/files/50828008/vk_code.pdf.html
-
das problem is nur,dass schon vor der ausgabe("Gib deinen Namen ein:") die Funktion getch zum einsatz komm.. sie wartet ja auf ne eingabe und wenns 27 is, bekommt der benutzer die nachricht "Hallo".
//alle bibliotheken usw.. //namespace int main() { // Variablen while(true) { if(getch() == 27) { cout << "Hallo" << flush; continue; } cout << "Gib deinen Namen ein: "; cin >> name; cout << "\n" << "Alter: "; cin >> alter; } }
Es sollt so ausschauen:
1. Gib deinen Namen ein: 2. Eingabe vom Benutzer, ENTER 3. Alter: 4. Wenn hier ESC gedrückt wurde, dann wird [i]Hallo[/i] ausgegeben + continue; 5. Gib deinen Namen ein: 6. Eingabe vom Benutzer ... 7. Alter: ....
usw... also egal wo wenn ESC gedrückt wird, wird die schleife wiederholt.
aber wie geht das?
mfg
-
helft mir pls
-
Na, gut.
Ich glaub man kann dies gar nicht mit cin machen, da ja hier das Programm stillsteht und auf eine Eingabe wartet.
Außer mit Multithreading. Aber egal.
Ich würd mir halt mein eigenes cin schreiben und es so machn:int main() { // Variablen cout << "Gib deinen Namen ein: "; while(true) { if(kbhit() == 1) { char a; int x; x = getch(); a = x; if(x == 27) { cout << "Hallo" << flush; continue; } cout<<a; } } }
Natürlich fehlt hier noch, dass bei Enter der Vorname abgeschlossen ist und man zum Alter kommt, sowie Backspace. Aber ich kann ja nicht alles schreiben.