Difference between revisions of "untyped files/de"

From Free Pascal wiki
Jump to navigationJump to search
m (some typos)
(Add page template; move categories to template)
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{untyped files}}
 
{{untyped files}}
<br>
+
 
 
Zurück zu den [[File types/de|Dateitypen]].<br>
 
Zurück zu den [[File types/de|Dateitypen]].<br>
<br>
+
 
 
__TOC__
 
__TOC__
<br>
+
 
 
=untypisierte Textdatei=
 
=untypisierte Textdatei=
 +
 
Eine untypisierte Textdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.<br>
 
Eine untypisierte Textdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.<br>
 
Bei untypisierten Dateien, wird der Inhalt einer Datei Zeile für Zeile eingelesen. Umgekehrt wird die Datei Zeile für Zeile geschrieben.
 
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.
 
Die Datensätze einer untypisierten Datei können von unterschiedlicher Länge sein.
 +
 
=Datei erstellen=
 
=Datei erstellen=
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
   datDatei: TextFile;
+
   datDatei: TextFile;   // oder: datDatei: Text
 
   strName: String;
 
   strName: String;
 
   sinGehalt: Single;
 
   sinGehalt: Single;
 
begin
 
begin
   AssignFile(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu und öffnet die Datei
+
   Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu und öffnet die Datei
 
   ReWrite(datDatei); // Die alte Datei wird überschrieben
 
   ReWrite(datDatei); // Die alte Datei wird überschrieben
 
   strName := 'qwert';
 
   strName := 'qwert';
   sinGehalt := '1800.23';
+
   sinGehalt := 1800.23;
 
   WriteLn(datDatei, strName, sinGehalt); // Schreibt den ersten Datensatz in die neue Datei
 
   WriteLn(datDatei, strName, sinGehalt); // Schreibt den ersten Datensatz in die neue Datei
 
   ...
 
   ...
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
 +
Im Compiler-Modus <tt>OBJPFC</tt> oder <tt>DELPHI</tt> steht zusätzlich zu <tt>Assign</tt> auch die Prozedur <tt>AssignFile</tt> zur Verfügung, um eine Verwechslung mit <tt>TPersistent.Assign</tt> auszuschließen.
 +
 
 
=Datei öffnen=
 
=Datei öffnen=
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: TextFile;
 
   datDatei: TextFile;
Line 32: Line 38:
 
   sinGehalt: Single;
 
   sinGehalt: Single;
 
begin
 
begin
   AssignFile(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
+
   Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
 
   Reset(datDatei); // Setzt den Dateizeiger auf den Anfang der Datei
 
   Reset(datDatei); // Setzt den Dateizeiger auf den Anfang der Datei
 
   ReadLn(datDatei, strName, sinGehalt); // Liest die erste Zeile aus der Datei ein
 
   ReadLn(datDatei, strName, sinGehalt); // Liest die erste Zeile aus der Datei ein
Line 39: Line 45:
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
 
=Datei schliessen=
 
=Datei schliessen=
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: TextFile;
 
   datDatei: TextFile;
Line 48: Line 55:
 
begin
 
begin
 
   ...
 
   ...
   CloseFile(datDatei); //Schliesst die Datei
+
   Close(datDatei); //Schliesst die Datei
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
=Datensatz an Datei anfügen=
+
Analog zu <tt>AssignFile</tt>/<tt>Assign</tt> steht im Compiler-Modus <tt>OBJPFC</tt> oder <tt>DELPHI</tt> steht auch die Prozedur <tt>CloseFile</tt> zur Verfügung.
 +
 
 +
=Datensatz an eine vorhandenen Datei anfügen=
 +
 
 
Bei Textdateien (untypisierten Dateien) kann mit Hilfe des Befehls Append am Ende der Datei ein Datensatz angefügt werden.
 
Bei Textdateien (untypisierten Dateien) kann mit Hilfe des Befehls Append am Ende der Datei ein Datensatz angefügt werden.
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: TextFile;
 
   datDatei: TextFile;
Line 60: Line 71:
 
   sinGehalt: Single;
 
   sinGehalt: Single;
 
begin
 
begin
   AssignFile(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
+
   Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
 
   Append(datDatei); // Öffnet die Datei für den Schreibzugriff und erlaubt das Anfügen von Datensätzen an das Ende der Datei
 
   Append(datDatei); // Öffnet die Datei für den Schreibzugriff und erlaubt das Anfügen von Datensätzen an das Ende der Datei
 
   strName := 'sdf';
 
   strName := 'sdf';
 
   sinGehalt := 2001.21;
 
   sinGehalt := 2001.21;
 
   WriteLn(datDatei, strName,sinGehalt); // Schreibt einen weiteren Datensatz in die neue Datei
 
   WriteLn(datDatei, strName,sinGehalt); // Schreibt einen weiteren Datensatz in die neue Datei
   CloseFile(datDatei); //Schliesst die Datei
+
   Close(datDatei); //Schliesst die Datei
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
 
=Datei komplett lesen=
 
=Datei komplett lesen=
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang="pascal">
 
var
 
var
 
   datDatei: TextFile;
 
   datDatei: TextFile;
Line 75: Line 87:
 
   sinGehalt: Single;
 
   sinGehalt: Single;
 
begin
 
begin
   AssignFile(datDatei, 'D:\beispiel.txt');
+
   Assign(datDatei, 'D:\beispiel.txt');
 
   Reset(datDatei);
 
   Reset(datDatei);
 
   while not eof(datDatei)  //solange noch Daten zu lesen sind
 
   while not eof(datDatei)  //solange noch Daten zu lesen sind
 
     do begin
 
     do begin
       read(datDatei, datDatei, sinGehalt);
+
       read(datDatei, strName, sinGehalt);
 
     end;
 
     end;
   CloseFile(datDatei);
+
   Close(datDatei);
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 16:42, 23 October 2012 (UTC)
 
[[Category:Code/de]]{{AutoCategory}}
 

Latest revision as of 02:06, 29 January 2022

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

Zurück zu den Dateitypen.

untypisierte Textdatei

Eine untypisierte Textdatei eignet sich für die Verarbeitung von Dateien jeder Grösse.
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.

Datei erstellen

var
  datDatei: TextFile;   // oder: datDatei: Text
  strName: String;
  sinGehalt: Single;
begin
  Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu und öffnet die Datei
  ReWrite(datDatei); // Die alte Datei wird überschrieben
  strName := 'qwert';
  sinGehalt := 1800.23;
  WriteLn(datDatei, strName, sinGehalt); // Schreibt den ersten Datensatz in die neue Datei
  ...
end;

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.

Datei öffnen

var
  datDatei: TextFile;
  strName: String;
  sinGehalt: Single;
begin
  Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
  Reset(datDatei); // Setzt den Dateizeiger auf den Anfang der Datei
  ReadLn(datDatei, strName, sinGehalt); // Liest die erste Zeile aus der Datei ein
  ReadLn(datDatei, strName, sinGehalt); // Liest die zweite Zeile aus der Datei ein
  ...
end;

Datei schliessen

var
  datDatei: TextFile;
  strName: String;
  sinGehalt: Single;
begin
  ...
  Close(datDatei); //Schliesst die Datei
end;

Analog zu AssignFile/Assign steht im Compiler-Modus OBJPFC oder DELPHI steht auch die Prozedur CloseFile zur Verfügung.

Datensatz an eine vorhandenen Datei anfügen

Bei Textdateien (untypisierten Dateien) kann mit Hilfe des Befehls Append am Ende der Datei ein Datensatz angefügt werden.

var
  datDatei: TextFile;
  strName: String;
  sinGehalt: Single;
begin
  Assign(datDatei,'d:\beispiel.txt'); // Weist der Variablen txtDatei den Namen der Datei zu
  Append(datDatei); // Öffnet die Datei für den Schreibzugriff und erlaubt das Anfügen von Datensätzen an das Ende der Datei
  strName := 'sdf';
  sinGehalt := 2001.21;
  WriteLn(datDatei, strName,sinGehalt); // Schreibt einen weiteren Datensatz in die neue Datei
  Close(datDatei); //Schliesst die Datei

Datei komplett lesen

var
  datDatei: TextFile;
  strName: String;
  sinGehalt: Single;
begin
  Assign(datDatei, 'D:\beispiel.txt');
  Reset(datDatei);
  while not eof(datDatei)   //solange noch Daten zu lesen sind
    do begin
      read(datDatei, strName, sinGehalt);
    end;
  Close(datDatei);
end;