Ć
WICZENIA PODSTAWOWE – PASCAL – PLIKI I OPERACJE PLIKOWE – STR. 1/4
Temat: PLIKI I OPERACJE PLIKOWE
W języku Pascal wyróżniamy 3 rodzaje plików:
1.
PLIK TEKSTOWY
2.
PLIK ZDEFINIOWANY
3.
PLIK NIEZDEFINIOWANY
1. Plik tekstowy to złożona struktura danych, która składa się z pewnej liczby WIERSZY
(W KAśDYM WIERSZU SĄ ZNAKI) .
Każdy wiersz jest zakończony parą znaków sterujących tj. LF, CR.
LF znaczy przejdź do nowej linii, a CR - cofnij się na początek linii.
Na końcu każdego pliku znajduje się znak EOF (jego kod to 26)
Definicja zmiennej typu plikowego (tekstowego) ma postać:
2. Plik zdefiniowany jest ciągiem elementów tego samego typu. Liczba tych elementów
jest zmienna. Elementy te są przechowywane w fizycznym pliku na dysku.
Nie wolno mylić tego pliku z plikiem tekstowym.
Definicja typu plikowego (zdefiniowanego) ma postać:
Przykłady:
TYPE
TPLIK = FILE OF word;
TWYNIKI = FILE OF real;
TDANE = FILE OF integer;
VAR
Plik1 : TPLIK;
Plik2 : TWYNIKI;
Plik3 : TDANE;
TYPE
identyfikator-typu-pliku
= FILE OF
identyfikator-
typu-elementu
;
VAR
identyfikator-pliku
:
identyfikator-typu-pliku
;
VAR
identyfikator-pliku
: TEXT;
Ć
WICZENIA PODSTAWOWE – PASCAL – PLIKI I OPERACJE PLIKOWE – STR. 2/4
3. Plik niezdefiniowany jest ciągiem bajtów. Bajty są przechowywane w fizycznym pliku
na dysku.
Nie wolno mylić tego pliku z plikiem zdefiniowanym.
Definicja typu plikowego (niezdefiniowanego) ma postać:
Przykłady:
VAR
source : FILE;
target : FILE;
OPERACJE NA PLIKACH:
W języku Pascal wyróżniamy następujące operacje na plikach:
1.
Skojarzenie zmiennej z nazwą pliku
2.
Otworzenie istniejącego pliku do odczytu
3.
Otworzenie pliku do zapisu (tworzenie nowego pliku)
4.
Otworzenie istniejącego pliku do dopisywania
5.
Zamykanie istniejącego pliku
6.
Czytanie elementu z pliku
7.
Zapis elementu do pliku
8.
Sprawdzanie czy nastąpił koniec pliku
Nr operacji
Procedura (funkcja) w języku Pascal
1.
assign(identyfikator-pliku, nazwa-pliku);
2.
reset(identyfikator-pliku);
3.
rewrite(identyfikator-pliku);
4.
append(identyfikator-pliku);
5.
close(identyfikator-pliku);
6.
read(identyfikator-pliku, …….); readln(identyfikator-pliku, …….);
7.
write(identyfikator-pliku, …….); writeln(identyfikator-pliku, …….);
8.
eof(identyfikator-pliku);
UWAGA:
W przypadku procedury reset i append, plik musi istnieć, w przeciwnym wypadku nastąpi
błąd wykonania (tzw. Runtime terror).
W przypadku procedury rewrite, jeśli plik już istnieje to następuje kasowanie zawartości
całego pliku, w przeciwnym wypadku tworzony jest nowy pusty plik.
Funkcja standardowa IOResult zwraca wartość numeru błędu ostatniej operacji plikowej,
wartość różna od zera oznajmia, że nastąpił błąd; może być przydatna gdy próbujemy
otworzyć plik nieistniejący.
VAR
identyfikator-pliku
:
FILE
;
Ć
WICZENIA PODSTAWOWE – PASCAL – PLIKI I OPERACJE PLIKOWE – STR. 3/4
Ć
WICZENIA PODSTAWOWE – PASCAL – PLIKI I OPERACJE PLIKOWE – STR. 4/4
Zadanie nr 1
Napisz program ZAD1.PAS który będzie czytał zawartość pliku ZAD1.PAS
i wyświetlał ją na ekranie. Program będzie kończył działanie, gdy napotka koniec pliku
badany funkcją eof(plik).
-----------------------------------------------------------------------------------------------------------------
Zadanie nr 2
Napisz program który będzie czytał teksty wprowadzane z klawiatury
i zapisywał je do pliku tekstowego.
Program będzie kończył działanie, gdy na początku wprowadzanej linii tekstu znajdzie znak
„kropka”. Uwaga: Nie zapisywać kropki do pliku!
-----------------------------------------------------------------------------------------------------------------
Zadanie nr 3
Napisz program który będzie wyświetlał teksty z pliku, utworzonego
przez program z zadania nr 2.
-----------------------------------------------------------------------------------------------------------------
Zadanie nr 4
Napisz program który będzie wyświetlał zawartość pliku C:\WINDOWS\WIN.INI.
----------------------------------------------------------------------------------------------------------------
Zadanie nr 5
Napisz program który będzie zapisywał aktualną datę i czas systemowy do pliku
logowanie.txt. Użyj standardowych procedur GetDate i GetTime.
----------------------------------------------------------------------------------------------------------------
Zadanie nr 6
Napisz program który będzie odczytywał i wyświetlał na ekranie zawartość pliku
logowanie.txt.
----------------------------------------------------------------------------------------------------------------
Zadanie nr 7
Napisz program który będzie zapisywał aktualną pozycję kursora (x,y), kolor znaku
oraz kolor jego tła do pliku ekran.txt. Użyj standardowych funkcji: WhereX, WhereY
oraz zmiennej TextAttr.
----------------------------------------------------------------------------------------------------------------
Zadanie nr 8
Napisz program który będzie odczytywał i wyświetlał na ekranie zawartość pliku ekran.txt.
----------------------------------------------------------------------------------------------------------------