Difference between revisions of "binary file/de"

From Free Pascal wiki
Jump to navigationJump to search
(Created page with "{{binary file}} <br> Zurück zu den Dateitypen.<br> <br> __TOC__ <br> =Binärdatei= Eine Binärdatei eignet sich für die Verarbeitung von Dateien jeder Grö...")
 
(Move categories to page template)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
{{binary file}}
 
{{binary file}}
<br>
+
 
 +
 
 
Zurück zu den [[File types/de|Dateitypen]].<br>
 
Zurück zu den [[File types/de|Dateitypen]].<br>
<br>
+
 
__TOC__
+
 
<br>
 
 
=Binärdatei=
 
=Binärdatei=
Eine Binärdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.<br>
+
 
Bei Binärdateien, wird der Inhalt einer Datei Zeichen für Zeichen eingelesen. Umgekehrt wird die Datei Zeichen für Zeichen geschrieben.<br>
+
Eine Binärdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.
Wird eine Datei als Binärdatei geöffnet, dann kann an einer beliebigen Stelle in der Datei ein Zeichen geändert werden.<br>
+
 
In eine mit FILE OF definierte Datei können nun Daten desselben Typs geschrieben und gelesen werden.<br>
+
Bei Binärdateien, wird der Inhalt einer Datei Zeichen für Zeichen eingelesen. Umgekehrt wird die Datei Zeichen für Zeichen geschrieben.
 +
 
 +
Wird eine Datei als Binärdatei geöffnet, dann kann an einer beliebigen Stelle in der Datei ein Zeichen geändert werden.
 +
 
 +
In eine mit FILE OF definierte Datei können nun Daten desselben Typs geschrieben und gelesen werden.
 +
 
 
Mit FILE OF können Binärdateien u. a. wie folgt definiert werden:
 
Mit FILE OF können Binärdateien u. a. wie folgt definiert werden:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datByte: File of Byte;  // liest und schreibt immer ein Zeichen
 
   datByte: File of Byte;  // liest und schreibt immer ein Zeichen
Line 18: Line 24:
 
   ...
 
   ...
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
Mit dem Befehl SEEK kann auf jede Stelle in der Binärdatei zugegriffen werden.<br>
+
Mit dem Befehl SEEK kann auf jede Stelle in der Binärdatei zugegriffen werden.
  
 
=Datei erstellen=
 
=Datei erstellen=
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: file of char;
 
   datDatei: file of char;
Line 35: Line 42:
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
  
 
=Datei schliessen=
 
=Datei schliessen=
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: file of char;
 
   datDatei: file of char;
Line 48: Line 55:
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
  
 
=Ein Zeichen an das Ende einer bestehende Datei anfügen=
 
=Ein Zeichen an das Ende einer bestehende Datei anfügen=
 +
 
Bei Binärdateien kann mit Hilfe des Befehls Seek am Ende einer Datei ein Zeichen hinzugefügt werden.
 
Bei Binärdateien kann mit Hilfe des Befehls Seek am Ende einer Datei ein Zeichen hinzugefügt werden.
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: file of char;
 
   datDatei: file of char;
Line 65: Line 74:
 
   ...
 
   ...
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
  
 
=Ein Zeichen in einer bestehende Datei ersetzen=
 
=Ein Zeichen in einer bestehende Datei ersetzen=
 +
 
Bei Binärdateien kann mit Hilfe des Befehls Seek an einer beliebigen Stelle der Datei ein Zeichen ersetzt werden.
 
Bei Binärdateien kann mit Hilfe des Befehls Seek an einer beliebigen Stelle der Datei ein Zeichen ersetzt werden.
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: file of char;
 
   datDatei: file of char;
Line 82: Line 92:
 
   ...
 
   ...
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
  
 
=Datei komplett lesen=
 
=Datei komplett lesen=
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: file of char;
 
   datDatei: file of char;
Line 103: Line 113:
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 07:51, 6 January 2014 (CET)
 
[[Category:Code/de]]{{AutoCategory}}
 

Latest revision as of 23:49, 28 January 2022

Deutsch (de) English (en) polski (pl)


Zurück zu den Dateitypen.


Binärdatei

Eine Binärdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.

Bei Binärdateien, wird der Inhalt einer Datei Zeichen für Zeichen eingelesen. Umgekehrt wird die Datei Zeichen für Zeichen geschrieben.

Wird eine Datei als Binärdatei geöffnet, dann kann an einer beliebigen Stelle in der Datei ein Zeichen geändert werden.

In eine mit FILE OF definierte Datei können nun Daten desselben Typs geschrieben und gelesen werden.

Mit FILE OF können Binärdateien u. a. wie folgt definiert werden:

var
  datByte: File of Byte;   // liest und schreibt immer ein Zeichen
  datChar: File of Char;   // liest und schreibt immer ein Zeichen
  datInt: File of Integer; // liest und schreibt immer zwei Zeichen
  ...

Mit dem Befehl SEEK kann auf jede Stelle in der Binärdatei zugegriffen werden.

Datei erstellen

var
  datDatei: file of char;
  chrZeichen: char;

begin
  Assignfile(datDatei, 'D:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu und öffnet die Datei
  ReWrite(datDatei); // Eine alte Datei wird soweit vorhanden überschrieben
  chrZeichen := 'A';
  Write(datDatei, chrZeichen); // Schreibt das erste Zeichen in die neue Datei 
  ...
end;

Datei schliessen

var
  datDatei: file of char;
  chrZeichen: char;

begin
  ...
  CloseFile(datDatei); //Schliesst die Datei
end;


Ein Zeichen an das Ende einer bestehende Datei anfügen

Bei Binärdateien kann mit Hilfe des Befehls Seek am Ende einer Datei ein Zeichen hinzugefügt werden.

var
  datDatei: file of char;
  chrZeichen: char;

begin
  AssignFile(datDatei, 'd:\beispiel.txt');
  Reset(datDatei); // Setzt den Dateizeiger auf den Dateianfang
  seek(datDatei, FileSize(datDatei)); // Ermittelt das Dateiende und setzt den Dateizeiger auf das Dateiende
  chrZeichen := 'b';
  Write(datDatei, chrZeichen); // Schreibt ein weiteres Zeichen an das Dateiende
  ...

Ein Zeichen in einer bestehende Datei ersetzen

Bei Binärdateien kann mit Hilfe des Befehls Seek an einer beliebigen Stelle der Datei ein Zeichen ersetzt werden.

var
  datDatei: file of char;
  chrZeichen: char;

begin
  AssignFile(datDatei, 'd:\beispiel.txt');
  Reset(datDatei); // Setzt den Dateizeiger auf den Dateianfang
  seek(datDatei, 1); // Ermittelt das zweite Zeichen in einer Datei
  chrZeichen := 'f';
  Write(datDatei, chrZeichen); // Überschreibt das zweite Zeichen in der Datei
  ...

Datei komplett lesen

var
  datDatei: file of char;
  chrZeichen: char;

begin
  AssignFile(datDatei, 'D:\beispiel.txt');
  Reset(datDatei);
  read(datDatei, chrZeichen);
  ...
  while not eof(datDatei)   // mach weiter, solange noch Daten zu lesen sind
    do begin
      ...
      read(datDatei, chrZeichen); // liest ein einzelnes Zeichen
    end;
  CloseFile(datDatei);
end;