Abfrage eines Zeichens aus dem Konsoleninput ohne kurze Pause nach ersten Zeichen



  • beim einlessen der pfeiltasten ist die lösung von The Key besser als die von dir mikey da er überprüft ob es wirklich eine Pfeiltaste ist bei dir kommt dein programm mit den Pfeiltasten und PMKH glaub ich durcheinander (haben beide bei dir den gleichen zahlen wert) 😉
    und an The Key ich würd mir eine funktion basteln die genau das kann was du willst
    amein ansatz wäre der array denn ich oben genannt habe



  • Achso, das mit den Verwechslungen der anderen Tasten hatte ich garnicht berücksichtigt. Da ist die Lösung von 'The Key' natürlich wesentlich besser 😉



  • keiner ist perfekt^^
    ich nicht du nicht keiner 😉
    weil ich hatte eine ähnliche lösung wie du
    deswgen war die frage auch ohne pfusch 😉
    ich glaub wenn du anstatt de 224 die 0 nimmst kannst auch die pfeiltasten vom nummernblock rauslessen



  • Haben wir doch alle wieder was gelernt. 😉

    Das mit der Funktion basteln würd ich ja gerne machen oder auch das ganze in eine Klasse kapseln, aber wenn der Standard es nicht hergibt (wo ich eigentlich sagen muss, dass er dann den Namen Standard nicht verdient), dann müssen halt erstmal andere Funktionen her.

    mein ansatz wäre der array denn ich oben genannt habe

    Die Idee ist gut. Und mit der WinAPI-Funktion GetKeyboardState wäre das Problem eigentlich gelöst, aber genau diese Funktion geht nicht bzw. sie füllt das Array nicht ordentlich aus.



  • GAMES schrieb:

    ich glaub wenn du anstatt de 224 die 0 nimmst kannst auch die pfeiltasten vom nummernblock rauslessen

    Wir kennen uns nicht zufällig, GAMES?



  • kann schon sein 😉



  • sry für doppel post aber mir sind keine standet mittel und c/c++ bekannt
    ließt getch() nicht normalein zeichen aus dem Eingabepuffer (glaub das erste) dies macht er ja auch bei deinem cod nach dem kbhit() also müstest du doch so auch denn array füllen können



  • ließt getch() nicht normalein zeichen aus dem Eingabepuffer (glaub das erste) dies macht er ja auch bei deinem cod nach dem kbhit() also müstest du doch so auch denn array füllen können

    Stimmt schon, aber wenn ich mehrere Tasten gleichzeitig gedrückt halte, wird nur eine in den Buffer geschrieben (die letzte, die gedrückt wurde) und das ist Mist. Ich kann also nie rausfinden, welche Tasten gleichzeitig gedrückt gehalten werden.

    Ich hab gehört, dass das Ganze gehookt werden muss... Ich hab aber keine Ahnung wie.


Anmelden zum Antworten