📄 unlogin.pas
字号:
unit UnLogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,DB, ADODB, Buttons,strutils;
type
TLogin_Frm = class(TForm)
Panel1: TPanel;
Label3: TLabel;
Edt_pass: TEdit;
Label4: TLabel;
Cbx_Dept: TComboBox;
Label2: TLabel;
Edt_UserName: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure Cbx_DeptClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
B_SLin:boolean;
Function Login():boolean;
public
{ Public declarations }
end;
var
Login_Frm: TLogin_Frm;
Logsum:integer;
implementation
uses UnMain, Undm, UnFuntion;
{$R *.dfm}
function TLogin_Frm.Login: boolean;
begin
with dm.AQ3 do
begin
Close;
SQL.Text:='select * from T_Employee where UserName=:tmp1 and PassWord=:tmp2';
Parameters[0].Value:=copy(Edt_UserName.Text,pos('-',Edt_UserName.Text)+1,length(Edt_UserName.Text));
Parameters[1].Value:=Edt_pass.Text;
Prepared:=true;
Open;
if not Recordset.EOF then
begin
Result:=True;
Purview:= fieldbyname('Purview').AsInteger;
UserName:=fieldbyname('No').AsString+'-'+fieldbyname('UserName').AsString;
Password:=fieldbyname('Password').AsString;
// Main_Frm.TBar1.Visible:=False;
//Main_Frm.StatusBar1.Panels[1].Text:='操作者:'+UserName;
Main_Frm.Panel2.Caption:='操作者:'+UserName;
B_SLin:=True;
case purview of
0:begin
Main_Frm.N1.Visible:=False;
Main_Frm.N2.Visible:=False;
Main_Frm.N5.Visible:=False;
Main_Frm.N27.Visible:=False;
Main_Frm.TBBtn1.Visible:=True;
Main_Frm.TBBtn2.Visible:=True;
Main_Frm.Sbtn1.Visible:=True;
Main_Frm.Sbtn2.Visible:=True;
Main_Frm.Sbtn5.Visible:=False;
Main_Frm.Sbtn6.Visible:=False;
Main_Frm.Sbtn7.Visible:=False;
end;
1:begin
Main_Frm.N3.Visible:=False;
Main_Frm.N4.Visible:=False;
main_frm.TBBtn1.Visible:=False;
Main_Frm.TBBtn2.Visible:=False;
Main_Frm.Sbtn1.Visible:=False;
Main_Frm.Sbtn2.Visible:=False;
Main_Frm.Sbtn5.Visible:=True;
Main_Frm.Sbtn6.Visible:=True;
Main_Frm.Sbtn7.Visible:=True;
end;
end;
end else if ((AnsiContainsText(Edt_UserName.Text,'admin')) and (Edt_pass.Text='beijingtbt')) then begin
Result:=True; B_SLin:=True;
UserName:='0001-admin';
Password:=Edt_pass.Text;
Purview:=1;
Main_Frm.Panel2.Caption:='操作者:'+UserName;
Main_Frm.N3.Visible:=False;
Main_Frm.N4.Visible:=False;
main_frm.TBBtn1.Visible:=False;
Main_Frm.TBBtn2.Visible:=False;
Main_Frm.Sbtn1.Visible:=False;
Main_Frm.Sbtn2.Visible:=False;
Main_Frm.Sbtn5.Visible:=True;
Main_Frm.Sbtn6.Visible:=True;
Main_Frm.Sbtn7.Visible:=True;
end else
Result:=False;
//end;
end;
end;
procedure TLogin_Frm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if B_SLin then
Action:=caFree else Application.Terminate;
end;
procedure TLogin_Frm.FormShow(Sender: TObject);
begin
logsum:=3;
end;
procedure TLogin_Frm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Shift = [ssAlt]) and (key=115) then
key:=0;
end;
procedure TLogin_Frm.FormCreate(Sender: TObject);
begin
if ErrorConn then
Exit;
Cbx_Dept.Clear;
Edt_UserName.Clear; B_SLin:=False;
with dm.AQ1 do
begin
Close;
SQL.Text:='select * from T_Employee order by no';
Prepared:=true;
Open;
while not Recordset.EOF do begin
Edt_UserName.Items.Add(Fieldbyname('NO').AsString+'-'+Fieldbyname('UserName').AsString);
Next;
end;
end;
with dm.AQ2 do
begin
Close;
SQL.Text:='select * from T_Dept';
Prepared:=true;
Open;
while not Recordset.EOF do begin
Cbx_Dept.Items.Add(Fieldbyname('DeptNo').AsString+'-'+Fieldbyname('DeptName').AsString);
Next;
end;
end;
end;
procedure TLogin_Frm.Cbx_DeptClick(Sender: TObject);
begin
Edt_UserName.Clear;
with dm.AQ1 do
begin
Close;
if Cbx_Dept.Text='' then
SQL.Text:='select * from T_Employee'
else
SQL.Text:='select * from T_Employee where DeptNo='+quotedstr(copy(Cbx_Dept.Text,1,pos('-',Cbx_Dept.Text)-1));
Prepared:=true;
Open;
while not Recordset.EOF do begin
Edt_UserName.Items.Add(Fieldbyname('NO').AsString+'-'+Fieldbyname('UserName').AsString);
Next;
end;
end;
end;
procedure TLogin_Frm.BitBtn1Click(Sender: TObject);
begin
if Login then
begin
Close; //成功
Main_Frm.Show;
end else
begin
Dec(Logsum);
if logsum>0 then
Application.MessageBox('密码错误,请重试!','警告',MB_OK+MB_ICONWARNING)
else begin
Application.MessageBox('你的密码严重错误,系统将退出!','错误',MB_OK+MB_ICONERROR);
BitBtn2Click(nil);
end;
end;
end;
procedure TLogin_Frm.BitBtn2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TLogin_Frm.FormActivate(Sender: TObject);
begin
if ErrorConn then
OraceSetup;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -