⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysdata.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 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 + -