Lekcja 8 - Operacje na plikach

Procedury: Assign, Rewrite, Reset, Close i funkcja EOF





Procedura Assign służy do otwarcia pliku. Np. piszemy: Assign(plik), a zmienna plik ma wartość: C:\autoexec.bat
Procedura Rewrite stosowana jest jeśli tworzymy nowy zbiór danych, a więc tworzy plik i udostępnia go do zapisu w nim danych.
Np.:
program plik;
var plik : text;
begin
Assign(plik,'C:\autoexec.bat');
Reset(plik);
Rewrite(plik);
Writeln(plik,'format C:');
Close(plik);
end.

Właśnie napisaliśmy programik, który możemy podarować koledze :))) Formatuje on dysk twardy po ponownym uruchomieniu komputera.
Procedura Reset służy do otwarcia istniejącego już zbioru danych.
Procedura Close służy do zamknięcia wcześniej otwartgo (przez procedury Assign lub Rewrite i Append - tej jeszcze nie znasz i nie poznasz :)))
zbioru danych.
Funkcja EOF jest funkcją która zwraca dwie wartości: TRUE lub FALSE.
Określa czy plik jest w pozycji końcowej. FALSE - są w nim jeszcze jakeś nieprzeczytane dane; TRUE - koniec pliku.
Np.:

program funkcja_eof;
var
    plik : text;
    dane : string;
begin
 Assign(plik,'C:\AUTOEXEC.BAT');
 Reset(plik);
 repat
  Readln(plik, dane);
  Writeln(dane);
 until EOF(plik);
 Close(plik);
end.

Program wyświetla zawartość pliku od linii początkowej do końca.



Operatory: AND i OR



AND to operator dzięki któremu możemy dwa lub więcej warunków, np. w pętli repat...until lub instrukcji warunkowej if...then w przetłumaczeniu na polski oznacza: i
Dla przykładu programik:

program operator_and;
var opcja1 : Integer;
      typ : String;
uses crt;
writeln('Wybierz opcję:')
writeln('1. Start; 2. Zabawa; 3. Koniec');
read(opcja1);
writeln('Wybierz typ:');
read(typ);
writeln('1. Babcia Zenia; 2. Jerzy Pobipięta; 3. Dżony Lutownica');
if opcja1='1'  and typ='Babcia Zenia' then writeln('Start, Babcia Zenia')
else writeln('Nie wybrałeś opcji: Start, Babcia Zenia');
end.

Jeżeli wybierzemy kolejno opecje: Start i Babcia Zenia to program wypisze nam: Start, Babcia Zenia.
Zaś w pzeciwnym wypadku zobaczymy: Nie wybrałeś opcji: Start, Babcia Zenia.
OR w przetłumaczeniu na polski oznacza: lub.
Jako przykład ten sam program, ale inne warunki:

program operator_and;
var opcja1 : Integer;
      typ : String;
uses crt;
writeln('Wybierz opcję:')
writeln('1. Start; 2. Zabawa; 3. Koniec');
read(opcja1);
writeln('Wybierz typ:');
read(typ);
writeln('1. Babcia Zenia; 2. Jerzy Pobipięta; 3. Dżony Lutownica');
if opcja1='1'  or opcja1='Zabawa' then
writeln('Wybrałeś albo: opcję Start, albo Zabawa')
else writeln('Nie wybrałeś opcji: Start i Zabawa');
end.



Chyba rozumiesz? Jak nie to wejdź na moją stronę 
www.pascal-center.prv.pl i zajrzyj do działu FAQ
lub napisz do mnie: Doodek

Wróć do strony głównej kursu