
Pascal Code
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 . |