Sign in Join
Wiki copytemporary

binary file/pl

Deutsch · English · Polski

Plik binarny

Plik binarny

Plik binarny nadaje się do przetwarzania plików o dowolnym rozmiarze. W przypadku plików binarnych zawartość pliku jest odczytywana znak po znaku. I odwrotnie, plik zapisywany jest także znak po znaku. Jeśli plik jest otwierany jako plik binarny, pojedynczy bajt lub znak można zmienić w dowolnym miejscu pliku. Dane tego samego typu można teraz zapisywać i wczytywać do pliku zdefiniowanego za pomocą opcji FILE OF w następujący sposób:

pascal
 var
   datFile : File of Byte;    // zawsze odczytuje i zapisuje pojedynczy bajt/znak
   datFile : File of Char;    // zawsze odczytuje i zapisuje pojedynczy znak
   datFile : File of Integer; // zawsze odczytuje i zapisuje 2 bajty/znaki
   ...

Dostęp do dowolnej lokalizacji w pliku binarnym można uzyskać za pomocą polecenia SEEK.

Tworzenie pliku

pascal
 var
   datFile    : File of Char;
   chrContent : Char;

 begin
   Assignfile(datFile, 'przykladowy.txt'); // Przypisuje nazwę pliku do zmiennej txtFile i otwiera plik
   ReWrite(datFile);                       // Plik zostanie nadpisany, jeśli istnieje
   chrContent := 'A';
   Write(datFile, chrContent);             // Wpisz pierwszy znak do nowego pliku
   ...
 end;

Zamknięcie pliku

pascal
 var
   datFile    : File of Char;
   chrContent : Char;

 begin
   ...
   CloseFile(datFile);  // zamyka plik
 end;

Dodanie znaku na końcu istniejącego pliku

W przypadku plików binarnych znak można dodać na końcu pliku za pomocą polecenia Seek.

pascal
 var
   datFile    : File of char;
   chrContent : Char;

 begin
   AssignFile(datFile, 'przykladowy.txt');
   Reset(datFile);                    // Ustawia wskaźnik pliku na początku pliku
   Seek(datFile, FileSize(datFile));  // Określa koniec pliku i ustawia wskaźnik pliku na jego koniec
   chrContent := 'b';
   Write(datFile, chrContent);        // Zapisuje kolejny znak na końcu pliku
   ...

Zmiana znaku w istniejącym pliku

W przypadku plików binarnych możesz użyć polecenia Seek, aby zastąpić znak w dowolnym miejscu pliku.

pascal
 var
   datFile    : File of Char;
   chrContent : Char;

 begin
   AssignFile(datFile, 'przykladowy.txt');
   Reset(datFile);                     // Ustawia wskaźnik pliku na początku pliku
   Seek (datFile, 1);                  // Ustawia wskaźnik pliku na _drugi_ znak w pliku
   chrContent := 'f';
   Write(datFile, chrContent);         // Zastępuje drugi znak w pliku nowym znakiem
   ...

Czytanie całego pliku

pascal
 var
   datFile    : File of Char;
   chrContent : Char;

 begin
   AssignFile(datFile, 'przykladowy.txt');
   Reset(datFile);
   
   while not eof(datFile)           // czytaj dalej, dopóki są dane do odczytania
     do begin
       read(datFile, chrContent);   // odczytuje pojedynczy znak do zmiennej chrContent
       ...
     end;

   CloseFile(datFile);
 end;

Zobacz także

Typy plików


From the Free Pascal wiki, page "binary file/pl", as it stood on 2022-01-28 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 2, last changed by WikiArchive .

Edited on wiki.freepascal.org by 2 people, 2022

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
SlawekTłumaczenie z en na j. polski
SlawekNowy tytuł w j. polskim
TrevZobacz także: Move categories to page template
TrevAdd page template for proper language categories

Talk about this page

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