Difference between revisions of "untyped files/de"
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}} | ||
− | + | ||
Zurück zu den [[File types/de|Dateitypen]].<br> | Zurück zu den [[File types/de|Dateitypen]].<br> | ||
− | + | ||
__TOC__ | __TOC__ | ||
− | + | ||
=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 | ||
− | + | 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 := | + | 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> | ||
− | < | + | |
+ | 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 | ||
− | + | 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> | ||
− | + | ||
=Datei schliessen= | =Datei schliessen= | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang="pascal"> | ||
var | var | ||
datDatei: TextFile; | datDatei: TextFile; | ||
Line 48: | Line 55: | ||
begin | begin | ||
... | ... | ||
− | + | Close(datDatei); //Schliesst die Datei | |
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | < | + | |
− | =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 | ||
− | + | 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 | ||
− | + | Close(datDatei); //Schliesst die Datei | |
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ||
=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 | ||
− | + | 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, | + | read(datDatei, strName, sinGehalt); |
end; | end; | ||
− | + | Close(datDatei); | |
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− |
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;