Startseite | Links | Kontakt | Der WebMaster |
| Know How |
| Tutorials |
| Quelltexte |
Turbo Pascal - Teil 6
Dateiverwaltung und -bearbeitung mit Turbo Pascal!
Wie ist eine Datei aufgebaut?
Um eine Datei erzeugen zu können, muß man sich zunächst über die
Bestandteile einer solchen im Klaren sein. ~ Dateiextension ~ Struktur und Inhalt Der Dateiname: Je nach dem welche Funktion eine Datei hat, ist der Name vom Entwickler festgelegt oder kann vom User eingegeben werden. Die Dateiextension:
Dieser Bestandteil gibt in der Regel Aufschluß über Zweck,Verwendung und
Herkunft der Datei. !! Tip !!
Wählen Sie die Dateiendungen möglichst logisch aus, so daß sie die
Charistika erfüllt
(Information zu Art und Herkunft). Wenn Sie beispielsweise eine
Textverarbeitung geschrieben haben, so könnten Sie die folgenden Endungen
benutzen : *.txt ; *.wri . Struktur und Inhalt einer Datei: Das wichtigste bei der Dateierzeugung ist die Angabe der Dateistruktur. Denn nicht jede Datei hat den gleichen Aufbau. Bei der Dateiarbeit mit Turbo Pascal hat man die Möglichkeit drei Arten einer Datei zu erzeugen :
~ Typisierte Dateien, besitzen eine eindeutige Struktur. ~ Textdateien, sind vordefinierte typisierte Dateien. Die Struktur ihrer Datensätze besteht aus einen Array des Typs CHAR. ~ Untypisierte Dateien, haben keine klare Struktur.
Praktische Umsetzung :
Im folgenden lernen Sie, wei man typisierte Dateien erzeugt und bearbeiten
kann. Bei der Dateierarbeit müßen Sie folgende drei Schritte nacheinander bearbeiten.
1.) Datei öffnen
Bevor Sie diese Schritte jedoch einleiten können müßen Sie die Dateistruktur
festlegen.
Type Struktur = record;
Spielername : string[100];
Punktzahl : integer;
end;
Nun muß nur noch eine Dateivariable vereinbart werden und ein Großteil der
Vorarbeit ist erledigt.
VAR Datei : File of Struktur;
"File of" indiziert, daß die Variable "Datei" eine Datei mit dem Aufbau von
Struktur ist. Sie brauchen jetzt noch Variable für den Datensatz. VAR Satz : Struktur;Wichtig ist, dass die Datensatzvariable vom gleichen Datentyp ist, wie der logische Name. Der physische Name ist der Name unter dem die Datei gespeichert wird. Mit Hilfe der ASSIGN-Anweisung wird das realisiert. ASSIGN(Datei,'Liste.sco');
Tritt nun im Programm die Variable "Datei" auf, so weiß der Rechner, daß
damit die Datei "Liste.sco" gemeint ist. ASSIGN(Datei,'Liste.sco'); REWRITE(Datei); Die REWRITE-Anweisung legt also eine Datei auf einen Datenträger an und überschreibt, falls vorhanden, eine namensgleiche Datei.
Öffnung einer Datei
Ist die Datei schon vorhanden, so braucht sie natürlich nicht mehr erzeugt
zu werden. ASSIGN(Datei,'Liste.sco'); RESET(Datei); Jetzt muß man die oder den Datensatz einlesen, damit man dessen Daten auf dem Monitor ausgeben kann. READ(Datei,Satz); Wenn Sie jetzt die Informationen ausgeben möchten, verwenden Sie einfach die Variablen, welche in "Struktur" festgelegt wurden. Diese Variablen stehen aber nun in Abhängigkeit von "Satz".
WRITE(Satz.Spielername); WRITELN(Satz.Punktzahl);
Da man aber nicht immer weiß wieviel Datensätze die Datei hat, kann man
diese mit Hilfe der EOF-Anweisung bis zum letzten Satz auslesen lassen.
WHILE NOT EOF(Datei) DO
BEGIN
READ(Datei,Satz);
WRITE(Satz.Spielername);
WRITELN(Satz.Punktzahl);
END;
Übrigens : EOF steht für End Of File !
Wenn Sie aber nur bestimmte Datensätze auslesen möchten, haben Sie die
Möglichkeit, das mit der SEEK-Anweisung zu tuen. SEEK(Datei,2);
Dadurch setzen Sie den Zeiger, welcher auf den aktuellen Datensatz zeigt,
manipulieren.
Speichern einer Datei: Zunächst muß die Datei angelegt werden, dass haben Sie ja schon gelernt . ASSIGN(Datei,'Liste.sco'); REWRITE(Datei); Nun müßen die Daten eingelesen werden, welche gespeichert werden soll. READLN(Satz.Spielername); READLN(Satz.Punktzahl); Jetzt speichern Sie die Daten in der Datei, indem Sie die WRITE-Anweisung verwenden. WRITE(Datei,Satz); Da Sie vielleicht mehrere Datensätze in der Datei einlesen, können Sie abermals eine Schleife benutzen.
REPEAT
READLN(Satz.Spielername);
READLN(Satz.Punktzahl);
WRITE(Datei);
WRITE('Weitere Datensätze eingeben ? [ n / j ] ');
READLN(Taste);
UNTIL Taste = 'n';
Bei diesem Beispiel kann man also solange Datensätze in die Datei schreiben bis man die Anfrage mit der Taste 'n' bestätigt.
Schließen einer Datei: Ist die Datei geöffnet, kann man sie bearbeiten, danach muß diese wieder geschloßen werden, da sonst wichtige Daten verloren gehen können.
CLOSE(Datei); Als Entwickler sollten Sie darauf achten, die Dateien vor dem Beenden des Programmers wieder zu schließen, um Datenverluste zu vermeiden.
Löschen einer Datei: Es ist hin und wieder notwendig eine Datei zu löschen. Unter Turbo Pascal können Sie das mit der ERASE-Anweisung fertigkriegen.
Umbennen einer Datei: Das Umbenennen einer Datei funktioniert genauso einfach, wie das Schließen oder Löschen der selbigen. RENAME(Datei); Wichtig ist jedoch, das beim Löschen und Umbennen die Datei geschloßen ist !
Anhang ----------- Im folgenden erhalten Sie noch einen Überblick einiger wichtiger Befehle, welche für die Dateibearbeitung unter Turbo Pascal sehr hilfreich sind. Den Syntax der angebenen Befehle können Sie ggf. mit Hilfe des Hilfeindex von Turbo Pascal in Erfahrung bringen.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||