loginfrm.pas

来自「本人编写的有关军队营房工作的管理系统」· PAS 代码 · 共 213 行

PAS
213
字号
unit loginfrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, Mask, DBCtrls, DB, DBTables, backup,
  AFDes;

type
  Tlogin = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label4: TLabel;
    Edit2: TEdit;
    Edit4: TEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Edit1: TEdit;
    Label5: TLabel;
    BackupFile1: TBackupFile;
    AFDES1: TAFDES;
    BackupFile2: TBackupFile;
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  function Get_Serial: string;stdcall external 'yfglrun.dll';  //获得序列号
  function get_date: tdatetime;stdcall external 'yfglrun.dll';  //获得使用时间
  function get_regsn: string;stdcall external 'yfglrun.dll';  //获得注册码
  function get_pass(password:string): boolean; stdcall external 'yfglrun.dll'; //验证注册码

var
  login: Tlogin;
  count:integer;  //记录密码输入次数

implementation
uses datafrm, mainfrm, regfrm, dwsdfhztfrm, yhsdfhztfrm, dbddyfrm, cjddyfrm,
  yfglszhfrm;
{$R *.dfm}

procedure Tlogin.SpeedButton2Click(Sender: TObject);
begin
close;
end;

procedure Tlogin.SpeedButton1Click(Sender: TObject);
begin
count:=count+1;
afdes1.Input:=edit4.Text;
if (get_pass(yfglszh.szh.fieldbyname('注册码').AsString) and (afdes1.Execute=yfglszh.szh.FieldByName('密码').asstring)) then
  begin
    BackupFile1.Restore(extractfilepath(application.ExeName)+'yfglr.dll', extractfilepath(application.ExeName)+'data\');
    BackupFile2.Restore(extractfilepath(application.ExeName)+'yfglb.dll', extractfilepath(application.ExeName)+'data0\');
    Application.CreateForm(Tmain, main);
    Application.CreateForm(Tyfgldata, yfgldata);
    Application.CreateForm(Tdbddy, dbddy);
    Application.CreateForm(Tcjddy, cjddy);
    Application.CreateForm(Tdwsdfhzt, dwsdfhzt);
    Application.CreateForm(Tyhsdfhzt, yhsdfhzt);
    login.Visible:=false;
    main.Showmodal;
    login.Close;
  end
else
  messagebox(application.handle,'软件没有注册或密码输入错误。','营房工作管理系统',16);
if count=3 then close;
end;

procedure Tlogin.FormActivate(Sender: TObject);
var
  present: tdatetime;
begin
  login.Edit1.Text:=yfglszh.szh.fieldbyname('单位').AsString;
  present:=now;
  if (present>get_date) or (present<yfglszh.szh.FieldByName('使用日期').AsDateTime) then
    begin
      messagebox(login.handle,'系统超过使用期限或您修改了系统时间。','营房工作管理系统',16);
      close;
    end
  else
    begin
      yfglszh.szh.Edit;
      yfglszh.szh.FieldByName('使用日期').AsDateTime:=now;
      yfglszh.szh.Post;
    end;
  if yfglszh.szh.FieldByName('注册码').AsString<>get_regsn then
    begin
      application.CreateForm(treg,reg);
      try
        reg.ShowModal;
      finally
        reg.Free;
      end;
    end;
login.Edit2.Text:=Get_Serial;
end;

procedure Tlogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//退出系统时,删除所有数据文件
yfglszh.Free;       
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_cjd.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_cjd.mb');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_cjd1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dt.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dt.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dw.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dw.mb');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dw.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dw.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwqk.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwqk.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwqk.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwsdf.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwsdf.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwsdfhz.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwsdfhz.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwyj.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwyj.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwyj1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_dwyj1.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_grjyyj.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_grjyyj.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_grjyyj1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_guolu.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_guolu.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_gx.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_gx.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_kcyj.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_kcyj.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_kcyj1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdbz.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdbz.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdbz.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdf.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdf.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdfbz.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdfbz.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdjg.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdjg.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdyh.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdyh.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_sdyh.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_wx.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_wx.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_wxwz.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_wxwz.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_wxwz1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_wxwz1.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_xjyf.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_xjyf.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfda.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfda.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yffd.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yffd.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfsb.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfsb.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfwz.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfwz.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfzl.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yfzl.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yhsdfhz.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yhsdfhz.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yj.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yj1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yj1.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjdb.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjdb.mb');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjdb1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjhz.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjhz1.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjtemp.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjzl.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjzl.px');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_yjzl.val');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_zjxhde.db');
DeleteFile(extractfilepath(application.ExeName)+'data\yfgl_zjxhde.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_dt.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_dt.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_dt.xg0');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_dt.yg0');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_dwqk.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_dwqk.px');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_dwqk.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_guolu.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_guolu.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_gx.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_gx.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_xjyf.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_xjyf.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfda.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfda.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yffd.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yffd.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfsb.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfsb.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfwz.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfwz.val');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfzl.db');
DeleteFile(extractfilepath(application.ExeName)+'data0\yfgl_yfzl.val');
action:=cafree; //释放窗体
end;

end.

⌨️ 快捷键说明

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