untyped files/pl
Pliki tekstowe nietypowane
Plik tekstowy nietypowany
Nietypowany plik tekstowy nadaje się do przetwarzania plików o dowolnym rozmiarze. W przypadku plików bez typu, zawartość pliku jest odczytywana wiersz po wierszu. I odwrotnie, plik jest zapisywany wiersz po wierszu. Rekordy danych w pliku bez typu mogą mieć różną długość.
Tworzenie pliku
var
datFile : TextFile; // lub: datFile: text
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt'); // Przypisuje nazwę pliku do zmiennej datFile i otwiera plik
ReWrite(datFile); // Stary plik zostanie nadpisany
strName := 'qwert';
sinContent := 1800.23;
WriteLn(datFile, strName, sinContent); // Zapisuje pierwszy rekord do nowego pliku
...
end;W trybie kompilatora OBJPFC lub DELPHI oprócz Assign dostępna jest procedura AssignFile, aby uniknąć pomyłek z TPersistent.Assign.
Otwieranie pliku
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt'); // Przypisuje nazwę pliku do zmiennej datFile
Reset(datFile); // Ustawia wskaźnik pliku na początek pliku
ReadLn(datFile, strName, sinContent); // Odczytuje pierwszą linię z pliku
ReadLn(datFile, strName, sinContent); // Odczytuje drugą linię z pliku
...
end;Zamykanie pliku
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
...
Close(datFile); // zamyka plik
end;Podobnie jak dla AssignFile / Assign, w trybie kompilatora OBJPFC lub DELPHI dostępna jest także procedura CloseFile.
Dołącz rekord do istniejącego pliku
W przypadku plików tekstowych (plików bez typu) rekord danych można dodać na końcu pliku za pomocą polecenia Append.
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt'); // Przypisuje nazwę pliku do zmiennej datFile
Append(datFile); // Otwiera plik z dostępem do zapisu i dodaje rekordy na końcu pliku
strName := 'sdf' ;
sinContent : = 2001.21 ;
WriteLn(datFile, strName, sinContent); // Zapisuje kolejny rekord do nowego pliku
Close(datFile); // Zamyka plikOdczytanie całego pliku
var
datFile : TextFile;
strName : String;
sinContent : Single;
begin
Assign(datFile, 'example.txt');
Reset(datFile);
while not eof(datFile) // Wykonuj w pętli, dopóki dane można jeszcze odczytać
do begin
read(datFile, strName, sinContent); // Odczytuje zawartość pliku
end;
Close(datFile);
end;Zobacz także
From the Free Pascal wiki, page "untyped files/pl", as it stood on 2022-01-29 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.