Sign in Join
Wiki copytemporary

untyped files/de: what changed

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

Title: untyped files/de

OldNewLine
1+Zurück zu den [[File types/de|Dateitypen]].\
2+
3+# untypisierte Textdatei
4+
5+Eine untypisierte Textdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.\
6+Bei untypisierten Dateien, wird der Inhalt einer Datei Zeile für Zeile eingelesen. Umgekehrt wird die Datei Zeile für Zeile geschrieben. Die Datensätze einer untypisierten Datei können von unterschiedlicher Länge sein.
7+
8+# Datei erstellen
9+
10+``` pascal
11+var
12+ datDatei: TextFile; // oder: datDatei: Text
13+ strName: String;
14+ sinGehalt: Single;
15+begin
16+ Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu und öffnet die Datei
17+ ReWrite(datDatei); // Die alte Datei wird überschrieben
18+ strName := 'qwert';
19+ sinGehalt := 1800.23;
20+ WriteLn(datDatei, strName, sinGehalt); // Schreibt den ersten Datensatz in die neue Datei
21+ ...
22+end;
23+```
24+
25+Im Compiler-Modus `OBJPFC` oder `DELPHI` steht zusätzlich zu `Assign` auch die Prozedur `AssignFile` zur Verfügung, um eine Verwechslung mit `TPersistent.Assign` auszuschließen.
26+
27+# Datei öffnen
28+
29+``` pascal
30+var
31+ datDatei: TextFile;
32+ strName: String;
33+ sinGehalt: Single;
34+begin
35+ Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
36+ Reset(datDatei); // Setzt den Dateizeiger auf den Anfang der Datei
37+ ReadLn(datDatei, strName, sinGehalt); // Liest die erste Zeile aus der Datei ein
38+ ReadLn(datDatei, strName, sinGehalt); // Liest die zweite Zeile aus der Datei ein
39+ ...
40+end;
41+```
42+
43+# Datei schliessen
44+
45+``` pascal
46+var
47+ datDatei: TextFile;
48+ strName: String;
49+ sinGehalt: Single;
50+begin
51+ ...
52+ Close(datDatei); //Schliesst die Datei
53+end;
54+```
55+
56+Analog zu `AssignFile`/`Assign` steht im Compiler-Modus `OBJPFC` oder `DELPHI` steht auch die Prozedur `CloseFile` zur Verfügung.
57+
58+# Datensatz an eine vorhandenen Datei anfügen
59+
60+Bei Textdateien (untypisierten Dateien) kann mit Hilfe des Befehls Append am Ende der Datei ein Datensatz angefügt werden.
61+
62+``` pascal
63+var
64+ datDatei: TextFile;
65+ strName: String;
66+ sinGehalt: Single;
67+begin
68+ Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
69+ Append(datDatei); // Öffnet die Datei für den Schreibzugriff und erlaubt das Anfügen von Datensätzen an das Ende der Datei
70+ strName := 'sdf';
71+ sinGehalt := 2001.21;
72+ WriteLn(datDatei, strName,sinGehalt); // Schreibt einen weiteren Datensatz in die neue Datei
73+ Close(datDatei); //Schliesst die Datei
74+```
75+
76+# Datei komplett lesen
77+
78+``` pascal
79+var
80+ datDatei: TextFile;
81+ strName: String;
82+ sinGehalt: Single;
83+begin
84+ Assign(datDatei, 'D:\beispiel.txt');
85+ Reset(datDatei);
86+ while not eof(datDatei) //solange noch Daten zu lesen sind
87+ do begin
88+ read(datDatei, strName, sinGehalt);
89+ end;
90+ Close(datDatei);
91+end;
92+```
93+
94+---
95+*From the Free Pascal wiki, page "untyped files/de", as it stood on 2022-01-29 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