On-line učionica

23. januar 2012.

Fajlovi sa podacima

Filed under: Pascal,Programiranje — jelena100janovic @ 9:03 am

Fajlovi sa podacima se razlikuju od tekstualnih fajlova na nekoliko načina. Fajlovi sa podacima imaju slučajan pristup, što znači da ne morate da prolazite kroz njih red po red, već možete pristupiti bilo kom delu fajla u bilo kom trenutku. Evo kako se deklariše fajl sa podacima:

program FajloviSaPodacima;
var

   f:file of byte;
begin

end.

Onda koristimo naredbu Assign na isti način kao sa tekstualnim fajlom.

program FajloviSaPodacima;
var

   f:file of byte;
begin

   assign(f,’MojFajl.dat’);
end.

Možete koristiti naredbu Rewrite da biste napravili novi fajl ili prepisali postojeći. Razlika između tekstualnih fajlova i fajlova sa podacima pri korišćenju naredbe Rewrite je u tome što fajlovi sa podacima mogu i da se čitaju i da se u njih upisuje.

program FajloviSaPodacima;
var

  f:file of byte;
begin

  assign(f,’MojFajl.dat’);
  rewrite(f);
end.

Naredba Reset je ista kao Rewrite sem što ne prepisuje fajl.

program FajloviSaPodacima;
var

   f:file of byte;
begin

  assign(f,’MojFajl.dat’);
  reset(f);
end.

Kada upisujete u fajl koristeći naredbu Write prvo dodelite vrednost koju želite da upišete promenljivoj. Pre nego što upisujete ili čitate iz fajla sa podacima, upotrebite naredbu Seek (pronađi) da biste našli pravo mesto odakle ćete započeti upis. Takođe zapamtite da fajlovi sa podacima počinju od pozicije 0, a ne 1.

program FajloviSaPodacima;
var

  f:file of byte;
  b:byte;
begin

  assign(f,’MojFajl.dat’);
  reset(f);
  b:=1;
  seek(f,0);
  write(f,b);
end.

Naredba Read se koristi da bi čitali iz fajla sa podacima.

program FajloviSaPodacima;
var

   f:file of byte;
  b:byte;
begin

  assign(f,’MojFajl.dat’);
  reset(f);
  seek(f,0);
  read(f,b);
end.

Zatvorite fajl sa podacima kad završite s njim, isto kao sa tekstualnim fajlovima.

program FajloviSaPodacima;
var

  f:file of byte;
  b:byte;
begin

  assign(f,’MojFajl.dat’);
  reset(f);
  seek(f,0);
  read(f,b);
  close(f);
end.

Naredba FileSize (veličina fajla) može da se koristi sa naredbom FilePos (pozicija u fajlu) da biste otkrili kada ste stigli do kraja fajla. Naredba FileSize vraća broj zapisa, što znači da počinje od 1, a ne 0. Naredba FilePos će Vam reći na kojoj poziciji u fajlu se nalazite.

program FajloviSaPodacima;
var

  f:file of byte;
  b:byte;
begin

  assign(f,’MojFajl.dat’);
  reset(f);
  while filepos(f)<>filesize(f) do
    begin
      read(f,b);
      writeln(b);
    end;
  close(f);
end.

Naredba Truncate (skrati) će obrisati sve iz fajla od tekuće pozicije.

program FajloviSaPodacima;
var

   f:file of byte;
begin

  assign(f,’MojFajl.dat’);
  reset(f);
  seek(f,3);
  truncate(f);
  close(f);
end.

Jedna od najkorisnijih stvari kod fajlova sa podacima je to što možete da ih koristite za čuvanje slogova.

program FajloviSaPodacima;
type

  StudentSlog=record
                  broj:integer;
                  ime:string;
  end;
var

  student:StudentSlog;
  f:file of StudentSlog;
begin

  assign(f,’MojFajl.dat’);
  rewrite(f);
  student.broj:=12345;
  student.ime:=’Petar Petrovic’;
  write(f,student);
  close(f);
end.

Zadaci za vežbanje:

  1. Napišite program koji upoređuje sadržaj dva fjla sa celobrojnim podacima i ispisuje vrednosti u kojima se razlikuju.
  2. Napišite program koji upoređuje sadržaj dva fajla sa slogovima i ispisuje podatke u kojima se razlikuju.

Ostavite komentar »

Nema komentara.

RSS feed for comments on this post. TrackBack URI

Ostavite odgovor

Popunite detalje ispod ili pritisnite na ikonicu da biste se prijavili:

WordPress.com logo

Komentarišet koristeći svoj WordPress.com nalog. Odjavite se / Promeni )

Slika na Tviteru

Komentarišet koristeći svoj Twitter nalog. Odjavite se / Promeni )

Fejsbukova fotografija

Komentarišet koristeći svoj Facebook nalog. Odjavite se / Promeni )

Google+ photo

Komentarišet koristeći svoj Google+ nalog. Odjavite se / Promeni )

Povezivanje sa %s

Blog na WordPress.com.

%d bloggers like this: