•  Back 
  •  Befehlsübersicht 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Hilfe 
  •  Show info about hypertext 
  •  View a new file 
Topic       : Online-Hilfe zu Omikron.Basic 5
Author      : Karsten Lüdersen @ HH
Version     : OM-Basic-Hilfe 0.60
Subject     : Programmieren/Basic
Nodes       : 1054
Index Size  : 29270
HCP-Version : 4
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : 
@help       : Hilfe
@options    : +g -i +y +z -t4 -d24
@width      : 75
View Ref-FileOPEN
GET
PUT
Basic-Befehle                                                Omikron.Basic

FIELD

Typ:    Befehl

Syntax:
    FIELD [#]<num.Ausdruck>,<num.Ausdruck> [AS <String-Variable>]
    [[,<num.Ausdruck> [AS <String-Variable>]]]
    FIELD [#]<Dateinummer>,<Satzlänge> [AS <Puffervariable>]
    [[,<Satzlänge> AS <Puffervariable>]]

Erklärung:
Definiert für die durch die Dateinummer gegebene Random-Access-Datei
die Datenstruktur. Die Datei muß zuvor mit OPEN "R" geöffnet worden
sein, die Datensatzlänge muß den summierten Satzlängen der FIELD-
Anweisung entsprechen. Ist die Datenstruktur zu umfangreich, um in
einer Zeile definiert zu werden, so kann sie in zwei Zeilen aufgeteilt
werden. Man verwendet hierzu eine zweite FIELD-Anweisung, wobei die
erste Anzahl ohne Puffervariable die Summe aller bereits aufgezählten
repräsentiert (siehe Beispiel).

Nach einem Lese-Vorgang durch GET enthalten die Puffervariable den
gelesenen Dateisatz. Bei einem Schreib-Vorgang mit PUT werden die
Inhalte der Puffervariablen als Datensatz gespeichert.

Es ist darauf zu achten, daß die Länge der Puffervariable zu keiner Zeit
verändert wird. Hierzu können die Feldinhalte mit LSET oder RSET
übergeben werden. Weiterhin sind als Puffervariable nur einfach Strings
zugelassen - Feldelemente sind verboten.

Im Hinblick auf den Compiler gilt folgendes: Puffervariable für
FIELD-Anweisungen dürfen niemals lokal verwendet werden (LOCAL). Sie
sollten wirklich ausschließlich der Nutzung als Dateipuffer vorbehalten
bleiben.

Beispiel:
0 OPEN "F",1,"C:\*.*",0
1 FIELD 1,21,1 AS Att$,2 AS Tim$,2 AS Dat$,4 AS Len$,14 AS Name$
2 WHILE NOT EOF(1)
3    GET 1,0
4    PRINT LEFT$(Name$, INSTR(Name$, CHR$(0))); TAB (15); CVIL(Len$)
5 WEND
6 CLOSE 1