Eingabemasken erzeugen????



  • Ich möchte in einer Konsolenanwendung eine Eingabemaske erzeugen, in der ich per Pfeiltasten und Tab zwischen den Feldern springen kann und die gesamte Eingabe nur einmal besätigen muss.
    Die Aufgabe stammt aus einen Projekt für eine Büchereiverwaltung. Der Teil des Projektes ist für die Eingabe eines neuen Kunden gedacht.

    Ich habe leider absolut keine Idee wie ich das machen kann.



  • Du kannst per getch() die Steuerung übernehmen und die Cursortasten auswerten um deine Position festzustellen. Anhand der aktuellen Position bestimmst du dann, wo du die neuen Eingaben einfügst/ersetzt.

    (und per gotoxy() kann dein Cursor den Bewegungen folgen)

    PS: In der Konsolen-FAQ steht auch genauer drin, wie du die Steuertasten abfragst.



  • ...aber wie kann ich die Felder zeichnen? Man soll also auch sehen, das dieses Feld ein Eingabefeld seien soll



  • Du könntest mit den Farbeinstellungen der Konsole basteln, um die Eingabefelder als Leerzeichen mit grauem Hintergrund zu schreiben. (zum Thema Farben gibt es schon ein paar Themen hier)

    PS - noch ein Tip: Improved Console 😉



  • "'Improved' console" ist nicht so gut geeignet für dein Vorhaben und obendrein auch noch völlig unportabel. Was du suchst ist ncurses.
    Falls du den M-Compiler verwendest, würde ich dir dringend anraten besser MinGW oder Cygwin zu verwenden, da der M-Comiler leider nicht POSIX-kompatibel ist.



  • Ich hab noch keinen gesehen der für die *Win32*-Konsole nicht die WinAPI sondern ncurses als "besser" ausgewählt hat 😕

    MfG SideWinder



  • Eventuell findet sich ja mal jemand, der eine C++ Version von Turbo Vision zusammenschraubt 😉 Damit könntest du dann wirklich elegant deine Eingabmaske erzeugen und ansteuern.



  • CStoll schrieb:

    Eventuell findet sich ja mal jemand, der eine C++ Version von Turbo Vision zusammenschraubt 😉 Damit könntest du dann wirklich elegant deine Eingabmaske erzeugen und ansteuern.

    Das war doch Teil von Turbo Pascal 7, oder?

    Turbo Pascal war, was Konsolenanwendungen anging, sowieso um Klassen geiler als
    alle anderen Sprachen, weil es Befehle gab, um den Cursor an eine bestimmte Stelle zu bewegen, die Farbe zu wechseln, etc.



  • Sid2K6 schrieb:

    CStoll schrieb:

    Eventuell findet sich ja mal jemand, der eine C++ Version von Turbo Vision zusammenschraubt 😉 Damit könntest du dann wirklich elegant deine Eingabmaske erzeugen und ansteuern.

    Das war doch Teil von Turbo Pascal 7, oder?

    Ja, genau das meinte ich 😉

    Turbo Pascal war, was Konsolenanwendungen anging, sowieso um Klassen geiler als alle anderen Sprachen, weil es Befehle gab, um den Cursor an eine bestimmte Stelle zu bewegen, die Farbe zu wechseln, etc.

    Solange du dich nicht auf den ANSI Standard beschränken mußt, kannst du das alles auch in C(++) bewerkstelligen (Stichworte: Improved Console, ncurses, Escape-Sequenzen,...).



  • SideWinder schrieb:

    Ich hab noch keinen gesehen der für die *Win32*-Konsole nicht die WinAPI sondern ncurses als "besser" ausgewählt hat 😕

    Hallo! Erde an SideWinder! Es geht hier um das Erstellen von Eingabemasken. Und dafür ist die WINAPI oder IC eben nicht annähernd so gut geeignet wie ncurses. Egal ob auf Win32, Linux, Solaris, BSD oder sonstwo.


Anmelden zum Antworten