Anwender-Dokumentation GFA-BASIC 3.0
FIELD #n,anz AS satz$ [, anz AS satz$, anz AS satz$,....]
FIELD #n,anz AT(x) [,anz AT(x) [,anz AT(x) |,....]
n, anz,X:
iexp
satz$:
svar,
jedoch
keine Feldvariable
Der Befehl FIELD AS unterteilt Datensätze in Felder. Der numerische
Ausdruck n ist die Nummer des Datenkanals (0 bis 99) einer mit OPEN
geöffneten Datei. Der ganzzahlige Ausdruck anz bestimmt die Feldlänge.
Die String-Variable satz$ nimmt ein Feld eines Datensatzes auf. Soll der
Datensatz in mehrere Felder aufgeteilt werden, müssen die Befehlsteile
(anz AS satz$) durch Kommata getrennt werden. Die Summe der einzel-
nen Feldlängen muß der Datensatzlänge entsprechen, sonst wird eine ent-
sprechende Fehlermeldung ausgegeben. Damit die einzelnen Datensätze
keine andere Länge haben als im FIELD-Befehl festgelegt, ist es zweck-
mäßig, die Befehle LSET und RSET oder MID$ zu benutzen.
Mit Hilfe von AT können z.B. numerische Variablen in eine R-Datei
(Random Access) geschrieben werden, ohne daß sie in Zeichenketten
überführt werden müssen, indem in den Klammern ein Zeiger auf die
abzuspeichernde numerische Variable und vor AT die Anzahl der Bytes,
die ab dieser Adresse gelesen und abgespeichert werden soll, steht. Es
können auch beliebige andere Adressen angegeben werden. Zum Beispiel:
FIELD #1,4 AT(*a%),2 AT(*b&),8 AT(*c#)
Außerdem sind beliebige Kombinationen von AS und AT möglich, z.B.:
FIELD #2,4 AS a$,2 AT(*b&),8 AT(*c#),6 AS d$
Im Unterschied zur Version 2.0 kann ein FIELD-Befehl auf mehrere Zei-