Sign in Join
Wiki copytemporary

Revision 1 of 2, by WikiArchive on 11-4-2026. The page as it is now.

binary file/pl

Plik binarny

Contents

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 the Internet Archive kept it on 2024-09-20. 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.