Dialogfenster

Information:
Zeigt Informationen über das bearbeitete Dokument an. Eine genauere Beschreibung befindet sich bei „Über`` auf Seite [*].

ReqAction:
Syntax: ReqAction message labels. Resultat: n. Öffnet ein Dialogfenster in dem eine von mehreren Aktionen ausgewählt werden kann (ähnlich den Aufforderungen des Betriebssystems). Der Parameter message enthält den darzustellenden Text, der aus mehreren durch „|`` getrennten Zeilen bestehen kann, labels die ebenfalls durch „|`` getrennten Beschriftungen der Aktionssymbole. Dem Ergebnis kann die vorgenommene Auswahl entnommen werden. Wird das am weitesten rechts stehende Symbol gewählt, ist es null, wird das erste von links gewählt eins, beim zweiten von links zwei, beim dritten drei, usw. Soll dem Benutzer lediglich eine Mitteilung gemacht werden, trägt man bei labels nur eine Auswahlmöglichkeit (z.B. „OK``) ein: das Resultat lautet dann null.

/* Beispiel für ReqAction */
OPTIONS RESULTS

choice='"Speichern|Ignorieren|Abbrechen"'
Get FILENAME
msg='"'||RESULT||'|wurde noch nicht gespeichert."'
ReqAction msg choice
echo "Symbol:" RESULT
/* Speichern=1; Ignorieren=2; Abbrechen=3 */

ReqChoice:
Syntax: ReqChoice title topic labels [n]. Resultat: (OK n) | CANCEL. Öffnet ein Dialogfenster, in dem der Benutzer einen von mehreren zur Auswahl stehenden Punkten wählen kann. Der Parameter title bezeichnet den Fenstertitel, topic die Überschrift der Auswahlpunkte. Die Auswahlpunkte werden (durch begintex2html_wrap_inline$|$" getrennt) dem Parameter labels übergeben. Beim Öffnen des Fensters ist der Punkt n Vorgabe: 0) vorgewählt. Das Resultat enthält den String „OK`` gefolgt von der Nummer n des gewählten Punktes, bzw. „CANCEL``.

/* ein lebensnahes Beispiel für ReqChoice */
OPTIONS RESULTS

aufschnitt='"Schinken|Käse|Wurst"'
ReqChoice '"Auswahl"' '"Aufschnitt"' aufschnitt 1
PARSE VAR RESULT aktion wahl       /* Eingabe auswerten */
IF aktion="OK" THEN
  echo "Sie haben den Aufschnitt" wahl "gewählt."
ELSE
  echo "Abbruch!"

ReqNumber:
Syntax: ReqNumber title label [n]. Resultat: (OK n) | CANCEL. Öffnet ein Dialogfenster, in dem der Benutzer eine ganze Zahl eingeben kann. Der Parameter title enthält den Fenstertitel, label den Namen des Zahlenfeldes und n den Ausgangswert. Wenn die Eingabe bestätigt wurde lautet das Ergebnis „OK``, gefolgt von der eingegebenen Zahl, anderfalls „CANCEL``.

/* Beispiel für ReqNumber */
OPTIONS RESULTS
ReqNumber '"Bitte geben Sie eine Zahl ein"' "Zahl:" 13
PARSE VAR RESULT aktion zahl     /* Eingabe auswerten */
IF aktion="OK" THEN
  echo "Die Zahl lautet" zahl
ELSE
  echo "Abbruch!"

ReqOptions:
Syntax: ReqOptions title topic labels {0|1}. Resultat: (OK 0|1) | CANCEL. Öffnet ein Dialogfenster, in dem der Benutzer aus einer Menge von Optionen wählen kann. Der Parameter title bezeichnet den Fenstertitel, topic die Überschrift der Optionen. Die Optionen werden (durch „|`` getrennt) dem Parameter labels übergeben. Diesem Parameter folgt eine (optionale) Reihe in der hintereinander für jede Option angebeben wird, ob sie aktiv („1``) oder inaktiv („0``, Vorgabe) ist. Hierbei muß nicht für jede Option ein Wert angegeben werden (siehe Beispiel). Das Resultat enthält den String „OK``, gefolgt von dem Status für jede Option, bzw. „CANCEL``.

/* Beispiel für ReqOptions */
OPTIONS RESULTS

checks='"RangeChk|StackChk|OvflChk|NilChk"'
ReqOptions '"Modula-2"' '"Prüfungscode"' checks 1 0
/* man beachte, daß die Optionen "OvflChk" und "NilChk" */
/* nicht explizit gesetzt sind.                         */
/* Äquivalent: ReqOptions '"Modula-2"' ... 0 1 0 0      */
PARSE VAR RESULT aktion range stack ovfl nil
/* Eingabe auswerten */
IF aktion="OK" THEN
  echo "Prüfungscode:"
  IF range THEN
    echo "· Bereiche"
  IF stack THEN
    echo "· Stack"
  IF ovfl THEN
    echo "· Überlauf"
  IF nil THEN
    echo "· NIL-Zeiger"
ELSE
  echo "Abbruch!"

ReqString:
Syntax: ReqString title label [string]. Resultat: (OK zeichenkette) | CANCEL. Öffnet ein Dialogfenster, in dem der Benutzer eine Zeichenkette eingeben kann. Der Parameter title enthält den Fenstertitel, label den Namen des Zahlenfeldes und string die Vorbelegung des Textfeldes (Vorgabe: leer „ ``). Wenn die Eingabe bestätigt wurde, lautet das Ergebnis „OK``, gefolgt von der eingegebenen Zeichenkette, andernfalls „CANCEL``.

/* Beispiel für ReqString */
OPTIONS RESULTS

prompt='"Bitte geben Sie etwas ein"'
'ReqString' prompt "Zeichenkette:" "Irgendwas"
PARSE VAR RESULT aktion string  /* Eingabe auswerten */
IF aktion="OK" THEN
  echo "Das habe Sie eingegeben:" string
ELSE
  echo "Abbruch!"