Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Dialog<br />
Schwerpunkt<br />
aus geometrischen Anweisungen zusammen.<br />
Am Anfang der Anweisung<br />
zum Gestalten geben Sie den Titel und<br />
einen Hintergrundtitel an. Ferner erwarten<br />
die Befehl am Ende zwingend Angaben<br />
zur Geometrie.<br />
Die Zeiten des Kästchenzählens sind<br />
aber dank Dialog vorbei: Wollen Sie keine<br />
Angaben für Höhe (Zeilen) und Breite<br />
(Zeichen) machen, geben Sie einfach 0<br />
0 an. Das klappt bei den meisten Anweisungen.<br />
Das Tool passt die Proportionen<br />
dann automatisch an. Listing 6 zeigt den<br />
Aufbau des Befehls.<br />
In den Anweisungen zum Fenstertyp<br />
geben Sie an, was in dieser Codezeile<br />
passiert. Möchten Sie, dass der Benutzer<br />
etwas liest, eingibt oder entscheidet?<br />
Auf der folgenden Doppelseite finden<br />
Sie eine Auswahl an Möglichkeiten.<br />
Während die Ja/Nein-Frage und die<br />
Nachrichtenbox stets auf eine Eingabe<br />
warten, dient die Infobox zur reinen Ausgabe.<br />
Im Zusammenhang mit sleep zeigen<br />
Sie so Nachrichten für eine bestimmte<br />
Zeit an. Anstelle von sleep ließen<br />
sich natürlich andere Programme<br />
einbinden.<br />
Sie haben die Möglichkeit, die Ja/<br />
Nein-Frage um je eine Schaltfläche zu<br />
erweitern. Eine Schaltfläche mit eigener<br />
Beschriftung erhalten Sie mit folgenden<br />
zusätzlichen Parametern:<br />
‐‐extra‐button ‐‐extra‐label "Text"<br />
Beim Betätigen erhalten Sie den Rückgabewert<br />
3. Die zweite Erweiterungsmöglichkeit<br />
besteht mit der Hilfe-Fläche<br />
‐‐help‐button. Sie benötigen hier keine<br />
weiteren Angaben zur Beschriftung, der<br />
Rückgabewert beträgt 2. Zusammen mit<br />
Ja (0) und Nein (1) erzeugt das Widget<br />
also vier Rückgabewerte.<br />
Das kleine Skript aus Listing 7 zeigt<br />
die Wirkungsweise. Sie sehen darin, wie<br />
Sie eine Schaltfläche abweichend be-<br />
Listing 6<br />
$ dialog ‐‐title "Titel"<br />
‐‐backtitle "Hintergrundtitel"<br />
Weitere Anweisungen 0 0<br />
Listing 5<br />
#! /bin/sh<br />
# Belegung Beispieldaten<br />
# An diese Stelle würde ein Datenbankzugriff integriert<br />
a="Herr"<br />
b="Pano Garçon"<br />
c="Testsystem 123"<br />
d="90003 Nürnberg"<br />
while true; do<br />
clear<br />
echo "‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"<br />
echo " Adressbearbeitung"<br />
echo "‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"<br />
echo "F‐Nr. | | Wert"<br />
echo " 1 | Anrede: | "$a<br />
echo " 2 | Name: | "$b<br />
echo " 3 | Straße: | "$c<br />
echo " 4 | PLZ/Ort: | "$d<br />
echo "‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"<br />
echo "Aktionen: [F‐Nr]: Zeile ändern, [s] speichern,"<br />
echo "[q] Abbruch"<br />
echo ‐n "Aktion: ";read wn<br />
if [ "$wn" = "1" ]; then<br />
a=$(readpreprompt "Zeile $wn: " "$a")<br />
elif [ "$wn" = "2" ]; then<br />
b=$(readpreprompt "Zeile $wn: " "$b")<br />
elif [ "$wn" = "3" ]; then<br />
c=$(readpreprompt "Zeile $wn: " "$c")<br />
elif [ "$wn" = "4" ]; then<br />
d=$(readpreprompt "Zeile $wn: " "$d")<br />
elif [ "$wn" = "s" ]; then<br />
echo "Hier würde in die Datenbank geschrieben werden"<br />
break<br />
elif [ "$wn" = "q" ]; then<br />
exit<br />
fi<br />
done<br />
echo "‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"<br />
echo $a<br />
echo $b<br />
echo $c<br />
echo $d<br />
3 Mit ein paar<br />
Zeilen Code haben<br />
Sie eine einfache<br />
Maske<br />
zum Bearbeiten<br />
von Datensätzen<br />
aus einer<br />
Datenbank erstellt.<br />
03.2014 www.linux-user.de<br />
33