Sign in Join
Wiki copytemporary

binary file/de: what changed

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

OldNewLine
1-Zurück zu den [[File types/de|Dateitypen]].
2-
3-
4-
5-## Contents
6-
7- * 1 Binärdatei
8- * 2 Datei erstellen
9- * 3 Datei schliessen
10- * 4 Ein Zeichen an das Ende einer bestehende Datei anfügen
11- * 5 Ein Zeichen in einer bestehende Datei ersetzen
12- * 6 Datei komplett lesen
1+Zurück zu den [[File types/de|Dateitypen]].\
132
143# Binärdatei
154
16-Eine Binärdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.
5+Eine Binärdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.
176
18-Bei Binärdateien, wird der Inhalt einer Datei Zeichen für Zeichen eingelesen. Umgekehrt wird die Datei Zeichen für Zeichen geschrieben.
7+Bei Binärdateien, wird der Inhalt einer Datei Zeichen für Zeichen eingelesen. Umgekehrt wird die Datei Zeichen für Zeichen geschrieben.
198
20-Wird eine Datei als Binärdatei geöffnet, dann kann an einer beliebigen Stelle in der Datei ein Zeichen geändert werden.
9+Wird eine Datei als Binärdatei geöffnet, dann kann an einer beliebigen Stelle in der Datei ein Zeichen geändert werden.
2110
22-In eine mit FILE OF definierte Datei können nun Daten desselben Typs geschrieben und gelesen werden.
11+In eine mit FILE OF definierte Datei können nun Daten desselben Typs geschrieben und gelesen werden.
2312
24-Mit FILE OF können Binärdateien u. a. wie folgt definiert werden:
25-```
13+Mit FILE OF können Binärdateien u. a. wie folgt definiert werden:
14+
15+``` pascal
2616var
27- datByte: File of Byte; // liest und schreibt immer ein Zeichen
28- datChar: File of Char; // liest und schreibt immer ein Zeichen
29- datInt: File of Integer; // liest und schreibt immer zwei Zeichen
30- ...
17+ datByte: File of Byte; // liest und schreibt immer ein Zeichen
18+ datChar: File of Char; // liest und schreibt immer ein Zeichen
19+ datInt: File of Integer; // liest und schreibt immer zwei Zeichen
20+ ...
3121```
3222
33-Mit dem Befehl SEEK kann auf jede Stelle in der Binärdatei zugegriffen werden.
23+Mit dem Befehl SEEK kann auf jede Stelle in der Binärdatei zugegriffen werden.
3424
3525# Datei erstellen
36-```
26+
27+``` pascal
3728var
38- datDatei: file of char;
39- chrZeichen: char;
40-
41- begin
42- Assignfile(datDatei, 'D:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu und öffnet die Datei
43- ReWrite(datDatei); // Eine alte Datei wird soweit vorhanden überschrieben
44- chrZeichen := 'A';
45- Write(datDatei, chrZeichen); // Schreibt das erste Zeichen in die neue Datei
46- ...
47- end;
29+ datDatei: file of char;
30+ chrZeichen: char;
31+
32+begin
33+ Assignfile(datDatei, 'D:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu und öffnet die Datei
34+ ReWrite(datDatei); // Eine alte Datei wird soweit vorhanden überschrieben
35+ chrZeichen := 'A';
36+ Write(datDatei, chrZeichen); // Schreibt das erste Zeichen in die neue Datei
37+ ...
38+end;
4839```
4940
5041# Datei schliessen
51-```
42+
43+``` pascal
5244var
53- datDatei: file of char;
54- chrZeichen: char;
55-
56- begin
57- ...
58- CloseFile(datDatei); //Schliesst die Datei
59- end;
60-```
45+ datDatei: file of char;
46+ chrZeichen: char;
6147
62-
48+begin
49+ ...
50+ CloseFile(datDatei); //Schliesst die Datei
51+end;
52+```
6353
6454# Ein Zeichen an das Ende einer bestehende Datei anfügen
6555
66-Bei Binärdateien kann mit Hilfe des Befehls Seek am Ende einer Datei ein Zeichen hinzugefügt werden.
67-```
56+Bei Binärdateien kann mit Hilfe des Befehls Seek am Ende einer Datei ein Zeichen hinzugefügt werden.
57+
58+``` pascal
6859var
69- datDatei: file of char;
70- chrZeichen: char;
71-
72- begin
73- AssignFile(datDatei, 'd:\beispiel.txt');
74- Reset(datDatei); // Setzt den Dateizeiger auf den Dateianfang
75- seek(datDatei, FileSize(datDatei)); // Ermittelt das Dateiende und setzt den Dateizeiger auf das Dateiende
76- chrZeichen := 'b';
77- Write(datDatei, chrZeichen); // Schreibt ein weiteres Zeichen an das Dateiende
78- ...
60+ datDatei: file of char;
61+ chrZeichen: char;
62+
63+begin
64+ AssignFile(datDatei, 'd:\beispiel.txt');
65+ Reset(datDatei); // Setzt den Dateizeiger auf den Dateianfang
66+ seek(datDatei, FileSize(datDatei)); // Ermittelt das Dateiende und setzt den Dateizeiger auf das Dateiende
67+ chrZeichen := 'b';
68+ Write(datDatei, chrZeichen); // Schreibt ein weiteres Zeichen an das Dateiende
69+ ...
7970```
8071
8172# Ein Zeichen in einer bestehende Datei ersetzen
8273
83-Bei Binärdateien kann mit Hilfe des Befehls Seek an einer beliebigen Stelle der Datei ein Zeichen ersetzt werden.
84-```
74+Bei Binärdateien kann mit Hilfe des Befehls Seek an einer beliebigen Stelle der Datei ein Zeichen ersetzt werden.
75+
76+``` pascal
8577var
86- datDatei: file of char;
87- chrZeichen: char;
88-
89- begin
90- AssignFile(datDatei, 'd:\beispiel.txt');
91- Reset(datDatei); // Setzt den Dateizeiger auf den Dateianfang
92- seek(datDatei, 1); // Ermittelt das zweite Zeichen in einer Datei
93- chrZeichen := 'f';
94- Write(datDatei, chrZeichen); // Überschreibt das zweite Zeichen in der Datei
95- ...
78+ datDatei: file of char;
79+ chrZeichen: char;
80+
81+begin
82+ AssignFile(datDatei, 'd:\beispiel.txt');
83+ Reset(datDatei); // Setzt den Dateizeiger auf den Dateianfang
84+ seek(datDatei, 1); // Ermittelt das zweite Zeichen in einer Datei
85+ chrZeichen := 'f';
86+ Write(datDatei, chrZeichen); // Überschreibt das zweite Zeichen in der Datei
87+ ...
9688```
9789
9890# Datei komplett lesen
99-```
91+
92+``` pascal
10093var
101- datDatei: file of char;
102- chrZeichen: char;
103-
104- begin
105- AssignFile(datDatei, 'D:\beispiel.txt');
106- Reset(datDatei);
107- read(datDatei, chrZeichen);
94+ datDatei: file of char;
95+ chrZeichen: char;
96+
97+begin
98+ AssignFile(datDatei, 'D:\beispiel.txt');
99+ Reset(datDatei);
100+ read(datDatei, chrZeichen);
101+ ...
102+ while not eof(datDatei) // mach weiter, solange noch Daten zu lesen sind
103+ do begin
108104 ...
109- while not eof(datDatei) // mach weiter, solange noch Daten zu lesen sind
110- do begin
111- ...
112- read(datDatei, chrZeichen); // liest ein einzelnes Zeichen
113- end;
114- CloseFile(datDatei);
105+ read(datDatei, chrZeichen); // liest ein einzelnes Zeichen
115106 end;
107+ CloseFile(datDatei);
108+end;
116109```
117110
118111---
119-*From the Free Pascal wiki, page "binary file/de", as the Internet Archive kept it on 2025-05-04. 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).*
112+*From the Free Pascal wiki, page "binary file/de", as it stood on 2022-01-28 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