Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

tuscript:tutorial:lektion_6

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:

  • auf Daten mit Sätzen, Zeilen, Seiten als Texteinheiten
  • auf Daten mit Anfangs- und Endekennungen
  • auf Daten mit Tags
  • auf Daten mit definierten Strukturen


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“:

  • READ/RECORDS - falls von der angegebenen Datei nur gelesen werden soll
  • UPDATE/RECORDS (nur TUSTEP-Dateien) - falls gelesen und geschrieben werden soll
  • UPDATE/ERASE/RECORDS („ “) - dto., alle Daten in der Datei werden gelöscht
  • WRITE/RECORDS - falls nur ans Ende der Datei geschrieben werden soll
  • WRITE/ERASE/RECORDS - dto., alle Daten in der Datei werden gelöscht

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

  • ISO oder UTF8 oder UTF16


Mögliche Angaben für „nmmr“:

  • Bei Fremd-Dateien: Name einer Variablen
  • Bei TUSTEP-Dateien mit Modus RECORDS drei Variablennamen für Seiten-, Zeilen- und Unterscheidungsnummer, z.B. sn.zn/un


„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

tuscript/tutorial/lektion_6.txt · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)