Tehnika Krstarice > Programiranje > Delphi - Kopiranje fajlova sa prikazom progresa

Delphi - Kopiranje fajlova sa prikazom progresa

23.03.2001.

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:\Windows\Welcome.exe','c:\Welcome.exe');
end;

Preporučite ovaj članak

5.00 (glasova: 1)