datoteke (files)

8
DATOTEKE (FILES)

Upload: gage-gutierrez

Post on 02-Jan-2016

28 views

Category:

Documents


4 download

DESCRIPTION

DATOTEKE (FILES). Datoteka predstavlja imenovani deo memorije na nekom perifernom medijumu za registrovanje određene količine informacija. Može biti izvor informacija (kada čitamo sadržaj datoteke) ili prijemnik (kada upisujemo podatke u nju). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DATOTEKE (FILES)

DATOTEKE (FILES)

Page 2: DATOTEKE (FILES)

Datoteka predstavlja imenovani deo memorije na nekom perifernom medijumu za registrovanje određene količine informacija. Može biti izvor informacija (kada čitamo sadržaj datoteke) ili prijemnik (kada upisujemo podatke u nju).

Datotečni tip predstavlja uređen skup proizvoljnog broja komponenti istog tipa.

Primer:Type

Brojevi = file of integer;SkupReci=file of string[20];

Knjiga=Record Autor:string[30]; Naziv:string[30];

GodIzdanja:1900..2000end;

Biblioteka=file of Knjiga;

Page 3: DATOTEKE (FILES)

Promenljive se opisuju kao i ranije:Var b:Brojevi; Spisak:SkupReci; Katalog:Biblioteka;

Može i direktnoVarb:file of integer;Spisak:file of string[20];

Datotečne promenljive ne mogu se koristiti u naredbi dodele, kao kod običnih promenljivih. Na primer, opisom Varf: file of integer;u programu se posredstvom promenljive f operiše sa neograničenim nizom celih brojeva. Sa svakom promenljivom povezuje se datotečni pokazivač, koji se može shvatiti kao skrivena promenljiva koja se uvek pozicionira na neku komponentu datoteke koja postaje dostupna iz programa.

…Ceo broj Ceo broj Ceo broj eof

Datotečni pokazivač

Svaka datoteka ima kraj koji se obeležava sa eof (end of file)

Page 4: DATOTEKE (FILES)

Povezivanje datotečne promenljive sa datotekom

assign(promenljiva,ime fajla)Npr. assign(f,’ucenici.dat’). Može se navesti i putanja do datoteke.

Kreiranje datoteka

rewrite (f) – otvaramo datoteku za upiswrite (f,x) – upisivanje u datoteku f komponente x. Upis možemo obaviti i sa write (f,x,y,z,…) ili begin write(f,x); write(f,y); write(f,z); ………………..end;

Na kraju, kada se prekida rad sa datotekom ona se mora zatvoriticlose(f);

Page 5: DATOTEKE (FILES)

Otvaranje datoteke za čitanje

assign(f,’ucenici.dat’);reset(f); - priprema za čitanje (pozicionira se pokazivač na nultu komponentu u datoteci)read(f,x); čitanje komponente iz datoteke. Slično kao i kod upisa možemo čitati više komponenti read (f,x,y,z,…) ili begin read(f,x); read(f,y); read(f,z); ………………..end;Kada se realizuje čitanje mora se proveravati da li je došlo do kraja datoteke sa eof(f)

Page 6: DATOTEKE (FILES)

PrimerNapisati proceduru koja kreira datoteku, čije su komponente slogovi kojim se registruju podaci za radnike, sledeće strukture: - šifra radnika - ime radnika - broj bodova koje je radnik ostvario u toku meseca i proceduru koja ispisuje na ekranu sadržaj datoteke formirane u prvoj proceduri.

type Tradnik=record Sifra:integer; Ime:string[20]; BrBodova:real end;Lista=file of Tradnik;

U proceduri koristimo globalno definisane promenljivevarf:Lista;Radnik:Tradnik;

Page 7: DATOTEKE (FILES)

procedure KreirajDat;var ImeDat:string[20]; ch:char; i:integer;beginwrite(‘unesi ime datoteke’); readln(ImeDat);assign(f,ImeDat);rewrite(f);i:=0;repeat with Radnik do begin Sifra:=i; readln(Ime); readln(BrBodova); end;write(f,Radnik);write(‘Jos(D/N)?’);readln(ch);i:=i+1;until Upcase(ch)=‘N’;close(f);end;

Page 8: DATOTEKE (FILES)

procedure IspisDat;var ImeDat:string[20];beginwrite(‘unesi ime datoteke’); readln(ImeDat);assign(f,ImeDat);reset(f);while not eof(f) do begin read(f,Radnik); with Radnik do writeln(Sifra:5,Ime:20,BrBodova:15:2) end;close(f);end;