?? sysdata.pas.svn-base
字號:
unit SYSDATA;
interface
uses
SysUtils, Classes, DB, ADODB, ImgList, Controls, Dialogs, Wwintl, ComCtrls,
ExtCtrls, wwfltdlg, wwDialog, Wwlocate, atScript, atPascal, Windows, Forms,
FR_DSet, FR_DBSet, FR_Class, FR_BarC, FR_Chart, frRtfExp, frOLEExl, FR_OLE,
FR_Cross, Printers;
type
TSYSDM = class(TDataModule)
ADOC: TADOConnection;
ImageList1: TImageList;
SYSADOC: TADOConnection;
qryQuery: TADOQuery;
qrySys800: TADOQuery;
imgBtn: TImageList;
LangsADOC: TADOConnection;
qryLangs: TADOQuery;
qryLanguage: TADOQuery;
SaveDialog1: TSaveDialog;
wwIntl1: TwwIntl;
wwLocateDialog1: TwwLocateDialog;
wwFilterDialog1: TwwFilterDialog;
qrySys300: TADOQuery;
qryLocate: TADOQuery;
qrySys500D: TADOQuery;
qryScript: TADOQuery;
dsSys910: TDataSource;
qrySys910: TADOQuery;
qrySys910S910_001: TIntegerField;
qrySys910S910_002: TDateTimeField;
qrySys910S910_003: TStringField;
qrySys910S910_004: TStringField;
qrySys910S910_005: TIntegerField;
qrySys910S910_006: TSmallintField;
Timer1: TTimer;
Sys910: TADOQuery;
ADOCommand1: TADOCommand;
qryProgram: TADOQuery;
frReport2: TfrReport;
frDBDataSet1: TfrDBDataSet;
frChartObject1: TfrChartObject;
frBarCodeObject1: TfrBarCodeObject;
frOLEExcelExport1: TfrOLEExcelExport;
frRtfAdvExport1: TfrRtfAdvExport;
frDBDataSet2: TfrDBDataSet;
frOLEObject1: TfrOLEObject;
frDBDataSet3: TfrDBDataSet;
frDBDataSet4: TfrDBDataSet;
frCrossObject1: TfrCrossObject;
frDBDataSet5: TfrDBDataSet;
frDBDataSet6: TfrDBDataSet;
qrySys500E: TADOQuery;
procedure DataModuleCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
ANewMsg:Integer;
AAlreadyChecked,AIsUpdate:Boolean;
function GetIsUpdate:Boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
SYSDM: TSYSDM;
implementation
uses CommFun, HwUpgrade;
{$R *.dfm}
procedure DownloadFile(ASourceFile,ATargetFile,AUrl,AProxy,AProxyPort:string);
var
AFileStream:TFileStream;
begin
ASourceFile:=AUrl+ASourceFile;
if (AProxy<>'') and (AProxy<>'0') then HwUpgradeForm.IdHTTP1.Request.ProxyServer:=AProxy;
if (AProxyPort<>'') and (AProxyPort<>'0') then HwUpgradeForm.IdHTTP1.Request.ProxyPort:=StrToInt(AProxyPort);
AFileStream:=TFileStream.Create(ATargetFile,fmCreate);
try
HwUpgradeForm.IdHTTP1.Get(ASourceFile,AFileStream);
finally
AFileStream.Free;
end;
end;
//是否存在升級版本
function TSYSDM.GetIsUpdate:Boolean;
var
APath,AUrl,AProxy,AProxyPort,AIniFile,AWeb:string;
AUpdateFile:TStringList;
begin
//自動探測系統最新版本,并提示升級
if (not AAlreadyChecked) and (GetSysParams('SYS0018')='Y') then
begin
AAlreadyChecked:=True;
APath:=ExtractFilePath(Paramstr(0));
AUpdateFile:=TStringList.Create;
try
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+'\';
DownloadFile('Upgrade.ini',APath+'Upgrade.ini',AUrl,AProxy,AProxyPort);
//生成本地文件信息
AIniFile:=APath+'VerInfo.ini';
if FileExists(AIniFile) then DeleteFile(PChar(AIniFile));
SearchFile(APath,AIniFile);
//比較本地文件與升級文件信息
AWeb:=APath+'Upgrade.ini';
AIsUpdate:=CheckUpgrade(AWeb,AIniFile,AUpdateFile);
except
AIsUpdate:=False;
end;
end;
Result:=AIsUpdate;
end;
procedure TSYSDM.DataModuleCreate(Sender: TObject);
begin
ADOC.Connected:=False;
end;
procedure TSYSDM.Timer1Timer(Sender: TObject);
var
ANew:Integer;
APageControl:TPageControl;
ADate:TDateTime;
begin
try
Sys910.Close;
Sys910.SQL.Clear;
Sys910.SQL.Add('select count(*) from SYS910 where S910_006=1 and S910_005='+IntToStr(AUserID));
Sys910.Open;
except
Timer1.Enabled:=False;
ShowMsg('UMS10000342'); //網絡連接導常中斷,系統將自動關閉,請檢查網絡連接是否正常后再登錄
Application.Terminate;
Abort;
end;
ANew:=Sys910.Fields[0].Value;
if (ANew<>0) and (ANewMsg<>ANew) and (GetSysParams('SYS0012')='Y') then //新消息到達時顯示提示信息
begin
ANewMsg:=ANew;
SetDlgAutoClose(5*1000, False); //自動關閉提示信息窗口
ShowMsg(GetDBString('UMS10000123')+IntToStr(ANew)+GetDBString('UMS10000124'),1); //'您有'+IntToStr(ANew)+'條新消息,是否立即查看?
APageControl:=Application.MainForm.ActiveMDIChild.FindComponent('PageControl1') as TPageControl;
if APageControl<>nil then APageControl.ActivePageIndex:=1;
end;
qrySys910.DisableControls;
qrySys910.Close;
qrySys910.SQL.Clear;
qrySys910.SQL.Add('select * from SYS910 where S910_005='+IntToStr(AUserID)+' order by S910_002 desc');
qrySys910.Open;
qrySys910.EnableControls;
//刷新在線用戶表
ADate:=GetServerDate;
qrySys500E.Close;
qrySys500E.SQL.Clear;
qrySys500E.SQL.Add('select * from SYS500E where S500E_001='+IntToStr(AUserID));
qrySys500E.Open;
if not qrySys500E.IsEmpty then
begin
qrySys500E.Edit;
qrySys500E.FieldByName('S500E_003').Value:=ADate; //刷新時間
qrySys500E.FieldByName('S500E_006').Value:=0; //狀態 0=活動,1=不活動
qrySys500E.Post;
end;
if Application.MainForm.ActiveMDIChild=nil then Exit;
//自動探測系統最新版本,并提示升級
if (GetOnlineStatus) and (GetIsUpdate) and (not AIsUpgrade) then
begin
AIsUpgrade:=True;
if ShowDialog('UMS10000254')=IDYES then //發現最新版本的浩暉軟件,是否現在升級
begin
//系統升級
HwUpgradeForm:=THwUpgradeForm.Create(Application);
HwUpgradeForm.FormStyle:=fsStayOnTop;
HwUpgradeForm.Show;
HwUpgradeForm.Update;
HwUpgradeForm.bbtnUpgrade.Click;
end;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -