Defaultwert bei Eingabe (stdin)



  • Hallo,

    ich weiß grad nicht, wie ich's am besten beschreiben, aber ich frage mich, wie ich einen Standardwert bei einer Eingabe in der Konsole (stdin) hinschreiben lasse.

    Biespiel:

    Bitte geben Sie einen Wert ein: 23

    dann möchte ich z.B. zweimal Backspace drücken können, um den neuen Wert zu setzen, oder einfach nur Enter drücken.

    Wie macht man so etwas?

    Überhaupt: Wie macht man eine "Progressbar" auf der Konsole, oder eine Prozentzahl, die ständig aktualisiert wird, ohne dass der komplette Konsolebildschirm neu gezeichnet werden muss.

    Danke und Gruß



  • mcspam schrieb:

    Überhaupt: Wie macht man eine "Progressbar" auf der Konsole, oder eine Prozentzahl, die ständig aktualisiert wird, ohne dass der komplette Konsolebildschirm neu gezeichnet werden muss.

    Indem man ganz einfach den Cursor versetzt bevor man schreibt ;). Wie man das macht, findest du in der Konsolen-FAQ.

    Für deine Eingabe müsstest du dir selber eine Funktion schreiben. In dieser müsstest du jedes Zeichen einzeln eingeben lassen und die Eingabe auswerten (z. B. hat der User auf Backspace (nach links löschen) gedrückt? Oder hat er ENTER gedrückt?). Und ein paar Logik- und Sicherheitsabfragen gehören natürlich auch noch rein, z. B. sollte nicht gemacht werden, wenn der User ganz am Anfang der Eingabe steht und Backspace drückt oder es darf nicht über den reservierten Speicher der Variable, in der die Eingabe stehen soll, geschrieben werden.


Anmelden zum Antworten