procedure TForm1.Button2Click(Sender: TObject); var MyStream:TMemoryStream; begin IdAntiFreeze1.OnlyWhenIdle:=False;//設置使程序有反應. MyStream:=TMemoryStream.Create; try //下載我站點的一個ZIP文件 IdHTTP1.Get('http://www.138soft.com/download/Mp3ToExe.zip',MyStream); except//INDY控件一般要使用這種try..except結構. Showmessage('網絡出錯!'); MyStream.Free; Exit; end; MyStream.SaveToFile('c:/Mp3ToExe.zip'); MyStream.Free; Showmessage('OK'); end; procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer); begin ProgressBar1.Max:=AWorkCountMax; ProgressBar1.Min:=0; ProgressBar1.Position:=0; end; |
IdHTTP1的Get還有一種形式就是獲取字符串:例如,上面的程序可以改寫成:
procedure TForm1.Button1Click(Sender: TObject); var MyStr:String; begin IdAntiFreeze1.OnlyWhenIdle:=False;//設置使程序有反應. try MyStr:=IdHTTP1.Get('http://www.138soft.com/default.htm'); except Showmessage('網絡出錯!'); Exit; end; Showmessage(MyStr); end; |