Sign in Join
Wiki copytemporary

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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.