pliki2[pascal].docx

(15 KB) Pobierz

1.  Etapy przetwarzania pliku tekstowego



1 - Skojarzenie pliku dyskowego z zmienną (Utworzenie uchwytu do pliku) - Polecenie ASSIGN(Zmienna_Plikowa,'Patch do pliku');
2 Otwarcie

pliku
A - Do zapisu REWRITE(Zmienna_plikowa); - Jeśli plik istniał zostanie skasowany i w to miejsce utworzony nowy.
B - Do odczytu RESET(zmienna_plikowa); - Wskaźnik w pliku zostanie ustawiony na początku pliku czyli równa się zero.
3 A - Czytanie do pliku READ(zmienna_plikowa,zmienna); zmienna jest typem elementu pliku (string, byte, rekord, ...);
B - Pisanie do pliku WRITE(zmienna_plikowa,zmienna);
4

Zamknięcie pliku (zwolnienie uchwytu).
Do plików praktycznie można zapisywać wszystkie typy danych prócz obiektów.
 

2.  Funkcje i procedury przetwarzania plików tekstowych.



Deklaracje plików:
var plik:FILE OF typ_danej; gdzie typ danej jak wspomniałem wcześniej może być typu prostego lub jakąś strukturą np:Rekord.
np: plik:file of byte;, plik:file of real;
var plik:file; Deklaracja pliku o niewiadomych elementach
Var plik:Text; - deklaracja pliku tekstowego; gdzie elementami są elementy typu string lub char;

Funkcje i Procedury:
assign - skojarzenie pliku z zmienną utworzenie uchwytu.
rewrite - otwarcie pliku do pisania.
read - czytanie pliku.
write - pisanie do pliku.
close - zamknięcie pliku.
seek - Przesunięcie wskaźnika w pliku.
blockread - czytanie bloku danych z pliku.
blockwrite - Pisanie do pliku bloku danych.
eof -gdy wskażnik pliku osiągnie koniec to przyjmuje wartość

true.

Wszystkie polecenia masz dokładnie opisane w helpie Pascala.

 

3.  Przykładowy program z komentarzem co dana linia wykonuje.

 


{uwaga program nie rozpoznaje czy podany ciąg jest liczba czy ciągiem jakichś znaków}

var

  plik:text;      {Deklaracja pliku testowego}

  s:string;       {zmienna s typu string}



  Procedure pisz_plik;    {Procedura Zapisująca do pliku jeden element}

    begin

      assign(plik,'c:\plik.txt');  {Skojarzenie zmiennej plik z fizycznym plikiem}

      rewrite(plik);    {Otwarcie pliku do zapisu jeśli istniał wcześniej zostanie nadpisany}

      write(plik,s);   {pisz do pliku zmienna S}

      close(plik);     {zamknij plik}

    end;



  procedure czytaj_plik;{Procedura Czytająca z pliku jeden element}

    begin

      assign(plik,'c:\plik.txt');{Skojarzenie zmiennej plik z fizycznym plikiem}

      reset(plik);  {Otwarcie pliku do odczytu - ustawienie wskaźnika na początku pliku}

      read(plik,s);{Czytaj plik i zapisz do S}

      close(plik); {zamknij plik}

    end;



  begin                     {Początek programu głównego}

    writeln('Podaj Liczb© całkowitą i naciśnij ENTER');

    readln(s); {Zapisanie do s ciągu znaków i czekanie na ENTER}

    writeln('Zapisuj© do pliku');

    pisz_plik;             {Wywołanie procedury zapisu do pliku)

    writeln('Czytam Plik');

    s:='';                   {zerowanie zmiennej s zostaje przypisany do s znak #0}

    czytaj_plik;          {wywołanie procedury czytającej plik}

    writeln('Zapisana cyfra w pliku to: ',s);

  readln;                {Enter i zakończenie programu}
 

  end.

 

 

 

 

 

 

 

 

 

 

Zgłoś jeśli naruszono regulamin