?? chang_login.pas
字號:
unit Chang_Login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, XPMenu,IniFiles;
type
Tfrm_Chang_Login = class(TForm)
GroupBox1: TGroupBox;
Cmd_Ok: TSpeedButton;
Cmd_Cancel: TSpeedButton;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Label4: TLabel;
LabeledEdit1: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
User_No: TLabeledEdit;
User_Pwd: TLabeledEdit;
User_Type: TComboBox;
User_Name: TComboBox;
XPMenu1: TXPMenu;
procedure Cmd_OkClick(Sender: TObject);
procedure Cmd_CancelClick(Sender: TObject);
procedure User_TypeChange(Sender: TObject);
procedure User_NameChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormShow(Sender: TObject);
procedure User_TypeKeyPress(Sender: TObject; var Key: Char);
procedure User_NameKeyPress(Sender: TObject; var Key: Char);
procedure User_PwdKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
PassTime:integer;
tempPwd:string;
end;
var
frm_Chang_Login: Tfrm_Chang_Login;
MYini: TIniFile;
User_Type,User_Name,User_Time,User_date:String;
MyTime,MYdate:String;
implementation
uses Main, Login, Data, func;
{$R *.dfm}
procedure Tfrm_Chang_Login.Cmd_OkClick(Sender: TObject);
begin
inc(PassTime);
if trim(User_Type.Text)='【超級用戶】' then
begin
if ((User_Name.Text='system') and (User_Pwd.Text='system')) then
begin
Handle_Part:='【超級用戶】';//操作員部門
Handle_Man:='system';//操作員名稱
Handle_No:='';//操作員編號
//寫ini文件
MYini:=TIniFile.Create(ExtractFileDir(application.Exename)+'\login.ini');
MYini.WriteString('NetSeting','Login_Type','超級用戶');
MYini.WriteString('NetSeting','Login_Name',trim(User_Name.Text));
MYini.WriteString('NetSeting','Login_No','');
MYini.WriteString('NetSeting','Login_Date',trim(MyDate));
MYini.WriteString('NetSeting','Login_Time',trim(MyTime));
MYini.Free;
frm_main:=Tfrm_Main.Create(self);
frm_Main.ShowModal;
frm_Login.close;
frm_main.Free;
end
else
begin
Label4.Caption:=Format('密碼錯誤第%d次,請重新輸入:',[PassTime]);
if PassTime>=3 then
begin
MessageBox(Handle,'連續(xù)輸入錯誤密碼超過3次,程序退出!',Pchar(application.Title),MB_ICONWarning);
frm_data.ClientDataSet_Add.Active:=false;
frm_data.ClientDataSet_Add.Close;
frm_Data.Socket_Connection.Connected:=False;
system.Halt;
end
else
begin
application.MessageBox('【連續(xù)輸入錯誤密碼超過3次,程序退出】'+#13#10'用戶名和密碼不符合!請確認后再輸入!',Pchar(application.Title),MB_ICONWarning);
User_Pwd.Text:='';
User_Pwd.SetFocus;
end;
end;
end
else
begin
tempPwd:=Decrypt(trim(User_Pwd.Text),'luersoft');
with frm_Data.ClientDataSet_Add do
begin
close;
CommandText:='';
Commandtext:='select * from [chang] where Employe_Name='''+Trim(User_Name.text)+''' and Part='''+Trim(User_Type.text)+''' and User_Pwd='''+tempPwd+'''';
open;
if frm_Data.ClientDataSet_Add.RecordCount=0 then
begin
Label4.Caption:=Format('密碼錯誤第%d次,請重新輸入:',[PassTime]);
if PassTime>=3 then
begin
MessageBox(Handle,'連續(xù)輸入錯誤密碼超過3次,程序退出!',Pchar(application.Title),MB_ICONWarning);
frm_data.ClientDataSet_Add.Active:=false;
frm_data.ClientDataSet_Add.Close;
frm_Data.Socket_Connection.Connected:=False;
system.Halt;
end
else
begin
application.MessageBox('[連續(xù)輸入錯誤密碼超過3次,程序退出]'+#13#10'用戶名和密碼不符合!請確認后再輸入!',Pchar(application.Title),MB_ICONWarning);
User_Pwd.Text:='';
User_Pwd.SetFocus;
end;
end
else
begin
Handle_Part:=Trim(User_Type.Text);//操作員部門
Handle_Man:=Trim(User_Name.Text);//操作員名稱
Handle_No:=Trim(User_No.Text);//操作員編號
//寫ini文件
MYini:=TIniFile.Create(ExtractFileDir(application.Exename)+'\login.ini');
MYini.WriteString('NetSeting','Login_Type',Trim(User_Type.Text));
MYini.WriteString('NetSeting','Login_Name',Trim(User_Name.Text));
MYini.WriteString('NetSeting','Login_No',Trim(User_No.Text));
MYini.WriteString('NetSeting','Login_Date',Trim(MyDate));
MYini.WriteString('NetSeting','Login_Time',Trim(MyTime));
Myini.Free;
//顯示主窗體
frm_main:=Tfrm_Main.Create(self);
frm_Main.ShowModal;
frm_Login.close;
frm_main.Free;
end;
end;
end;
end;
procedure Tfrm_Chang_Login.Cmd_CancelClick(Sender: TObject);
begin
frm_data.ClientDataSet_Add.Active:=false;
frm_data.ClientDataSet_Add.Close;
frm_Data.Socket_Connection.Connected:=False;
Close;
end;
procedure Tfrm_Chang_Login.User_TypeChange(Sender: TObject);
begin
User_Name.Clear;
if Trim(User_Type.Text)='【請選擇部門】' then
begin
Application.MessageBox('操作錯誤,請選擇所屬部門!請確認!',Pchar(application.Title),MB_ICONWarning);
User_Type.Text:='';
Exit;
end;
if Trim(User_Type.Text)='【超級用戶】' then
begin
User_Name.Clear;
User_Name.Items.Add('system');
end;
with frm_data.ClientDataSet_Add do
begin
Close;
CommandText:='';
CommandText:='Select * from [chang] where Part='''+Trim(User_Type.Text)+'''';
Open;
while (not frm_data.ClientDataSet_Add.Eof) do
begin
User_Name.Items.Add(frm_data.ClientDataSet_Add.FieldValues['Employe_Name']);
Next;
end;
end;
end;
procedure Tfrm_Chang_Login.User_NameChange(Sender: TObject);
begin
if Trim(User_Type.Text)='【請選擇部門】' then
begin
Application.MessageBox('操作錯誤,請選擇所屬部門!請確認!',Pchar(application.Title),MB_ICONWarning);
User_Type.Text:='';
Exit;
end;
if ((Trim(User_Type.Text)<>'【超級用戶】') or (Trim(User_Name.Text)<>'system')) then
begin
with frm_data.ClientDataSet_Add do
begin
Close;
CommandText:='';
CommandText:='Select * from [Employee] where Part_name='''+Trim(User_Type.Text)+''' and Employee_name='''+Trim(User_Name.Text)+'''';
Open;
User_No.Text:=frm_data.ClientDataSet_Add.FieldValues['Employee_NO'];
end;
end
else
begin
User_No.Clear;
end;
end;
procedure Tfrm_Chang_Login.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
frm_data.ClientDataSet_Add.Active:=false;
frm_data.ClientDataSet_Add.Close;
frm_Data.Socket_Connection.Connected:=False;
Action:=Cafree;
end;
procedure Tfrm_Chang_Login.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
frm_data.ClientDataSet_Add.Active:=false;
frm_data.ClientDataSet_Add.Close;
frm_Data.Socket_Connection.Connected:=False;
Close;
end;
procedure Tfrm_Chang_Login.FormShow(Sender: TObject);
begin
User_Type.SetFocus;
User_Type.ItemIndex:=0;
User_Name.Items.Add('system');
with frm_data.ClientDataSet_Add do
begin
Close;
Commandtext:='';
Commandtext:='select distinct Part from [chang]';
open;
first;
while not eof do
begin
User_Type.Items.Add(frm_data.ClientDataSet_Add.FieldValues['Part']);
Next;
end;
end;
with frm_data.ClientDataSet_Add do
begin
Close;
Commandtext:='';
Commandtext:='select Employe_Name from [chang]';
open;
first;
while not eof do
begin
User_Name.Items.Add(frm_data.ClientDataSet_Add.FieldValues['Employe_Name']);
Next;
end;
end;
end;
procedure Tfrm_Chang_Login.User_TypeKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
User_Name.SetFocus;
end;
end;
procedure Tfrm_Chang_Login.User_NameKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
User_Pwd.SetFocus;
end;
end;
procedure Tfrm_Chang_Login.User_PwdKeyPress(Sender: TObject;
var Key: Char);
begin
if Key=#13 then
begin
Cmd_Ok.Click;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -