Inhaltsverzeichnis

Lernziele
Daten in eine Datei schreiben; Daten von einer Datei einlesen; Dateizugriff definieren


Zurück zum Inhaltsverzeichnis - Erste Schritte


Lektion 6: Dateizugriffe

- schneider-lastin schneider-lastin



1. Makroanweisung FILE


Mit der Makroanweisung „FILE“ können Daten in eine Datei geschrieben werden

allgemein: $$ FILE „dateiname“ = variablenname

→ Der Inhalt der angegebenen Variablen wird als nächster Satz ans Ende der angegebenen Datei geschrieben.
→ Ist die Variable eine Sternvariable, wird für jede Zeile der Variablen ein Satz ans Dateiende geschrieben.
→ Die angegebene Datei darf eine TUSTEP- oder eine ASCII-Datei sein.

FILE/ERASE: löscht zuerst die in der Datei stehenden Daten.
FILE/PRINT: gibt eine Meldung mit Angaben zu den ausgegebenen Daten ins Ablaufprotokoll aus.

Beispiel:

$$ MODE TUSCRIPT,{}
-  Datei einrichten
SET datei = "text1.txt"
SET status = CREATE (datei,fdf-t,-std-)
-  Daten in Sternvariable text abspeichern
SET text = *
DATA Dies ist der erste Satz.
DATA Dies ist der zweite Satz.
DATA ...
-  Daten in Datei schreiben, vorhandene Daten ggf. löschen
FILE/ERASE "{datei}" = text
-  Datei anzeigen
BROWSE "{datei}"


2. Makrofunktion FILE


Mit der Makrofunktion „FILE“ können Daten von einer (TUSTEP- oder Fremd-)Datei eingelesen und in eine Variable gespeichert werden

allgemein: FILE (name, auswahl, anzahl)

→ Zu den Argumenten „auswahl“ und „anzahl“ sind verschiedene Angaben möglich; siehe Handbuch.
→ Werden diese beiden Argumente weggelassen, wird der gesamte Datei-Inhalt unverändert eingelesen.
→ Die Ausgabe erfolgt in eine Sternvariable, wobei jede Zeile der Sternvariablen einem Satz (record) der Datei entspricht.

Beispiel:

$$ MODE TUSCRIPT,{}
-  Datei anmelden
SET status = OPEN ("quelldatei.tf",READ,-std-)
-  Daten der Datei in die (Stern-)Variable text speichern
SET text = FILE ("quelldatei.tf")
-  Inhalt der (Stern-)Variablen ins Ablaufprotokoll ausgeben
* {text}


3. Makroanweisung ACCESS


Neben den unter 1. und 2. beschriebenen Möglichkeiten erfolgt der Zugriff auf Daten in Dateien üblicherweise nach einer Zugriffsdefinition mit der Makroanweisung „ACCESS“; beendet wird der Dateizugriff mit der Anweisung „ENDACCESS“:

$$ MODE TUSCRIPT,{}
ACCESS daten: .....
...
ENDACCESS daten
oder mit Ausgabe einer Meldung ins Ablaufprotokoll:
ENDACCESS/PRINT daten

→ Für „daten“ steht ein frei wählbarer Name für die Daten; er wird bei allen anderen Anweisungen für den Dateizugriff anstelle eines Dateinamens verwendet, um anzugeben, auf welche Datei zugegriffen werden soll.

Folgende Arten von Dateizugriffen werden unterschieden:


Im Rahmen dieser Einführung wird lediglich das Wichtigste der ersten beiden Zugriffsarten vorgestellt. Ausführliche Informationen siehe Handbuch.

a. auf Daten mit Sätzen, Zeilen, Seiten als Texteinheiten


Anweisung allgemein:

$$ MODE TUSCRIPT,{}
ACCESS daten: modus/option "dateiname" nmmr, text, anzahl

Diese Dateizugriffe erlauben das Lesen, Beschreiben und Durchsuchen von TUSTEP- und Fremd-Dateien.

Mögliche Angaben u.a. für „modus/option“:

→ Bei Fremd-Dateien muss als zusätzliche Option der Code angegeben werden:


Mögliche Angaben für „nmmr“:


„text“: Name der Variablen, die den Text enthält

Beispiel für die Definition von Dateizugriffen bei einfachem satzweisem Kopieren:

$$ MODE TUSCRIPT,{}

ACCESS q: READ       /RECORDS "quelldatei.tf" sn.zn/un, text
ACCESS z: WRITE/ERASE/RECORDS "zieldatei.tf" sn.zn/un, text

LOOP/999999
   READ/IGNORE/EXIT q
   WRITE z
ENDLOOP

ENDACCESS/PRINT q
ENDACCESS/PRINT z



b. auf Daten mit Anfangs- und Endekennungen


Anweisung allgemein:

$$ MODE TUSCRIPT,{}
ACCESS daten: modus/option "dateiname" ...
              nmmr, aken/atab + text/ttab + eken/etab, typ

Diese Dateizugriffe erlauben das Lesen und Beschreiben von TUSTEP- und Fremd-Dateien.


Wird fortgesetzt.


Zurück zum Inhaltsverzeichnis - Erste Schritte