Kopia wikimirror

To jest mirror wiki z pascal.chat. Edycja, historia i logowanie są tam.

untyped files/pl

Deutsch · English · Polski

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

pascal
 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

pascal
 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

pascal
 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.

pascal
 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 plik

Odczytanie całego pliku

pascal
 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.

Wersja 1, ostatnia zmiana: WikiArchive, .