WINGEN [:name:] LISTBOX=winattr, line-var1, line-var2, arb, { int-var | line-var | string-var } [ {,PROCn | ,PROCint-var | ,INPUT='file' [(params)]} , retcode ]
| |
WINGEN [:name:] COMBOBOX=winattr, line-var1, line-var2, arb, { int-var | line-var | string-var } | |
Es wird eine Listbox oder Combobox erzeugt, die mit den Werten aus Zeilen des Arbeitsbereiches arb versorgt wird, beginnend mit der Zeilennummer in line-var1 und endend mit der Zeilennummer in line-var2. Wenn eine sortierte Darstellung gewünscht ist, so müssen die Zeilen im Arbeitsbereich bereits sortiert sein, evtl. durch Verwendung des Kommandos SORT (z.B. SORT #L2.-#L3 ). Wenn mehr Zeilen enthalten sind, als Platz definiert wurde, wird ein vertikaler Scrollbar erzeugt.
| |
Die Listbox wird permanent in der definierten Höhe dargestellt. Die Combobox wird vorerst einzeilig dargestellt, nach dem Anklicken "aufgeklappt" und nach der Auswahl wieder einzeilig angezeigt. | |
Falls die längste Zeile die Breite der Listbox bzw. Combobox überschreitet, wird ein horizontaler Scrollbar eingeblendet | |
line-var1 | Zeilennummer der ersten Zeile, die in der Liste angezeigt werden soll. |
line-var2 | Zeilennummer der letzten Zeile, die in der Liste angezeigt werden soll. |
arb | Arbeitsbereich, in dem die Daten für die Listbox/Combobox stehen. |
Referenzvariable: | |
Als Referenzvariable kann eine Integer-Variable, eine Line-Variable oder eine String-Variable angegeben werden. | |
int-var | Die Referenzvariable enthält die Position des selektierten Eintrags. Der erste Eintrag befindet sich auf Position 0. |
line-var | Die Referenzvariable enthält die Zeilennummer (im Wert zwischen line-var1 und line-var2) des selektierten Eintrags. |
string-var | Die Referenzvariable enthält den Inhalt des selektierten Eintrags. |
Wenn vor Ausgabe der Dialogbox ein unzulässiger Wert in der Referenzvariablen angegeben wird (zu hoher Index in int-var, Zeilennummer nicht im Bereich von line-var1 bis line-var2, Zeichenfolge in string-var ist nicht in der Box enthalten), so wird der erste Eintrag in der Box selektiert. | |
Aktion für Doppelklick (nur Listbox): | |
PROCn | Bei einem "Doppelklick" wird die EDT-Prozedur n mit dem EDT-Kommando DO aufgerufen.
|
PROCint-var | Bei einem "Doppelklick" wird die EDT-Prozedur in int-var mit dem EDT-Kommando DO aufgerufen.
|
INPUT='file' | Bei einem "Doppelklick" wird die INPUT-Prozedur file mit dem EDT-Kommando INPUT aufgerufen.
|
Die Prozedur kann durch Versorgung eines Rückgabewertes in der Integer-Variablen #I99 den weiteren Ablauf wie folgt beeinflussen:
| |
#I99=0 | Das Fenster wird nicht neu aufgebaut. | |
#I99=-1 | Das Fenster wird mit den Daten aus den Referenzvariablen neu aufgebaut. | |
#I99> 0 | Das Fenster wird geschlossen und nach dem Kommando WINGEN OUT fortgefahren. Die Integer-Variable #I99 behält diesen Wert.
| |
retcode | Vor dem Aufruf der Prozedur wird in die Integer-Variable #I99 der Wert retcode geladen. Damit kann für mehrere Schaltflächen dieselbe Prozedur aufgerufen werden. Anhand des Übergabecodes ist feststellbar, welche Listbox ausgewählt wurde.
|
Beispiele: | |
@wingen listbox=(160,115,80,120),#l2,#l3,6,#i53
| |