Letzte Eingabe auf dem Bildschirm löschen!!!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Letzte Eingabe auf dem Bildschirm löschen!!!

    Hallo!

    Meine Frage ist recht simpel. Wie kann ich einen Wert (Zeichen) der vom Benutzer eingegeben wurde und auf dem Bilschrim steht, wieder löschen?

    Es handelt sich dabei um das Einlesen einer Dualzahl. Hier der bisherige Code:

    Quellcode

    1. char dual_in[32], input='\0';
    2. int i=0;
    3. /* Einlesen der Dualzahl */
    4. for(i=0; (input != '\r') && (i < 31); )
    5. {
    6. input = getch();
    7. if(input == '0' || input == '1')
    8. {
    9. printf("%c", input);
    10. dual_in[i] = input;
    11. i++;
    12. }
    13. else if(input == '\b')
    14. {
    15. /* hier fehlt mir das Löschen auf dem Bildschirm */
    16. i--;
    17. }
    18. }
    Alles anzeigen


    Bin für jede Anregung offen und auch für andere Verbesserungsvorschläge natürlich auch ;)
    ~ rock on ~
  • Nur die letzte Eingabe vom Benutzer!

    Ich lese ja jede Eingabe seperat mit getch ein. Wenn es eine 1 oder 0 ist, schreibt er sie auf den Bildschirm und in meine Zeichenkette.
    Falls er sich mal vertippen sollte, soll er mit jeder Eingabe von '\b' nur das letzte Zeichen löschen können, so wie in Word oder hier beim schreiben von Texten halt es auch passiert
    ~ rock on ~
  • Problem erkannt, Gefahr gebannt ;)

    So, sieht zwar nicht ganz so schön aus, aber dürfte seinen Zweck erfüllen.
    Wenn einer noch etwas "Kompakteres" oder "Eleganteres" kennt, bitte posten!!!

    Quellcode

    1. char dual_in[32], input='\0';
    2. int i=0;
    3. /* Einlesen der Dualzahl */
    4. for(i=0; (input != '\r') && (i < 31); )
    5. {
    6. input = getch();
    7. if(input == '0' || input == '1')
    8. {
    9. printf("%c", input);
    10. dual_in[i] = input;
    11. i++;
    12. }
    13. else if(input == '\b' && i > 0)
    14. {
    15. printf("%c%c%c", input, '\x20', '\b');
    16. i--;
    17. }
    18. }
    Alles anzeigen
    ~ rock on ~