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 + -
显示快捷键?