Ver. 1.0 Beta, Nie masz kompilatora? Teraz możesz pisać skrypty ONLINE! Wersja podstawowa -nie zawiera wszystkich poleceń Pascala. Służy do nauki podstaw

Obsługa plików w Turbo Pascalu, zapis i odczyt, odczytywanie liczb, zapisywanie danych

Pascal

Wsteczwstecz Data i czas
W góręw górę Podstawy Pascala

Obsługa plików w Turbo Pascalu, zapis i odczyt, odczytywanie liczb, zapisywanie danych

Obsługa plików w turbo pascalu


Pliki tekstowe
Pliki binarne
Obsługa błędów

Pliki tekstowe


Obsługa plików typu tekstowego jest bardzo prosta. Prawie nie różni się od zwyczajnego używania procedur Write, WriteLn, Read, ReadLn. Najpierw jednak potrzebujemy otworzyć konkretny plik i zapamiętać jego uchwyt (miejsce przez które będziemy się z nim łączyli). Potem używamy odpowiednich procedur (Read, Write). Na koniec zamykamy plik. I to wszystko!



Otwieranie plików

Kojarzenie plików odbywa się przed ich otwarciem, za pomocą procedury Assign(var F:File; FileName:string); Dzięki kojarzeniu przypisujemy pewnej zmiennej uchwyt, czyli miejsce w pamięci, które będzie identyfikować nasz plik.


W przypadku, gdy pracujemy na pliku tekstowym, uchwyt zmiennej będzie typu TEXT. W innych przypadkach może być FILE, albo FILE OF {…} nazwa jakiegoś rekordu własnego typu.



Otwieranie do odczytu

Aby otworzyć plik do odczytu skorzystaj z procedury Reset(var F:FILE; [RecSize:Word]). Zmienna pierwsza typu FILE jest właśnie uchwytem do pliku, druga oznacza rozmiar odczytywanego rekordu, domyślnie 128.



Otwieranie do zapisu

Do zapisu pliku służy procedura Rewrite(var F:FILE; [RecSize:Word]). Jej parametry skonstruowane podobnie jak Reset.



Przykłady użycia

{naglowek i potrzebne zmienne}
program zapis_i_odczyt;
var F:Text;
    s:string;
begin
 {najpierw zapis do pliku}
 Assign(F, 'plik.txt');
 Rewrite(F);
 WriteLn(F, 'Ala ma kota');
 Close(F);

 {teraz odczyt z pliku}
 Assign(F, 'plik.txt');
 Reset(F);
 ReadLn(F, s);
 Close(F);
 WriteLn(s);
end.



Z plików tekstowych można odczytywać również liczby. Jeśli ma być ich wiele, muszą być oddzielone pojedynczymi spacjami. Wtedy podobnie jak wczytujemy z klawiatury, możemy użyć wczytywania z plików,



np. odczytanie trzech liczb z pliku, którego zawartość to:


1 2 3

wykonujemy za pomocą



ReadLn(F, a, b, c);

Gdy w następnej lini jest kilka innych liczb, niekoniecznie tyle samo, można wczytać je w kolejnej instrukcji ReadLn. Jednak programista musi czuwać nad tym, by nie wowołać pustego wczytywania, czyli takiego gdy plik się już skończył.



Uwaga!

Nie jest dobrze traktować plików binarnych (np. bitmapy) jako tekstowych i odczytywać ich zawartość po jednym znaku typu char (ani kopiować plików w ten sposób). Oczywiście całość zadziała i można wyświetlić taki rysunek lub skopiować plik, jednak wczytywanie z pliku bajt po bajcie (również zapisywanie) jest bardzo czasochłonne. Zwykła bitmapa może być wczytywana nawet kilka sekund! Za pomocą instrukcji BlockRead  i BlockWrite można to zrobić w granicach kilkunastu milisekund.

Obsługa plików w turbo pascalu


Pliki tekstowe
Pliki binarne
Obsługa błędów

Strona korzysta z plików cookie w celu świadczenia usług Google (reklamy, statytyki) oraz Facebook. Jeśli chcesz zablokować pliki cookies wyłacz je w swojej przeglądarce. Potrzebujesz pomocy? kliknij