Difference between revisions of "untyped files"
From Free Pascal wiki
Jump to navigationJump to search (English page translated from German page) |
m (→Create file: Fix typo) |
||
Line 13: | Line 13: | ||
sinContent : Single; | sinContent : Single; | ||
begin | begin | ||
− | Assign( | + | Assign(datFile, 'example.txt'); // Assigns the name of the file to the variable datFile and opens the file |
ReWrite(datFile); // The old file is overwritten | ReWrite(datFile); // The old file is overwritten | ||
strName := 'qwert'; | strName := 'qwert'; |
Revision as of 00:25, 16 January 2020
│ Deutsch (de) │ English (en) │ polski (pl) │
Untyped text file
An untyped text file is suitable for processing files of any size. With untyped files, the content of a file is read line by line. Conversely, the file is written line by line. The data records of an untyped file can be of different lengths.
Create file
var
datFile : TextFile; // or: datFile: text
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt'); // Assigns the name of the file to the variable datFile and opens the file
ReWrite(datFile); // The old file is overwritten
strName := 'qwert';
sinContent := 1800.23;
WriteLn(datFile, strName, sinContent); // Writes the first record to the new file
...
end;
In the OBJPFC or DELPHI compiler mode, the AssignFile procedure is available in addition to Assign to avoid confusion with TPersistent.Assign.
Open file
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt'); // Assigns the name of the file to the datFile variable
Reset(datFile); // Sets the file pointer to the beginning of the file
ReadLn(datFile, strName, sinContent); // Reads the first line from the file
ReadLn(datFile, strName, sinContent); // Reads the second line from the file
...
end;
Close file
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
...
Close(datFile); // closes the file
end;
Similar to AssignFile / Assign, the CloseFile procedure is available in OBJPFC or DELPHI compiler mode.
Append a record to an existing file
For text files (untyped files), a data record can be added to the end of the file using the Append command.
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt'); // Assigns the name of the file to the datFile variable
Append(datFile); // Opens the file for write access and adds records to the end of the file
strName := 'sdf' ;
sinContent : = 2001.21 ;
WriteLn(datFile, strName, sinContent); // Writes another record to the new file
Close(datFile); // Closes the file
Read file completely
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt');
Reset(datFile);
while not eof(datFile) // As long as data can still be read
do begin
read(datFile, strName, sinContent); // Read file content
end;
Close(datFile);
end;