login1.pas

来自「人事管理程序源码」· PAS 代码 · 共 155 行

PAS
155
字号
unit login1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, ComCtrls, Buttons,DateUtils,ADODB;

type
  TForm_ghczy = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Panel2: TPanel;
    xtrq: TDateTimePicker;
    cx_MM: TEdit;
    cx_czy: TComboBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Box_mm: TComboBox;
    procedure BitBtn2Click(Sender: TObject);
    procedure cx_czyKeyPress(Sender: TObject; var Key: Char);
    procedure cx_MMKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure save_czjl(bz:integer);

  private
    { Private declarations }
  public
    { Public declarations }
      login_OK,czrybm,czryxm,czymm:string;
      xtdqrq:Tdate;
  end;

var
  Form_ghczy: TForm_ghczy;

implementation

uses U_gzda_dm, U_main;

{$R *.DFM}

procedure TForm_ghczy.BitBtn2Click(Sender: TObject);
begin
  login_OK:='no';
  close;
end;

procedure TForm_ghczy.cx_czyKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then cx_mm.SetFocus ;
end;

procedure TForm_ghczy.cx_MMKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then bitbtn1.SetFocus ;
end;

procedure TForm_ghczy.FormShow(Sender: TObject);
begin
  with gzda_dm.ADODataSet1 do begin
    if active then active:=false;
    commandtext:='select * from czryBM order by bm';
    open;
    first;
    cx_czy.Items.Clear;
    box_mm.Items.Clear;
    while not eof do begin
      cx_czy.Items.Add(fieldbyname('xm').asstring);
      box_mm.Items.Add(fieldbyname('bm').asstring+'.'+fieldbyname('mm').asstring);
      next;
    end;
    cx_czy.ItemIndex:=1;
    close;
  end;
  cx_czy.SetFocus;

end;

procedure TForm_ghczy.BitBtn1Click(Sender: TObject);
var
  s_index:integer;
  mm:string;
  cx_nian,cx_yue,cx_ri:word;
begin
  s_index:=cx_czy.ItemIndex;
  czrybm:=copy(box_mm.Items.Strings[s_index],1,3);
  czryxm:=cx_czy.Text;
  czymm:=cx_mm.text;
  if czryxm='' then
     begin
       showmessage('请选择操作员!!');
       cx_czy.SetFocus ;
       abort;
     end;
  mm:=trim(copy(box_mm.Items.Strings[s_index],5,length(box_mm.Items.Strings[s_index])-3));
  if mm=cx_mm.Text then
     begin
       login_OK:='ok';
       save_czjl(0);
       form_main.main_czrybm:=czrybm;
       form_main.main_czryxm:=czryxm;
       form_main.main_czymm:=czymm;
       save_czjl(1);
       DecodeDate(now,cx_nian,cx_yue,cx_ri);
       form_main.StatusBar1.Panels[2].Text:='当前日期:'+inttostr(cx_nian)+'年'+inttostr(cx_yue)+'月'+inttostr(cx_ri)+'日';
       form_main.StatusBar1.Panels[1].Text:='操作员:'+czryxm;
     end
  else
     begin
       showmessage('操作员密码输入不正确,请重新输入!!');
       cx_mm.Text :='';
       cx_mm.refresh;
       cx_mm.SetFocus ;
       abort;
     end;
  close;
end;

procedure TForm_ghczy.save_czjl(bz:integer);
begin
  with gzda_dm.ADODataSet_cx do begin //记录进入数据
    if active then active:=false;
    commandtext:='select * from czyjl where (year(jrsj)=:nian) order by xh';
    Parameters.ParamByName('nian').Value:=yearof(now);
    open;
    if bz=0 then
       begin
        last;
        edit;
        fieldbyname('tcsj').AsDateTime:=now;
       end
    else
       begin
        append;
        fieldbyname('czyxm').AsString:=form_main.main_czryxm;
        fieldbyname('jrsj').AsDateTime:=now;
       end;
    post;
    UpdateBatch(arCurrent);
    close;
  end;
end;

procedure TForm_ghczy.FormActivate(Sender: TObject);
begin
  xtrq.Date:=now;
end;

end.

⌨️ 快捷键说明

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