📄 sys800_02.pas.svn-base
字号:
unit Sys800_02;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP, ComCtrls, StdCtrls, Buttons;
type
TSys800_02Form = class(TForm)
IdHTTP1: TIdHTTP;
Label1: TLabel;
ProgressBar1: TProgressBar;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
procedure IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
private
procedure SetInterface;
{ Private declarations }
public
function GetDownloadFile:Boolean;
{ Public declarations }
end;
var
Sys800_02Form: TSys800_02Form;
implementation
uses CommFun, Sys800_01;
{$R *.dfm}
function DownloadFile(ASourceFile,ATargetFile,AProxy,AProxyPort:string):Boolean;
var
AFileStream:TFileStream;
begin
if AProxy<>'' then Sys800_02Form.IdHTTP1.Request.ProxyServer:=AProxy;
if (AProxyPort<>'') and (AProxyPort<>'0') then Sys800_02Form.IdHTTP1.Request.ProxyPort:=StrToInt(AProxyPort);
try
Sys800_02Form.IdHTTP1.Head(ASourceFile);
except
Result:=False;
Exit;
end;
AFileStream:=TFileStream.Create(ATargetFile,fmCreate);
try
Sys800_02Form.IdHTTP1.Get(ASourceFile,AFileStream);
finally
AFileStream.Free;
end;
Result:=True;
end;
procedure TSys800_02Form.SetInterface;
begin
Font.Name:=AFontName;
Caption:=GetDBString('SYS80002001'); //下载安装
end;
procedure TSys800_02Form.FormCreate(Sender: TObject);
begin
SetInterface;
end;
procedure TSys800_02Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TSys800_02Form.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
Application.ProcessMessages;
ProgressBar1.Position:=AWorkCount;
end;
procedure TSys800_02Form.IdHTTP1WorkBegin(Sender: TObject;
AWorkMode: TWorkMode; const AWorkCountMax: Integer);
begin
ProgressBar1.Max:=AWorkCountMax;
end;
procedure TSys800_02Form.IdHTTP1WorkEnd(Sender: TObject;
AWorkMode: TWorkMode);
begin
ProgressBar1.Position:=ProgressBar1.Max;
ProgressBar1.Position:=0;
end;
function TSys800_02Form.GetDownloadFile:Boolean;
var
APath,AUrl,AProxy,AProxyPort,ADownFile:string;
begin
Screen.Cursor:=crHourGlass;
ADownFile:=Sys800_01Form.ASetupFile;
Label1.Caption:=GetDBString('UMS10000196')+ADownFile; //正在下载文件:
Update;
AUrl:=GetSysParams('SYS0015'); //下载网址
if AUrl[Length(AUrl)]<>'/' then AUrl:=AUrl+'/';
AProxy:=GetSysParams('SYS0013'); //代理服务器地址
AProxyPort:=GetSysParams('SYS0014'); //代理服务器端口
APath:=ExtractFilePath(Paramstr(0));
if APath[Length(APath)]<>'\' then APath:=APath+'\';
Result:=DownloadFile(AUrl+ADownFile,APath+ADownFile,AProxy,AProxyPort);
Screen.Cursor:=crDefault;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -