**Lernziele**\\ Neue Dateien einrichten; bestehende Dateien anmelden, abmelden, löschen, prüfen, umbenennen; vorhandene Dateien anzeigen\\
----
[[tuscript:tutorial:start|Zurück zum Inhaltsverzeichnis - Erste Schritte]]
----
====== Lektion 5: Dateiverwaltung ======
- {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin - {{files_open:benutzericons:kollatz-lg.jpg?nolink&16x16|kollatz}} kollatz\\ \\
----
\\ Einige der folgenden Funktionen entsprechen den Leistungen der TUSTEP-Kommandos ''#DATEI'', ''#ANMELDE'', ''#ABMELDE'', ''#LOESCHE'', ''#AENDERE'' und ''#LISTE''. Ausführliche Darstellung siehe Handbuch.\\ \\
===== 1. Einrichten einer Datei: CREATE =====
\\ **allgemein: CREATE (name, typ-option, traeger)**\\
$$ MODE TUSCRIPT,{}
- Einrichten einer temporären TUSTEP-Datei 'test1'
ERROR/STOP CREATE ("test1",seq-t,-std-)
- Einrichten einer temporären TUSTEP-Datei 'test2', die ohne Nachfragen überschrieben werden kann
ERROR/STOP CREATE ("test2",seq-e,-std-)
- Einrichten einer permanenten TUSTEP-Datei 'test2.tf'
ERROR/STOP CREATE ("test2.tf",seq-p,-std-)
- Einrichten einer permanenten Fremddatei 'test3.txt'
ERROR/STOP CREATE ("test3.txt",fdf-p,-std-)
**►** Eine Datei wird beim Einrichten gleichzeitig **auch zum Schreiben angemeldet**.\\ \\ **Alternative Angaben**\\
* **zu name:** Statt eines in " " eingeschlossenen Dateinamens kann eine **Variable** angegeben werden, die den Dateinamen enthält.
* **zu typ:** Statt "SEQ" (für TUSTEP-Dateien mit sequentiellem Zugriff) kann auch "RAN" (für TUSTEP-Dateien mit schnellem random-Zugriff) angegeben werden.
* **zu option:** Statt **t** (für temporäre Dateien) oder **p** (für permanente Dateien) kann auch **o** angegeben werden; dann wird zuerst versucht, die angegebene Datei zum Schreiben anzumelden, existiert sie noch nicht, wird eine permanente Datei eingerichtet.<
\\
===== 2. Anmelden einer Datei: OPEN =====
\\ **allgemein: OPEN (name, modus, traeger)**\\ Eine Datei kann **zum Lesen** (modus=READ) oder **zum Schreiben** (modus=WRITE) angemeldet werden.\\
$$ MODE TUSCRIPT,{}
SET datei = "test2.tf"
- Anmelden einer Datei zum Lesen
ERROR/STOP OPEN (datei,READ,-std-)
- Anmelden einer Datei zum Schreiben
ERROR/STOP OPEN (datei,WRITE,-std-)
\\
===== 3. Abmelden einer Datei: CLOSE =====
\\ **allgemein: CLOSE (name)**\\ Wird eine **temporäre Datei** abgemeldet, so wird sie gelöscht.\\
$$ MODE TUSCRIPT,{}
SET datei = "test2.tf"
ERROR/STOP CLOSE (datei)
\\
===== 4. Löschen einer Datei: DELETE =====
\\ **allgemein: DELETE (name)**\\
$$ MODE TUSCRIPT,{}
SET datei = "test2.tf"
ERROR/STOP DELETE (datei)
**►** Sollen **nur die Daten in einer Datei gelöscht** werden, so lautet die Makrofunktion **ERASE (name)**.\\ \\
===== 5. Prüfen einer Datei: CHECK =====
\\ **allgemein: CHECK (name, art, typ)**\\ **Angaben**\\
* **zu art:** WRITE prüft, ob die Datei zum Schreiben angemeldet ist, READ, ob die Datei zum Lesen oder Schreiben angemeldet ist.
* **zu typ:** TUSTEP prüft, ob die Datei eine TUSTEP-Datei ist, SYSTEM, ob die Datei eine Fremddatei ist.
**Beispiel:**\\
$$ MODE TUSCRIPT,{}
SET datei = "test3.txt"
ERROR/STOP CHECK (datei,READ,SYSTEM)
\\
===== 6. Umbenennen einer Datei: RENAME =====
\\ **allgemein: RENAME (altername, neuername)**\\
$$ MODE TUSCRIPT,{}
SET alt = "textalt.tf", neu = "textneu.tf"
ERROR/STOP RENAME (alt, neu)
\\
===== 7. Kopieren einer Datei: COPY =====
\\ **allgemein: COPY (dateia, dateib)**\\
SET a = "dateia.tf", b = "dateib.tf"
ERROR/STOP COPY (a,b)
**►** Die Daten in der Zieldatei werden überschrieben.\\ \\
===== 8. Liste aller angemeldeten Dateien: FILES =====
\\ **allgemein: FILES ()**\\
$$ MODE TUSCRIPT,{}
SET list = FILES ()
In die Variable "list" werden alle angemeldeten Dateien (auch temporäre) abgespeichert.\\ \\ **Erweiterung:**\\ **Ausgabe** ("PRINT") der **Anzahl** ("SIZE") und der **Namen** ("FILES") der Dateien:\\
$$ MODE TUSCRIPT,{}
SET list = FILES ()
SET number = SIZE (list)
PRINT number
PRINT list
\\
===== 9. Liste aller Dateien: FILE_NAMES =====
\\ **allgemein: FILE_NAMES (projekt, traeger)**\\ Hier mit projekt = + (= Dateien im aktuellen Projekt)\\
$$ MODE TUSCRIPT,{}
SET list = FILE_NAMES (+,-std-)
PRINT list
\\
----
[[tuscript:tutorial:start|Zurück zum Inhaltsverzeichnis - Erste Schritte]]