Table mit Auswahl und Verschieben



  • Hallo zusammen,

    ich suche ein Script oder Beispiel für Linux Console, wo ich in meiner Table eine Zeile auswählen kann und dann auf eine andere Position Verschieben kann:

    1: Text A
    2: Text B
    3: Text C

    Vorstellung wäre, mit Up Down die Zeile Markieren und per Space diese Aktivieren, mit Up/Down auf die Gewünschte Position und mit Space Bestätigen:

    1: Text B
    2: Text A
    3: Text C

    Ausgelesen wird nur die ID und der Wert soll ja nur die ID geändert werden.

    Hoffe da hat wer ein Vorschlag für mich.

    Gruß


  • Mod

    Ist dies wirklich deine Frage, oder möchtest du einfach nur ein paar Stichworte, wie man in Linux Textoberflächen programmiert? Denn das ist einfach zu beantworten: ncurses. Ein simple Beispiele zu ncurses findet man auch haufenweise. Deine Frage könnte man auch mit 20-30 Zeilen schnell beantworten. Aber schwierig wird es bei guten Beispielen, die dich auch wirklich weiter bringen. Eine schnell gehackte Antwort auf genau deine Frage könnte nur genau das, was deine Frage verlangt, wäre aber nicht erweiterungsfähig auf andere Probleme und würde dir auch nicht aufzeigen, wie man eine GUI aufbaut. Das bringt dir auch nicht mehr, vielleicht sogar weniger, als wenn du die Doku der wichtigsten Funktionen selber liest.

    Ein wirklich wertvolles Beispiel, wie man eine Text-UI designed und mit ncurses umsetzt würde hunderte Zeilen Code brauchen, bevor man überhaupt anfängt. Und zwar mit durchaus anspruchsvollem Codedesign zu einem Thema, mit dem man sich selten bis nie beschäftigt. Ich würde daher nicht erwarten, dass dir jemand das vormacht. Daher hoffe ich, dass das Stichwort ncurses dir reicht, damit du dir von da ausgehend selber dein Programm aufbauen kannst.



  • Als Einstieg in die ncurses Programmierung empfiehlt sich das NCURSES-Programming HOWTO. Aufpassen sollte man bei diesem HOWTO, dass noch die klassischen 8Bit Zeichensatz Schnittstellen beschrieben werden. In den Man Pages findet man dann die Informationen für die Unicode Versionen, die haben alle ein w im Namen und meist ein vorgestellten Unterstrich also mvadd_wch statt mvaddch.


Anmelden zum Antworten