помогите сделать докачку файлов с IdHTTP вот код который я использую Код | var Form1: TForm1; FStartDate : TDateTime; Num : Integer=0; Registre : TRegistry; Directory, Comment : String; Version, NumVers : Integer; const INTERNET_CONNECTION_MODEM = 1; INTERNET_CONNECTION_LAN = 2; INTERNET_CONNECTION_PROXY = 4; INTERNET_CONNECTION_MODEM_BUSY = 8;
function InternetGetConnectedState(lpdwFlags: LPDWORD;dwReserved: DWORD): BOOL; stdcall; implementation
function InternetGetConnectedState; external 'wininet.dll' name 'InternetGetConnectedState';
{$R *.dfm}
function Detection_Connexion :boolean; var dwFlags : DWORD; begin dwFlags :=INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY ; RESULT := InternetGetConnectedState(@dwFlags,0); end;
procedure TForm1.FormCreate(Sender: TObject); begin IdAntiFreeze1.Active:=True; end;
procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer); begin if AWorkMode=wmRead then begin ProgressBar1.Position := AWorkCount + 40; end; end;
procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer); begin ProgressBar1.Visible:=True; if AWorkMode = wmRead then begin ProgressBar1.Max := AWorkCountMax; ProgressBar1.Position := 0; end; if AWorkMode = wmRead then begin Application.ProcessMessages; end; end;
procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode); begin Application.ProcessMessages; Sleep(4000); Application.Terminate; end;
procedure TForm1.ButtonClick(Sender: TObject); var FilIni:tmemorystream; begin FilIni:=TMemoryStream.Create; try IdHttp1.Get(Edit1.text, FilIni);
FilIni.SaveToFile('C:\Evgh-si-downloader\file.exe'); except end; if Detection_Connexion then else Exit; if (Version<NumVers) then else begin Close; Exit; end; Free; end;
|
|