Sign in Join
Wiki copytemporary

typed files/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: typed files/de

OldNewLine
1+Zurück zu den [[File types/de|Dateitypen]].
2+
3+# typisierte Datei
4+
5+Eine typisierte Textdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.
6+
7+Eine typisierte Textdatei besteht aus einzelnen Datensätzen. Alle Datensätze in der Datei haben die gleiche Struktur. Das heisst, dass jeder Datensatz gleich lang ist.
8+
9+# Festlegen der Struktur für Datei und Datensatz
10+
11+Die Struktur gilt für den Dateityp und den Datensatztyp. Datei und Datensatz müssen die gleiche Struktur haben.
12+
13+``` pascal
14+type
15+ TMitarbeiter = record
16+ strName : string[20];
17+ sinGehalt : single;
18+end;
19+```
20+
21+# Erstellen der Datei
22+
23+``` pascal
24+var
25+ datDatei: File of TMitarbeiter;
26+ recDatensatz: TMitarbeiter;
27+begin
28+ AssignFile(datDatei, 'D:\beispiel.txt');
29+ ReWrite(datDatei); // Erstellt die neue Datei
30+ // Eine bereits vorhandene Datei wird dabei gelöscht und neu erstellt
31+ ...
32+end;
33+```
34+
35+# Schliesssen der Datei
36+
37+``` pascal
38+begin
39+ ...
40+ Close(datDatei); // Schliesst die Datei
41+ ...
42+end;
43+```
44+
45+# Datensatz schreiben
46+
47+``` pascal
48+var
49+ datDatei: File of TMitarbeiter;
50+ recDatensatz: TMitarbeiter;
51+begin
52+ ...
53+ // Datensatz füllen
54+ recDatensatz.strName := 'abcdefghij';
55+ recDatensatz.sinGehalt := 1700.21;
56+ Write(datDatei, recDatensatz); // Schreibt den Datensatz in die Datei
57+ ...
58+end;
59+```
60+
61+# Datensatz lesen
62+
63+``` pascal
64+var
65+ datDatei: File of TMitarbeiter;
66+ recDatensatz: TMitarbeiter;
67+begin
68+ AssignFile(datDatei, 'D:\beispiel.txt');
69+ Reset(datDatei); // Setzt den Dateizeiger auf den Anfang der Datei
70+ Read(datDatei, recDatensatz); // Liest den Datensatz aus der Datei
71+ ...
72+end;
73+```
74+
75+# Datei komplett lesen
76+
77+``` pascal
78+var
79+ datDatei: File of TMitarbeiter;
80+ recDatensatz: TMitarbeiter;
81+begin
82+ AssignFile(datDatei, 'D:\beispiel.txt');
83+ Reset(datDatei);
84+ while not eof(datDatei) //solange noch Daten zu lesen sind
85+ do begin
86+ read(datDatei,recDatensatz);
87+ end;
88+ CloseFile(datDatei);
89+end;
90+```
91+
92+# Zeiger auf Datensatz positionieren
93+
94+``` pascal
95+begin
96+ AssignFile(datDatei, 'D:\beispiel.txt');
97+ Reset(datDatei);
98+ ...
99+ Seek(datDatei,0);
100+ Read(datDatei, recDatensatz);
101+ recDatensatz.sinGehalt :=1602.22;
102+ Write(datDatei, recDatensatz);
103+ ...
104+end;
105+```
106+
107+---
108+*From the Free Pascal wiki, page "typed files/de", as it stood on 2020-03-02 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history