operacje na plikach

background image

1

Operacje na plikach

zewnętrznych

Pascal

Marek Pudełko

background image

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.

background image

3

Operacje na plikach

Append

Otwiera plik do dopisywania.
Plik musi być tekstowy i musi

istnieć, w przeciwnym razie

powstanie błąd.
Append(plik: Text);

Reset

Otwiera istniejący plik z nazwą
przekazaną do Plik poleceniem

Assign.
Reset(plik);

Reset

Tworzy i otwiera nowy plik.
Plik jest nazwą przekazaną za
pomocą polecenia Assign.
Rewrite(plik);

background image

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.

background image

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.

background image

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.

background image

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.

background image

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.

background image

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.

background image

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.

background image

14

Skrócenie pliku

Truncate(F)

– Skraca plik począwszy od aktualnej

pozycji.

background image

15

Zmiana nazwy pliku

Rename( F;NowaNazwa)

– Zmienia nazwę pliku.


Document Outline


Wyszukiwarka

Podobne podstrony:
4 Operacje na Plikach ppt
34 Pliki Operacje na plikach w Pascalu
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
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