<< | Inhaltsverzeichnis | Suchen | >> |
Funktion
Syntax: |
ADDFIELD(<FORMAT-STRING>,<VARIABLE>, |
|
|||||
Bedeutung: |
Der <FORMAT-STRING> hat folgenden Aufbau: |
|
|||||
|
Position |
Länge |
Bedeutung |
||||
|
1 |
1 |
Feldtyp: E = Eingabefeld
|
||||
|
|
Achtung: Comboboxen, Listboxen, Scrollbars, Editfelder und statische Texte haben eine Sonderstellung und können nicht mit ADDFIELD sondern nur mit ADDCONTROL erzeugt werden. |
|
||||
|
|
|
|
||||
|
2 |
2 |
Zeile |
|
|||
|
|
|
N = Normal
(NORMAL) |
|
|||
|
11 |
1 |
Änderbar
J/N. (=N bei deaktiviertem Button) |
|
|||
|
ADDFIELD prüft, ob der <FORMAT-STRING> korrekt ist. |
|
|||||
|
Mit der Funktion ADDFIELD 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. Die Funktion ADDFIELD unterscheidet automatisch zwischen den zwei in Frage kommenden Möglichkeiten: |
|
|||||
|
1. Eine Maske oder ein Maskenwindow ist aktiv: |
|
|||||
|
|
In diesem Fall werden alle durch ADDFIELD 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 ADDFIELD 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 ADDFIELD 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 ADDFIELD erzeugt werden können. |
|
||||
|
Die Funktion ADDFIELD liefert als Ergebnis 0, wenn kein Fehler auftrat, sonst eine Fehlernummer. Die entsprechenden Fehlernummern sind im Anhang aufgeführt. Wird ADDFIELD 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. |
|
|||||
Beispiel: |
/* Zwei Felder sollen hinzugefügt werden:
Datum und Betrag |
|
|||||
|
|
|
|||||
|
Achtung: Bei Masken und Maskenwindows, die keine Eingabefelder besitzen, können im Macro vor Maskenausgabe mit ADDFIELD Felder definiert werden. Werden die Felder im Macro für Maskenverarbeitung definiert, so liefert ADDFIELD zwar keinen Fehler, die eingefügten Felder können aber nicht verarbeitet werden, da keine Feldverarbeitung aktiv ist. |
|
|||||
|
|
|
|||||
|
2. Ein Window ist aktiv, das mit der Anweisung WINDOW erzeugt wurde: |
|
|||||
|
|
Ein derartiges Window besitzt keine Eingabefelder. Mit ADDFIELD ist es möglich, beliebige Felder für eine Feldverarbeitung zu definieren. Die Anzahl der zusätzlich definierbaren Felder wird ausschließlich durch die Compileranweisung #ADDFIELDS = <ZAHL> festgelegt. Da das Window keine Feldverarbeitung besitzt, speichert ADDFIELD die Felder nur in einem Zwischenpuffer. Die Verarbeitung dieser Felder wird durch die Funktion STARTFIELD gestartet. |
|
||||
Beispiel: |
/* In einem Window sollen MELDUNG1$ und
MELDUNG2$ angezeigt |
|
|||||
|
Die Macronamen dürfen fehlen, wenn bei der Feldverarbeitung keine Macros ausgeführt werden sollen. in diesem Fall werden nur Kommata geschrieben: |
|
|||||
Beispiel: |
H%=ADDFIELD("B071500
NDJIAJ N
&&&&&&",H$,,) |
|
|||||
siehe auch: |
|
||||||