<< Inhaltsverzeichnis Suchen >>

MENUE$

Funktion

Syntax:

<STRING-VARIABLE-1> = MENUE$(<STRING-VARIABLE-2>,
                                                                   <MODUS>,
                                                                   <FORMAT>,
                                                                   <ZEILE>,
                                                                   <SPALTE>,
                                                                   <RAND>,
                                                                   <FARBE>,
                                                                   <TEXT-1>,<TASTE-1>
                                                                   [,<TEXT-i>,<TASTE-i>]...)

 

<MODUS>          = DISPLAY oder READ oder <NUM-AUSDRUCK>
<FORMAT>        = HORI oder VERTI
<ZEILE>             = <NUM-AUSDRUCK>
<SPALTE>          = <NUM-AUSDRUCK>
<RAND>             = <NUM-AUSDRUCK>
<FARBE>            = NORMAL                                      oder
                                 INTENSIVE                                   oder
                                 INVERSE                                       oder
                                 DARK                                             oder
                                 STANDARD                                  oder
                                 HEADER                                        oder
                                 MESSAGE
<TEXT-i>            = <STRING-AUSDRUCK>
<TASTE-i>          = <STRING-AUSDRUCK>

Bedeutung:

MENUE$ erzeugt ein Roll-Down-Menue. Diese Funktion ist hauptsächlich für Bildschirme im Zeichenmodus vorgesehen. Im graphischen Bildschirmmodus unter WINDOWS sollten die Funktionen GR_ADDMENUE und GR_STARTMENUE verwendet werden.

Unter WINDOWS werden mit MENUE$ erzeugte vertikale Menues als Popup-Menue dargestellt, wenn DISABLE GR_TRANSLATE_MENUE_VERTI eingestellt ist. Bei leeren Menuepunkten "" wird dabei eine Trennlinie erzeugt.

 

Bei <MODUS> = READ wird nach der Anzeige des Menues auf Eingaben des Benutzers gewartet. Dieser kann mit Hilfe der Cursor-Tasten den Invers-Balken auf die gewünschte Menuezeile positionieren und diese dann mit <RETURN> auswählen. Eine andere Art der Auswahl ist das Betätigen einer der Tasten <TASTE-i>, wodurch die entsprechende Menuezeile ohne zusätzliche Eingabe von <RETURN> direkt ausgewählt wird. Menue liefert als Ergebnis die betätigte Taste.

 

<STRING-VARIABLE-1>

vom Benutzer gedrückte Taste

 

<STRING-VARIABLE-2>

Stimmt beim Aufruf von MENUE$ diese        Variable mit <TASTE-i> überein, wird der Invers-Balken nicht auf <TEXT-1> sondern auf <TEXT-i> gesetzt.

 

 

DISPLAY oder
<NUM-AUSDRUCK> = 0

Menue nur anzeigen und nicht auf Eingabe warten

 

READ oder
<NUM-AUSDRUCK> <> 0

Menue anzeigen und auf Eingabe warten

 

HORI

Horizontales Menue

 

VERTI

Vertikales Menue

 

<ZEILE>,<SPALTE>

linke obere Ecke des Menues

 

<RAND>             = 1
                              = 2
                              sonst

Rand: Einfachlinie
Rand: Doppellinie
kein Rand

 

<FARBE>

Farbe für die Menuetexte <TEXT-i>

 

<TEXT-i>,<TASTE-i>

Es können beliebig viele derartige Paare angegeben werden. <TEXT-i> ist der Text der angezeigt wird. <TASTE-i> ist die ­Taste, mit der <TEXT-i> ausgewählt wird. Ist <TEXT-i> = "", wird am Bildschirm eine Leerzeile ausgegeben, die mit den Cursortasten automatisch übersprungen wird. Bei horizontaler Darstellung wird <TEXT-i> = "" ignoriert.

 

In <TASTE-i> können mehrere Tasten durch Kommas getrennt enthalten sein. Z.B. bedeutet:

 

"1. Auskunft","1,A"

 

Sowohl die Taste <1> als auch die Taste <A> können gedrückt werden.

 

Als Rückgabewert liefert die Funktion MENUE$ jedoch immer die erste Alternative. In obigem Beispiel wird also immer <1> geliefert, ganz egal, ob <1> oder <a> oder <A> gedrückt wurde oder mit den Cursortasten und <RETURN> ausgewählt wurde. Außerdem wird das als zweite Alternative angegebene Zeichen mit dem Attribut INTENSIVE angezeigt, falls es in <TEXT-i> vorkommt (egal ob Groß- oder Kleinbuchstabe).

 

In obigem Beispiel würde das "A" von "1. Auskunft" doppelt hell hervorgehoben. Will man, daß die "1" doppelt hell erscheint, so müßte als <TASTE-i> angegeben werden: "1,1"

 

Wenn bei <TASTE-i> Buchstaben angegeben werden, so reagiert die MENUE$-Funktion sowohl auf den entsprechenden Groß- als auch den Kleinbuchstaben. Zurückgeliefert wird immer das erste Zeichen von <TASTE-i>. Nur bei den Umlauten müssen immer beide (Groß- und Klein-Buchstabe) angegeben werden. Soll z.B. auf <1> und <Ä> reagiert werden, so ist anzugeben: "1,Ä,ä" oder "1,ä,Ä"

 

MENUE$ kann auch in einem Window aufgerufen werden. Hat das Window weniger Zeilen als für MENUE$ benötigt werden, so werden die überzähligen Menue-Zeilen nicht angezeigt. Dadurch können auch die Tasten <¬> und <®> eingesetzt werden.

Die Funktionen GR_ADDMENUE und GR_STARTMENUE bieten eine einfachere Möglichkeit mehrstufige SAA-Menues zu definieren.

Beispiel:

ACT_TAST$ = "E"
ACT_TAST$ = MENUE$ (ACT_TAST$,READ,HORI,4,22,0,STANDARD,
                                            "1. Verwalten Kunden      ","1,K",
                                            "2. Verwalten Artikel       ","2,A",
                                            "3. Drucken Kunden         ","3,D",
                                            "4. Drucken Artikel          ","4,L")

CASE  ACT_TAST$
               OF "1" GOTO #10
               OF "2" GOTO #20
               OF "3" GOTO #30
               OF "4" GOTO #40
ENDCASE

siehe auch:

GR_ADDMENUE, GR_STARTMENUE