typed files/pl
Pliki typowane
Plik typowany
A typed text file is suitable for processing files of any size. A typed text file consists of individual data records. All records in the file have the same structure. This means that each data record is of the same length.
Typowany plik tekstowy nadaje się do przetwarzania plików o dowolnym rozmiarze. Typowany plik tekstowy składa się z pojedynczych rekordów danych. Wszystkie rekordy w pliku mają taką samą strukturę. Oznacza to, że każdy rekord danych ma tę samą długość.
Zdefiniuj plik i strukturę rekordu
Struktura zależy od typu pliku i typu rekordu. Plik i rekord danych muszą mieć taką samą strukturę.
type
TMemployee = Record
strName : String[20];
sinContent : Single;
end;Tworzenie pliku
var
datFile : File of TMemployee;
recData : TMemployee;
begin
AssignFile(datFile, 'example.txt');
// Istniejący plik jest usuwany i ponownie tworzony
ReWrite(datFile);
...
end;Zamknięcie pliku
begin
...
Close(datFile); // zamyka plik
...
end;Zapisywanie rekordu danych
var
datFile : File of TMemployee;
recData : TMemployee;
begin
...
// wypełnij rekord danymi
recData.strName := 'abcdefghij';
recData.sinContent := 1700.21;
// zapisz rekord do pliku
Write(datFile, recData);
...
end;Odczytywanie rekordu danych
var
datFile : File of TMemployee;
recData : TMemployee;
begin
AssignFile(datFile, 'example.txt');
Reset(datFile); // Ustaw wskaźnik pliku na początku pliku
Read(datFile, recData); // Czyta rekord z pliku
...
end;Odczytanie pliku w całości
var
datFile : File of TMemployee;
recData : TMemployee;
begin
AssignFile(datFile, 'example.txt');
Reset (datFile);
while not eof(datFile) // wykonuj tak długo, dopóki dane mogą być odczytywane
do begin
read(datFile, recData); // odczytaj rekord z pliku
...
end;
CloseFile (datFile);
end;Modyfikacja wybranego rekordu danych
begin
AssignFile(datFile, 'example.txt');
Reset(datFile);
...
Seek(datFile, 0); // ustawia wskaźnik pliku na początku pliku, czyli na pierwszym rekordzie
Read(datFile, recData); // wczytaj pierwszy rekord do zmiennej recData
recData.sinContent := 1602.22; // aktualizuje rekord
Seek(datFile, 0); // ustawia wskaźnik pliku na pierwszym rekordzie
Write(datFile, recData); // Zapisz pierwszy rekord
...
end;Zobacz także
From the Free Pascal wiki, page "typed files/pl", as it stood on 2022-01-28 after a change by Slawek, 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.
Talk about this page
Nobody has opened a bench for this page yet. Sign in to open one.
