Menue – Masken System für Jedermann!

Schon vor Jahren(genauer Jahrzehnten) als sich mir die Gelegenheit auf einer DEC/VAX zu programmieren anbot, störten mich immer die Menü- und Bildschirmmasken, die zur Dateneingabe verwendet wurden. Diese waren teilweise schon recht komfortabel, aber abhängig von dem eingesetzten Hard/Software Terminal. Bei dem Standard-Terminal „BASH“ von Linux gab und gibt es recht schöne grafische Darstellungen von Menü- oder Daten-bildschirmen. Diese benutzen oft in C oder anderen Programmiersprachen geschriebene Libraries und Speicher zur Verwirklichung von Daten-Bildschirmdarstellungen.
Die heutige Entwicklung von ‚bash‘ sollte eigentlich genügend Möglichkeiten bieten, meine Ideen von einer  einigermaßen komfortablen Bildschirmsteuerung ohne Libraries zu entwickeln. In C hatte ich diese Idee schon oft für die Scanner-Technologie der 80′ und 90′ Jahre entwickelt. Fakt war: Wenig Speicher, Bildschirmmasken nur mit den ASCII und sonst mußte alles selbst entwickelt werden.

Auch Heute bin ich zu meinem ‚Leidwesen‘ einer kleiner Freak. Ich will wissen bzw. verstehen wie ein Programm funktioniert. Auch in der Realisierung von Bash-Programmen gibt es sicherlich  Lösungen für dieses und jenes Problem, den eingefleischten ‚Linuxianer‘ wird sicherlich mein Code ein Lächeln auf das Gesicht zaubern oder aber zum Ausruf bewegen: „Das geht doch eleganter… oder so und so muß das gemacht …“.
Darum geht es mir aber nicht bei meiner Codierung. Ich habe versucht mich an einige Konventionen  zu halten, zwar nicht zu 100% aber ’naja‘ mindestens zu  75%, sodass ein normaler Programmierer oder ein auch Anfänger der Codierung folgen kann.
Das Projekt der Menü-und Bildschirm ist nicht 100%tig Fehler frei, aber es ermöglicht ein recht gutes und bequemes ‚Handling‘ von Bildschirmmasken.

Ich habe mehrere Möglichkeiten ausprobiert, diese hat den Reitz mit ’strings‘ und ‚arrays‘ zu spielen.
Was noch fehlt, ist die ausgeklügelte Datenübergabe (Schnittstelle) zu anderen Programmteile, ist zur Zeit hier nur ansatzweise verwirklicht.

Die praktische Anwendung bzw. Einsatz wird demnächst bei der Datenmaske meines Programmes ‚netlogon‚ (Thema: Mounten von Laufwerken im Netzwerk) erfolgen.

Hier die gezippte Version:   menue_masken_bash.zip