1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
|
unit Downloader;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdAntiFreezeBase, Vcl.IdAntiFreeze,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
Vcl.StdCtrls, Vcl.ComCtrls, Vcl.Buttons;
type
TMainFrm = class(TForm)
idhtp1: TIdHTTP;
idntfrz1: TIdAntiFreeze;
dlgSave1: TSaveDialog;
edt1: TEdit;
edt2: TEdit;
lbl1: TLabel;
lbl2: TLabel;
btn1: TBitBtn;
pb1: TProgressBar;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainFrm: TMainFrm;
implementation
{$R *.dfm}
procedure TMainFrm.btn1Click(Sender: TObject);
var
Mystream:TMemoryStream;
begin
if dlgSave1.Execute then
edt2.Text := dlgSave1.FileName;
idntfrz1.OnlyWhenIdle :=False;
Mystream:=TMemoryStream.Create;
try
idhtp1.Get(edt1.Text, Mystream);
except
ShowMessage(‘Network Error‘);
Mystream.Free;
Exit;
end;
Mystream.SaveToFile(edt2.Text);
Mystream.Free;
ShowMessage(‘OK‘);
end;
end.
|