operacje na plikach

background image

1

Operacje na plikach

zewnętrznych

Pascal

Marek Pudełko

2

Definicja

• Pascal umożliwia obsługę plików zewnętrznych

– zarówno tekstowych jak i binarnych.

• Umożliwia realizację następujących operacji:

– Otwieranie plików
– Czytanie z nich
– Zapisywanie plików
– Dopisywanie do plików.

3

Operacje na plikach

Tworzy i otwiera nowy plik. Plik jest
nazwą przekazaną za pomocą polecenia
Assign.

Rewrite(plik);

Reset

Otwiera istniejący plik z nazwą
przekazaną do Plik poleceniem Assign.
Reset(plik);

Reset

Otwiera plik do dopisywania.
Plik musi być tekstowy i musi istnieć, w
przeciwnym razie powstanie błąd.
Append(plik: Text);

Append

4

background image

5

Assign i Close

Assign(plik : String);

– Procedura przypisuje zmiennej plikowej plik plik o

nazwie nazwa.

– Plik może być zmienną typu Text. By odwoływać

się do jakiegoś pliku, zawsze należy najpierw użyć
procedury Assign. Przy dalszych operacjach pliki są
identyfikowane przy pomocy zmiennej plikowej.

Close(var plik : file);

– Procedura służąca do zamykania otwartego pliku

dowolnego typu.

6

Budowa programu do operacji na plikach

program do_pliku;

var z:text;

{zmienne typu plikowego}

begin

assign (z,‘pliczek.txt');

{skojarzenie zmiennej tekstowej z nazwa pliku}

rewrite (z);

{przygotowanie pliku do zapisu}

append (z);

{przygotowanie pliku do zapisu}

reset (z);

{przygotowanie pliku do zapisu}

{…}
close (z2);

{zamkniecie pliku po zakonczeniu pracy z nim}

readln;

end.

7

program program_zapisujacy_do_pliku;
var

z1,z2:text;

imie,nazwisko,adres,miasto:string;

begin

assign (z2, 'wynik.txt'); {skojarzenie zmiennej tekstowej z nazwa pliku}
rewrite (z2); {przygotowanie pliku do zapisu}
writeln ('Program zapisuje do pliku dane adresowe uzytkownika');
write ('Podaj swoje imie: ');
readln (imie);
write ('Podaj swoje nazwisko: ');
readln (nazwisko);
write ('Podaj swoj adres: ');
readln (adres);
write ('Podaj swoje miasto: ');
readln (miasto);
writeln (z2,imie); {zapis do lpliku}
writeln (z2,nazwisko);
writeln (z2,adres);
writeln (z2,miasto);
close (z2); {zamkniecie pliku po zakonczeniu pracy z nim}
readln;

end.

8

program program_czytajacy_z_pliku;
var

z1,z2:text;

imie,nazwisko,adres,miasto:string;

begin

assign (z2, 'wynik.txt'); {skojarzenie zmiennej tekstowej z nazwa pliku}
reset (z2); {przygotowanie pliku do czytania}
readln (z2,imie); {odczyt z pliku}
readln (z2,nazwisko);
readln (z2,adres);
readln (z2,miasto);
writeln ('Program wczytuje z pliku dane adresowe uzytkownika');
write ('Twoje imie to: ');
writeln (imie);
write ('Twoje nazwisko to: ');
writeln (nazwisko);
write ('Twoj adres to: ');
writeln (adres);
write ('Twoje miasto to: ');
writeln (miasto);
close (z2); {zamkniecie pliku po zakonczeniu pracy z nim}
readln;

end.

background image

9

Rozmiar pliku

FileSize(var plik : file) : LongInt;

– Funkcja zwraca wielkość pliku. Plik nie może być tekstowy i musi być

otwarty (np. poleceniem Reset). Wartość zwracana jest w jednostkach, z

których składa się plik.

• Przykład
var plik: file of real;

r: real;

begin

Assign(plik,'liczby.tmp');

Rewrite(plik);

r:=1;

Write(plik, r, r);

{zapisanie dwóch liczb do pliku}

Writeln(FileSize(plik));{2}

Close(plik);

end.

10

Aktualna pozycja pliku

FilePos(var plik : file) : LongInt;

– Funkcja zwraca aktualną pozycję pliku. Plik nie może być tekstowy i musi

być otwarty (np. poleceniem Reset). Wartość zwracana jest w jednostkach,

z których składa się plik.

• Przykład
var plik: file of real;

r:real;

begin

Assign(plik,'liczby.tmp');

Rewrite(plik);

r:=1;

Write(plik, r, r);

{zapisanie dwóch liczb do pliku}

Writeln(FilePos(plik)); {2}

Close(plik);

end.

11

Szukanie w pliku

Seek (F;N:Longint);

– Ustawia pozycję w pliku na N.

SeekEof : boolean;

– Funkcja zwraca wartość TRUE jeśli jest koniec

pliku.

SeekEoln : boolean;

– Funkcja przyjmuje wartość TRUE jeśli jest koniec

linii w pliku.

12

Koniec pliku

Eof(var plik: file ):Boolean

– Funkcja zwraca wartość logiczną True jeśli osiągnięty został koniec pliku.

• Przykład
var

F: text;

Ch:char;

begin

Assign(F,'c:\autoexec.bat');

Reset(F);

while not Eof(F) do

Begin

Read(F, Ch);

Write(Ch);

{pokaż zawartość pliku}

End;

end

.

background image

13

Znacznik końca pliku

Eoln(var plik: file): Boolean

– Zwraca wartość logiczną True jeśli wskaźnik pozycji

pliku wskazuje na koniec wiersza.

14

Skrócenie pliku

Truncate(F)

– Skraca plik począwszy od aktualnej pozycji.

15

Zmiana nazwy pliku

Rename( F;NowaNazwa)

– Zmienia nazwę pliku.


Wyszukiwarka

Podobne podstrony:
4 Operacje na Plikach ppt
34 Pliki Operacje na plikach w Pascalu
operacje na plikach
JAVA operacje na plikach
Lab 11 Operacje na plikach
Operacje na plikach i folderach
Lab 02 Operacje na plikach
Lab 11 Operacje na plikach
Podstawowe operacje na plikach i katalogach, Linux
Operacje na plikach i folderach
Operacje na plikach tekstowych
Lekcja 2 Operacje na plikach skoroszytów Zarządzanie arkuszami i skoroszytami Współpraca z siecią
Asembler Operacje na Plikach
JAVA operacje na plikach
Lab 11 Operacje na plikach
NC+Windows Operacje na plikach, ETI Edukacja technicyno inf,, KONSPEKTY, Konspekty
Operacje na plikach, STUDIA, WIŚ PK, MatLab
Operacje na plikach multimedialnych

więcej podobnych podstron