Lernziele
Daten in eine Datei schreiben; Daten von einer Datei einlesen; Dateizugriff definieren
Zurück zum Inhaltsverzeichnis - Erste Schritte
-
schneider-lastin
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}"
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}
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.
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
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.