FTP download: http://www.7880.com/Info/Article-19938be0.html
http://community.csdn.net/Expert/topic/3300/3300012.xml?temp=5.028933E-02
FTP download: TIdFTP control (Delphi7 Indy)
Http download: (Delphi7) Use the design Indy control to download network files //////////////////
Add controls in Form1:
Two Indy controls: IdAntiFreeze1, IdHTTP1;
A button: Button1;
A progress bar:PRogressBar1 displays download speed
procedure TForm1.Button1Click(Sender: TObject);
var
MyStream:TMemoryStream;
Begin
IdAntiFreeze1.OnlyWhenIdle:=False;//Set to make the program react.
MyStream:=TMemoryStream.Create;
try
IdHTTP1.Get('http://www.appcontrols.com/demos/exe/HTTPDemo.exe',MyStream);
except
Showmessage('No download successful!');
MyStream.Free;
Exit;
end;
MyStream.SaveToFile(ExtractFilePath(paramstr(0))+'HTTPDemo.zip');
MyStream.Free;
Showmessage('OK');
end;
procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
Begin
//Before starting download, set the maximum value of ProgressBar1 to the data size that needs to be received.
ProgressBar1.Max:=AWorkCountMax;
ProgressBar1.Min:=0;
ProgressBar1.Position:=0;
end;
procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
Begin
//When receiving data, the progress will be displayed in ProgressBar1.
ProgressBar1.Position:=ProgressBar1.Position+AWorkCount;
end;