Typ Plikowy

Ten typ jest przydatny przy jakichkolwiek operacjach na plikach. W Pascalu mamy możliwość zadeklarowania zmiennych plikowych na 3 sposoby:

Plik binarny zdefiniowany

var mojplik : file of typ_elementów_pliku;

- to deklaracja tzw. pliku zdefiniowanego, który składa się z elementów tego samego typu. Jeśli byłby to plik bajtów (file of byte), to z grubsza odpowiadałby pojęciu pliku, które już znasz.

program Pliki1;

var 
 plik1 : file of integer;
 zmienna : integer;
 zmienna2 : integer;

begin
zmienna := 14354;
Assign(plik1,'C:\integer.int');//Skojarzenie zmiennej plikowej z plikiem na dysku
Rewrite(plik1);//Otworzenie zmiennej plikowej i usunięcie z niej danych (lub stworzenie nowego pliku)
write(plik1,zmienna,zmienna2);//Zapisanie zmiennej do pliku
read(plik1,zmienna2);//Odczytanie zmiennej z pliku 
Close(plik1);//Zamknięcie pliku
end.

Plik binarny niezdefiniowany

var mojplik : file;

- to deklaracja pliku niezdefiniowanego - od poprzedniego różni się sposobem wymiany danych, co zobaczysz na przykładach.

Plik tekstowy

var mojplik : text;

- to predefiniowany plik tekstowy - raczej nie polecam jego używania, można go bez większych problemów zastąpić dwoma poprzednimi typami.

 program pliki;
 var
   Plik: Text; {zmienna plikowa tekstowa}
 begin
   assign(Plik, 'nowy.txt'); {przypisanie pliku do zmiennej}
   rewrite(Plik); {usunięcie danych z pliku}
   writeln(Plik, 'fasola bywa wesoła'); {wpisanie danych do pliku}
   close(Plik); {zapisanie pliku}
 end.

Plik nowy.txt w katalogu programu będzie teraz zawierał tekst "fasola bywa wesoła" bez względu na to, czy wcześniej istniał i czy coś zawierał.

program pliki2;

var
 plik : text;
 dana1 : string;
 dana2 : integer;
 dana3 : byte;
 tablica : array[0..10] of string
 i : integer;
begin
 dana1 := 'Hmm';
 dana2 := '12412';
 dana3 := '123';
Assign(plik,'C:\plik.txt');
Rewrite(plik);
writeln(plik,dana1,dana2);//Zapisanie danych do pliku (Odbywa się to trak samo jak wypisywanie danych do konsoli)
writeln(plik,dana3);
Close(plik);
Reset(plik);                 //Otworzenie pliku w trybie do odczytu
i := 0;
while not EOF(plik)do
begin
 readln(plik,tablica[i]);
 i := i + 1;
end;
Close(plik);
for i := 0 to 10 do
begin
 writeln(tablica[i]);
end;
end.

File słowo kluczowe w Pascalu, służy do deklaracji zmiennych typu plikowego nietekstowego

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License