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

📄 zcfzstart.pas

📁 本程序功能是将银行系统的月计表转换为所需要的资产负债表
💻 PAS
字号:
unit ZCFZStart;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, jpeg, SUIDlg, Math, JclSysUtils;

type
  TZCFZStartFrm = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    Label1: TLabel;
    Timer1: TTimer;
    suiMessageDialog1: TsuiMessageDialog;
    procedure Timer1Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ZCFZStartFrm: TZCFZStartFrm;

implementation

uses HardwareInfo, FunctionModel, ZCFZRJZC;

{$R *.DFM}

procedure TZCFZStartFrm.Timer1Timer(Sender: TObject);
begin
	Timer1.Enabled:=false;
end;

procedure TZCFZStartFrm.FormDestroy(Sender: TObject);
begin
	screen.Cursor:=crDefault;
end;

procedure TZCFZStartFrm.FormShow(Sender: TObject);
begin
	Screen.Cursor:=crHourGlass;
  image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) +
      '风景这边独好.jpg');
end;

procedure TZCFZStartFrm.FormCreate(Sender: TObject);
var
  LastRunDate: TDateTime;
  dtNow: TDateTime;
  HardwareInfo: THardwareInfo;
  HardDriverSerial: string;
  ChrIndex: Integer;
  HardSerial: Integer;
  HardSerialChar: Char;
  Registrykey: string;
begin
  //日期检查
  dtNow := Now;
  InstallDate := GetRegistryDate('\Software\haichang\传票打印',
    'InstalledDate');
  LastRunDate := GetRegistryDate('\Software\haichang\传票打印', 'LastRunDate',
    dtNow);
  bolISExpire := LastRunDate > dtNow;

  //注册码检查
  HardSerialString := RegistryGetString('\Software\haichang\报表处理',
    //获取注册表中的安装码
    'Installedkey');
  if HardSerialString = '' then //如果安装码不存在,则计算安装码并记入注册表
  begin
    HardwareInfo := THardwareInfo.Create;
    try
      HardDriverSerial := Trim(HardwareInfo.GetIDEDiskSerialNumber);
    finally
      HardwareInfo.Free;
    end;
    HardSerial := 0;
    for ChrIndex := 1 to Length(HardDriverSerial) do //由硬件特征码进行计算安装码
    begin
      HardSerialChar := HardDriverSerial[ChrIndex];
      HardSerial := HardSerial + (Trunc(Power(4, Length(HardDriverSerial) -
        ChrIndex))) * Ord(HardSerialChar);
    end;
    if HardSerial < 0 then
      HardSerial := ABS(HardSerial);
    HardSerialString := IntToStrZeroPad(HardSerial, 12);
    //固定安装码为12个字符长,
    RegistrySetString('\Software\haichang\报表处理', 'Installedkey',
      HardSerialString);
  end;
  Registrykey := RegistryGetString('\Software\haichang\报表处理',
    //获取注册表中的注册码
    'Registration');
  bolRegisted := CheckRegistraton(HardSerialString, Registrykey, ExpireDate);
  if not bolRegisted then
    ExpireDate := InstallDate + 61;
  bolISExpire := bolISExpire and (not bolRegisted);
  bolISExpire := bolISExpire or ((ExpireDate <> 0) and (ExpireDate < dtNow));
  if bolISExpire then
  begin
    if MessageBox(Handle,
      '软件已到期,停止服务。请与软件提供人联系。'#13#10#13#10 +
      '输入注册码请点击“是”按钮。',
      '软件已过期', MB_YESNO or MB_ICONINFORMATION) = mrYes then
    begin
      ZCFZRJZCFrm := TZCFZRJZCFrm.Create(Self);
      try
        ZCFZRJZCFrm.ShowModal;

        if ZCFZRJZCFrm.ModalResult = mrOk then
        begin
          RegistrySetString('\Software\Haichang\报表处理', 'Registration',
            ZCFZRJZCFrm.RzMaskEdit2.Text);
          bolRegisted := True;
        end;
      finally
        ZCFZRJZCFrm.Free;
      end;
    end;
    application.Terminate;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -