<< | Inhaltsverzeichnis | Suchen | >> |
Funktion
Syntax: |
ADDCONTROL(<TRENNZEICHEN>,<ATTRIBUTE>,
<VARIABLE>, |
|
||||||
Bedeutung: |
Mit der Funktion ADDCONTROL können sowohl auf bestehenden Masken und Maskenwindows als auch auf Windows, die mit der Anweisung WINDOW erzeugt wurden, zusätzliche Eingabefelder (Buttons, etc.) dynamisch erzeugt und gelöscht (DELFIELD) werden. Im Gegensatz zur Funktion ADDFIELD können mit ADDCONTROL alle Maskenfelderarten erzeugt werden. Die Funktion ADDCONTROL unterscheidet automatisch zwischen den zwei in Frage kommenden Möglichkeiten: |
|||||||
|
1. Eine Maske oder ein Maskenwindow ist aktiv: |
|||||||
|
|
In diesem Fall werden alle durch ADDCONTROL definierten Felder jeweils am Ende der Verarbeitungsreihenfolge angefügt. |
||||||
|
|
Jedes definierte Feld steht sofort zur Verarbeitung zur Verfügung. Unter Windows ist die Anweisung DISPLAY #... oder DISPLAY ALL notwendig, um das neue Feld sichtbar zu machen, unter Java wird das Feld sofort sichtbar. |
||||||
|
|
Die Anzahl der Felder, die unter Windows/DOS/UNIX auf einer Maske mit ADDCONTROL eingefügt werden können, errechnet sich folgendermaßen: |
||||||
|
|
Die Maximalanzahl von Eingabefeldern, für die vom EBUS-Generator bei der Generierung Speicherplatz angelegt wird, ist definiert durch die Maske des Programmes, die die meisten Eingabefelder besitzt. Folglich können auf jeder anderen Maske soviele Felder mit ADDCONTROL hinzugefügt werden, bis diese Maximalanzahl erreicht ist. Um auch auf der Maske mit den meisten Eingabefeldern zusätzliche Felder definieren zu können, existiert die Compileranweisung #ADDFIELDS = <ZAHL>. Mit dieser Anweisung wird die Maximalanzahl um <ZAHL> Felder erhöht. Somit können dann auf der Maske mit den meisten Eingabefeldern noch <ZAHL> zusätzliche Felder definiert werden. Die Compileranweisung #ADDFIELDS ist unter Java nicht notwendig, da dort stets beliebig viele Maskenfelder mit ADDCONTROL erzeugt werden können. |
||||||
|
2. Ein Window ist aktiv, das mit der Anweisung WINDOW erzeugt wurde: |
|||||||
|
|
Ein derartiges Window besitzt keine Eingabefelder. Mit ADDCONTROL ist es möglich, beliebige Felder für eine Feldverarbeitung zu definieren. Die Anzahl der zusätzlich definierbaren Felder wird unter Windows ausschließlich durch die Compileranweisung #ADDFIELDS = <ZAHL> festgelegt. Da das Window keine Feldverarbeitung besitzt, speichert ADDCONTROL die Felder nur in einem Zwischenpuffer. Die Verarbeitung dieser Felder wird durch die Funktion STARTFIELD gestartet. |
||||||
|
Die Funktion ADDCONTROL liefert als Ergebnis 0, wenn kein Fehler auftrat, sonst eine Fehlernummer. Die entsprechenden Fehlernummern sind im Anhang aufgeführt. Wird ADDCONTROL unter Java in einer Funktion ausgeführt, so müssen dimensionierte <VARIABLE> verwendet werden, andernfalls werden lokale Variablen aus der Funktion verwendet, die nach der Beendigung der Funktion nicht mehr existieren. |
|
||||||
|
Das erste Zeichen von <TRENNZEICHEN> legt das Trennzeichen fest, durch das die Einträge in <ATTRIBUTE> getrennt werden. Der Strichpunkt ';' ist als Trennzeichen nicht zulässig, da der Strichpunkt in den Button-Attributen (Attribut-Nr. 16) als Trennzeichen verwendet wird. <ATTRIBUTE> enthält durch <TRENNZEICHEN> getrennt die Attribute des Maskenfeldes. Die Attribute müssen in der nachfolgend aufgeführten Reihenfolge angegeben werden. Leere Einträge sind möglich. |
|
||||||
|
Attribut-Nr. |
Attribut |
Bedeutung |
|
||||
|
1 |
Feldtyp |
F =
EBUS-Maskenfeld |
|
||||
|
2 |
Feldhöhe |
Legt die Höhe des Feldes als Vielfaches der Zeilenhöhe fest. Dieses Attribut hat nur eine Bedeutung bei Typ = E, B, P, C, R, O, L ,T. Ist Typ = B, P, C
oder R und wird keine Feldhöhe angegeben, so gilt die durch die Ist Feldhöhe <= 0, so ist die Feldhöhe = 1.5 bei Typ = B und P und sonst = 1. |
|
||||
|
3 |
Anzahl |
Dieses Attribut hat nur eine Bedeutung bei Typ = F, A, E, M. Es wird die Anzahl der zulässigen Eingabezeichen festgelegt. Ist Anzahl Eingabezeichen <= 0 oder leer, so wird die Anzahl der Eingabezeichen durch den Formatstring (Attribut-Nr. 6) festgelegt. |
|
||||
|
4 |
Zeile |
Zeilenposition des Feldes |
|
||||
|
5 |
Spalte |
Spaltenposition des Feldes |
|
||||
|
6 |
Formatstring |
z.B. &&&&& oder $$,$$#.## Legt die Formatierung und den Typ des Maskenfeldes (numerisch, alphanumerisch, Datum) fest. Folgende Formatzeichen sind möglich: |
|
||||
|
|
|
& |
alphanumerisches Zeichen |
|
|||
|
|
|
# |
numerisches Zeichen ohne Nullunterdrückung |
|
|||
|
|
|
$ |
numerisches Zeichen mit Nullunterdrückung |
|
|||
|
|
|
^ |
Datumszeichen |
|
|||
|
|
|
Bei numerischen Feldern mit Nachkommastellen muß der Punkt '.' als Dezimalpunkt verwendet werden. |
|
||||
|
7 |
Vorzeichen |
Ist nur von Bedeutung bei numerischen Feldern. Folgende Werte sind möglich: J, Y, N. Der leere Eintrag ist gleichbedeutend mit N. |
|
||||
|
8 |
Blinken |
Folgende Werte sind möglich: J, Y, N. Der leere Eintrag ist gleichbedeutend mit N. Dieses Attribut hat keine Wirkung unter Java. |
|
||||
|
9 |
Änderbar |
Folgende Werte sind möglich: J, Y, N. Der leere Eintrag ist gleichbedeutend mit J. |
|
||||
|
10 |
Groß-/Kleinbuch- |
Ist nur von Bedeutung bei alphanumerischen Feldern. Folgende Werte sind möglich: G, K, A. Der leere Eintrag ist gleichbedeutend mit A. |
|
||||
|
11 |
Sonderzeichen |
Ist nur von Bedeutung bei alphanumerischen Feldern. Folgende Werte sind möglich: J, Y, N. Der leere Eintrag ist gleichbedeutend mit J. |
|
||||
|
12 |
Automatisches |
Folgende Werte sind möglich: J, Y, N. Der leere Eintrag ist gleichbedeutend mit N. |
|
||||
|
13 |
Schlüssel-Nr |
Legt die Schlüsselnummer für das Blättern bei Indexdateifeldern fest. |
|
||||
|
14 |
Zulässige |
Ist nur von Bedeutung bei alphanumerischen Feldern. Es können maximal 20 zulässige Eingabezeichen angegeben werden. Bei Radiobuttons (Typ = R) legt das erste Zeichen von zulässige Eingabezeichen das Zeichen fest, das die Radiobuttonvariable annimmt, wenn der Radiobutton aktiviert wird. |
|
||||
|
15 |
Hilfetext |
Legt den Text fest, der angezeigt wird, wenn sich der Mauszeiger über dem Feld befindet. Dieses Attribut hat nur eine Bedeutung unter Java. |
|
||||
|
16 |
Button-Attribute |
Bei Typ = B, P, C, R, E, L, M, T, O können zusätzliche Attribute angegeben werden. Die einzelnen Attribute müssen durch den Strichpunkt ';' getrennt werden. Bei Typ = B (Button) und P (DefPushbutton) ist Button-Attribute aufgebaut wie EBUS_PUSHBUTTON$. Bei Typ = C (Checkbox) ist Button-Attribute aufgebaut wie EBUS_CHECKBOX$. Bei Typ = R (Radiobutton) ist Button-Attribute aufgebaut wie EBUS_RADIOBUTTON$. Attribut-Aufbau bei Typ = E: |
|
||||
|
|
|
Nr. |
Inhalt |
|
|||
|
|
|
1 |
Schriftname |
|
|||
|
|
|
2 |
Schrifthöhe in Punkt |
|
|||
|
|
|
3 |
Fettschrift: J/Y/N |
|
|||
|
|
|
4 |
Kursivschrift: J/Y/N |
|
|||
|
|
|
5 |
Textausrichtung: |
|
|||
|
|
|
6 |
Mehrzeiliges Editfeld: J/Y/N |
|
|||
|
|
|
7 |
Horizontaler Scrollbalken: J/Y/N |
|
|||
|
|
|
8 |
Autoscroll horizontal: J/Y/N |
|
|||
|
|
|
9 |
Vertikaler Scrollbalken: J/Y/N |
|
|||
|
|
|
10 |
Autoscroll vertikal: J/Y/N |
|
|||
|
|
|
11 |
Passwortfeld: J/Y/N |
|
|||
|
|
|
12 |
Return erforderlich: J/Y/N |
|
|||
|
|
|
13 |
Umrahmung: J/Y/N |
|
|||
|
|
|
14 |
Systemfont: J/Y/N |
|
|||
|
|
|
15 |
nicht änderbar: J/Y/N |
|
|||
|
|
|
16 |
HTML-Browser |
|
|||
|
|
|
17 |
RTF-Viewer |
|
|||
|
|
|
Attribut-Aufbau bei Typ = L und M: |
|
||||
|
|
|
Nr. |
Inhalt |
|
|||
|
|
|
1 |
Schriftname |
|
|||
|
|
|
2 |
Schrifthöhe in Punkt |
|
|||
|
|
|
3 |
Fettschrift: J/Y/N |
|
|||
|
|
|
4 |
Kursivschrift: J/Y/N |
|
|||
|
|
|
5 |
Höhe der List-/Combobox in Zeilen |
|
|||
|
|
|
6 |
Sortierung: J/Y/N |
|
|||
|
|
|
7 |
Horizontaler Scrollbalken: J/Y/N |
|
|||
|
|
|
8 |
Vertikaler Scrollbalken: J/Y/N |
|
|||
|
|
|
9 |
Combobox mit
Editfeld: J/Y/N |
|
|||
|
|
|
Attribut-Aufbau bei Typ = T: |
|
||||
|
|
|
Nr. |
Inhalt |
|
|||
|
|
|
1 |
Schriftname |
|
|||
|
|
|
2 |
Schrifthöhe in Punkt |
|
|||
|
|
|
3 |
Fettschrift: J/Y/N |
|
|||
|
|
|
4 |
Kursivschrift: J/Y/N |
|
|||
|
|
|
5 |
Breite in Spalten |
|
|||
|
|
|
6 |
Textausrichtung: |
|
|||
|
|
|
7 |
gesperrt: J/Y/N |
|
|||
|
|
|
8 |
kein Zeilenumbruch: J/Y/N |
|
|||
|
|
|
9 |
kein Hervorhebungszeichen: J/Y/N |
|
|||
|
|
|
10 |
Umrahmung: J/Y/N |
|
|||
|
|
|
11 |
doppelter Rand: J/Y/N |
|
|||
|
|
|
12 |
leicht versunken: J/Y/N |
|
|||
|
|
|
13 |
stark versunken:
J/Y/N |
|
|||
|
|
|
Attribut-Aufbau bei Typ = O: |
|
||||
|
|
|
Nr. |
Inhalt |
|
|||
|
|
|
1 |
Horizontal/Vertikal: H/V |
|
|||
|
|
|
2 |
Breite in Spalten |
|
|||
|
|
|
3 |
Wertebereich von |
|
|||
|
|
|
4 |
Wertebereich bis |
|
|||
|
|
|
5 |
Seitengröße |
|
|||
|
17 |
Inhalt |
Dieses Attribut hat nur eine Bedeutung bei Typ = L, M, C, R. Bei Typ = C und R wird die Bezeichnung der Checkbox bzw. des Radiobuttons festgelegt. Bei Typ = L und M werden die Einträge in der List-/Combobox festgelegt. Die einzelnen Einträge sind durch den Strichpunkt ';' zu trennen. |
|
||||
|
|
|
||||||
Beispiel: |
TRENNZEICHEN$ = CHR$(1) H% =
ADDCONTROL(TRENNZEICHEN$,ATTRIBUTE$,VAR$, /* Combobox auf Position (3,4) mit
Editfeld und H% =
ADDCONTROL(TRENNZEICHEN$,ATTRIBUTE$,VAR$, |
|
||||||
siehe auch: |
|
|||||||