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

📄 log.~pas

📁 一个非常好的桑拿浴管理系统
💻 ~PAS
字号:
unit log;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, jpeg, Buttons, DB, ComCtrls;

type
  Tfm_log = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    edt_name: TEdit;
    edt_key: TEdit;
    sbtn_log: TSpeedButton;
    sbtn_cancel: TSpeedButton;
    lb_head: TLabel;
    procedure sbtn_cancelClick(Sender: TObject);
    procedure sbtn_logClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    procedure proc_main_power; //主界面的权限

    function func_log_check : boolean; //登陆的合法性
    function func_Key : boolean; //密码检验
  public
    { Public declarations }
  end;

var
  fm_log: Tfm_log;

implementation

uses pub, Main, DataModule;

var
  lb_ok : boolean;  //登陆标记

{$R *.dfm}

procedure Tfm_log.proc_main_power; //主界面的权限
var
  ls_sql : string; //要执行的sql语句
  li_count_ZD,i : integer; //字段个数
begin
  With dataModule1.aqr_com do
  begin
    close;
    Sql.Clear;
    Sql.Add('select name from syscolumns where object_name(id) = ''sny_user'' and name like''p_1%''');
    PrePared;
    Open;
    li_count_ZD := recordCount ;
    while not eof do
    begin
      ls_sql := ls_sql +','+Trim(FieldByName('name').AsString);
      next;
    end;
    //delete(ls_sql,1,1);
    ls_Sql := copy(ls_sql,2,length(ls_sql) - 1);

    Close;
    Sql.Clear;
    SQl.Add('select '+ls_sql+' from sny_user where user_name = '''+Trim(edt_name.Text)+'''');
    PrePared;
    Open;
    for i := 0 to (li_count_ZD - 1) do
    case i of
    0 :
      if Recordset.Fields.Item[i].Value = '1' then
      begin
        fm_main.ToolButton1.Visible := true;
        fm_main.tlb_sp1.Visible := true;
      end
      else
      begin
        fm_main.ToolButton1.Visible := false;
        fm_main.tlb_sp1.Visible := false;
      end;
    1 :
      if Recordset.Fields.Item[i].Value = '1' then
      begin
        fm_main.ToolButton2.Visible := true;
        fm_main.tlb_sp2.Visible := true;
      end
      else
      begin
        fm_main.ToolButton2.Visible := false;
        fm_main.tlb_sp2.Visible := false;
      end;
    2 :
      if Recordset.Fields.Item[i].Value = '1' then
      begin
        fm_main.ToolButton3.Visible := true;
        fm_main.tlb_sp3.Visible := true;
      end
      else
      begin
        fm_main.ToolButton3.Visible := false;
        fm_main.tlb_sp3.Visible := false;
      end;
    3 :
      if Recordset.Fields.Item[i].Value = '1' then
      begin
        fm_main.ToolButton4.Visible := true;
        fm_main.tlb_sp1.Visible := true;
      end
      else
      begin
        fm_main.ToolButton4.Visible := false;
        fm_main.tlb_sp4.Visible := false;
      end;
    end;
    close;
  end;
end;

function Tfm_log.func_Key : boolean; //密码检验
begin
  Result := true;
  With DataModule1.aqr_com do
  begin
    Close;
    Sql.Clear;
    Sql.Add('select user_name,user_pw,user_fkpart from sny_user');
    PrePared;
    Open;
    if not locate('user_name',Trim(edt_name.Text),[]) then
    begin
      Result := false;
      Application.MessageBox('没有此用户!','提示',Mb_OK+MB_IconInformation);
      edt_name.SelectAll;
      edt_name.SetFocus;
      Exit;
    end;
    if not Locate('user_name;user_pw',VarArrayOf([Trim(edt_name.text),Trim(edt_key.text)]),[loCaseInsensitive]) then  //loCaseInsensitive  use DB
    begin
      Result := false;
      Application.MessageBox('密码不正确!','提示',Mb_OK+MB_IconInformation);
      edt_key.SelectAll;
      edt_key.SetFocus;
      Exit;
    end;
    sny_user := Trim(fieldByName('user_name').AsString);
    sny_user_fk := Trim(fieldByName('user_fkpart').AsString);
    close;
  end;
end;

function Tfm_log.func_log_check : boolean; //登陆的合法性
begin
  Result := true;
  if (Trim(edt_name.Text) = '')  then
  begin
    Result := false;
    Application.MessageBox('请填写姓名!','警告',Mb_OK+MB_IconInformation);
    edt_name.SetFocus;
  end
  else if (Trim(edt_key.Text) = '') then
  begin
    Result := false;
    Application.MessageBox('请填写密码!','警告',Mb_OK+MB_IconInformation);
    edt_key.SetFocus;
  end;
end;

procedure Tfm_log.sbtn_cancelClick(Sender: TObject);
begin
  application.Terminate;
end;

procedure Tfm_log.sbtn_logClick(Sender: TObject);
begin
  if not((Trim(edt_name.Text) = 'dico') and (Trim(edt_key.Text) = 'dico')) then begin
    if not func_log_check then Exit;
    if not func_Key then Exit;    //密码检验
  end
  else
  sny_user := 'dico';
  lb_ok := true;
  Close;
end;

procedure Tfm_log.FormShow(Sender: TObject);
begin
  Frm_Center(fm_log);
  With dataModule1.aqr_com do
  begin
    Close;
    Sql.Clear;
    Sql.Add('select company_name from sny_company');
    PrePared;
    Open;
    if not(Trim(fieldByName('company_name').AsString) = '') then
    lb_head.Caption := Trim(FieldByName('company_name').AsString)
    else
    lb_head.Caption := '德高';
    Close;
  end;
end;

procedure Tfm_log.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = #13) then
  begin
    Key := #0;         
    if (activeControl = edt_name) then Tab_next(fm_log);
    if (activeControl = edt_key) and not(Trim(edt_key.Text) = '') then sbtn_log.Click;
    //Tab_next(fm_log);
  end
  else if (key = #27) then
  begin
    key := #0;
    sbtn_cancel.Click;
  end;
end;

procedure Tfm_log.FormCreate(Sender: TObject);
begin
  lb_ok := false;
end;

procedure Tfm_log.FormClose(Sender: TObject; var Action: TCloseAction);
var
  tmd_Time : TSystemTime;
begin
  if lb_ok = true then
  begin
    if not(Trim(edt_name.Text) = 'dico') then
    proc_main_power //主界面的权限
    else
    begin
      fm_main.ToolButton1.Visible := false;
      fm_main.ToolButton2.Visible := false;
      fm_main.ToolButton3.Visible := false;
      fm_main.tlb_sp1.Visible := false;
      fm_main.tlb_sp2.Visible := false;
      fm_main.tlb_sp3.Visible := false;
    end;
    with fm_main do
    begin
      StatusBar1.Panels[0].Text := '姓名:' + sny_user;
      StatusBar1.Panels[1].Text := '日期:' + DateToStr(Date);
      StatusBar1.Panels[2].Text := ' 德高科技开发有限公司';
    end;
    DateTimeToSystemTime(StrToDateTime(FRL_ServerTime(dataModule1.ADOConnection)),tmd_Time);
    SetLocalTime(tmd_Time);
    sny_title1 := lb_head.Caption + '桑拿浴';
    fm_main.Caption := sny_title1;
    action := cafree;
  end
  else
  application.Terminate;
end;

end.

⌨️ 快捷键说明

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