Pascal: Rad sa fajlovima

Kao i vecina modernih programskih jezika, Pascal ima brojne funkcije vezane za fajlove. Moguce ih je kreirati, pisati u njima, dodavati materijal, brisati, kopirati itd. Komande za fajlove nalaze se u unitu Sysutils, koji najpre standardno ucitavamo pomocu Uses. Pogledajmo nekoliko primera.

program Kreiranje;
uses sysutils;
var
a:textfile;
b:string;

begin
AssignFile(a, 'bla.txt'); //definisemo ime fajla
rewrite(a); //kreiramo ga
writeln(a,'Hello World!'); //upisujemo text
closefile(a); //zatvaramo fajl
writeln('Fajl je napravljen');
readln; //pauza za proveru
writeln('Text za dodavanje:');
readln(b);
append(a); //produzavamo fajl nasim textom
writeln(a,b);
closefile(a); //zatvaramo fajl drugi put
writeln('Text je dodat');
readln;
end.

U ovom programu najpre smo definisali fajl tako sto smo mu dali ime. Zatim smo ga kreirali, upisali u njega kratak text i zatvorili. Nakon toga smo ga opet otvorili, dodali novi text na postojeci i zatvorili. Inace, preporuka je da primere u ovoj lekciji isprobavate u Lazarusu sa: Project > New Project > Simple Program. U koliko ipak zelite Dev-Pascal, najpre iskompajlirajte program, pa ga pokrenite iz sopstvenog foldera. Ovo je neophodno zbog nedostataka u pomenutom okruzenju, koji su otklonjeni u Lazarusu.

Za sledeci program neophodno je da prethodno kreirani bla.txt bude u istom folderu sa izvrsnim exe fajlom. Ako pravite projekte u zasebnim folderima, jednostavno iskopirajte text fajl iz prethodnog primera u njega.

program Citanje;
uses sysutils;
var
a:textfile;
b:file of byte;
n:string;

begin
//proveravamo prisustvo fajla
if fileexists('bla.txt') then
begin
writeln('Nasli smo ga!'); //obavestenje ako je tu
//otvaramo fajl kao binarni
assign(b,'bla.txt');
reset(b);
//proveravamo duzinu
writeln('Duzina fajla u bajtovima: ', filesize(b));
close(b);
//otvaramo fajl kao textualni
assign(a,'bla.txt');
reset(a);
writeln('----------');
writeln;
writeln('Sadrzaj fajla je:');
//ispisujemo sadrzaj do kraja
while not eof(a) do //provera da li je kraj
begin
readln(a,n);
writeln(n);
end;
readln;
end else begin
//obavestavamo ako nije tu
writeln('2x0=0, Fajla nije ni bilo');
readln; end;
end.

U ovom primeru najpre proveravamo da li fajl postoji. Zatim ga otvaramo kao binarni, da bi mogli da iscitamo njegovu duzinu. Nakon toga ga ponovo otvaramo kao textualni, da bi iscitali sadrzaj. Ovaj pristup je neophodan jer nisu sve funkcije dostupne za svaki tip fajla. Na kraju ispisujemo gresku za slucaj da ga nismo nasli.

Ovim smo pokrili neke od osnovnih metoda za rad sa fajlovima. Vise informacija mozete naci ovde i ovde.

Posted on 2017/12/20, in Pascal, Programski jezici, Tutorijali. Bookmark the permalink. 1 Comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: