Delphi – Kopiranje fajlova sa prikazom progresa

Gotovo uvek je preporuฤljivo da u svoje aplikacije ugradite grafiku radi prikazivanja protoka nekog procesa. Ovim ฤ‡ete zabaviti korisnika programa i istovremeno ฤ‡ete mu dati korisnu informaciju, o protoku nekog procesa. Prikazaฤ‡emo vam primer za prikaz progresa prilikom kopiranja fajlova. Videฤ‡ete proceduru koja istovremeno kopira odreฤ‘eni fajl sa jednog mesta (Izvor) na drugo (Odrediste), i pri tom prikazuje putem kontrole ProgressBar napredovanje kopiranja.

U novom projektu, na praznu formu postavite jedno komandno dugme i kontrolu ProgressBar i dodajte sledeฤ‡i kod. Procedura KopirajFajl ฤ‡e vrลกiti kopiranje fajla i istovremeno prikazivati napredovanje, a pozivaฤ‡emo je kada se klikne dugme Button1.


Procedure TForm1.KopirajFajl(Izvor, Odrediste : string);
var
IzvorF,OdredisteF : file of byte;
Bafer : array[0..4096] of char;
Procitano: integer;
Velicina : longint;
begin
AssignFile(IzvorF,Izvor);
reset(IzvorF);
AssignFile(OdredisteF,Odrediste);
rewrite(OdredisteF);
Velicina:=FileSize(IzvorF);
With Progressbar1 do
begin
Min := 0;
Max := Velicina;
while Velicina > 0 do
begin
BlockRead(IzvorF,Bafer[0],SizeOf(Bafer),Procitano);
Velicina := Velicina – Procitano;
BlockWrite(OdredisteF,Bafer[0],Procitano);
Position := Position + Procitano;
end;
CloseFile(IzvorF);
CloseFile(OdredisteF);
end; end;

procedure TForm1.Button1Click(Sender: TObject);
begin
KopirajFajl(‘c:WindowsWelcome.exe’,’c:Welcome.exe’);
end;

Pratite Krstaricu na www.krstarica.com