Dialogregie
Teil 7: Benutzerfreundliche Ein-/Ausgabe
Termine bearbeiten
Auch TerminBearbeiten enthält wenig Neues: In Zeile 84 und 85 werden die Parameter-Listen für AuswahlMenue angelegt, die alle zum Bearbeiten eines Termin-Eintrags notwendigen Möglichkeiten enthalten (Abbildung 2). Ab Zeile 90 erfolgt die Auswertung der Auswahl.
Beim Löschen eines Termins wird vom Benutzer noch einmal eine Bestätigung eingeholt, das eigentliche Entfernen des Termineintrags erfolgt in Zeile 100 bis 106 durch Aufrücken der dahinter stehenden Einträge. Diese Lösung ist nicht die eleganteste, da bei langen Listen sehr viele Einträge aufgerückt werde müssen, hier bleibt Raum für Ihre Verbesserungen. Als Tipp: Auch hier lässt sich mit der Variablen IFS und Tabulator-getrennten Listen viel machen.
Eine weitere Besonderheit steckt in der Datumsänderung. Leider erkennt date das Datum in der herkömmlichen Schreibweise als Tag, Monat und Jahr mit Punkten getrennt nicht. Deshalb erfolgt die Eingabe in unserem gepackten Format mit Jahr, Monat und Tag, unterteilt mit Minus. Es wird allerdings nicht geprüft, ob die Eingabe auch tatsächlich ein Datum ist. Die Rückwandlung übernimmt wiederum date für uns, indem wir als Ausgabe-Format das gepackte Datumsformat angeben.
Hauptprogramm
Das Einlesen der Termin-Liste unterscheidet sich kaum vom termin-server. Nur werden in den Zeilen 146 bis 150 die Daten in einzelne Arrays verpackt. Lässt sich die Liste nicht öffnen, wird eine leere angelegt und die lokale Mail-Adresse des Benutzers bestimmt.
In der Endlosschleife ab Zeile 159 wird das Hauptmenü generiert. Wie schon bei TerminBearbeiten werden Tastenkürzel und Beschreibung in separaten Variablen zusammengefasst und an AuswahlMenu übergeben. Beim Speichern wird so notwendig die Termin-Liste neu angelegt; ist sie nicht beschreibbar, wird entsprechend gewarnt. Das Speichern selbst geschieht in Zeile 179 bis 185: Nach der Mail-Adresse werden die einzelnen Terminzeilen geschrieben.



