📄 login_frms.pas
字号:
unit Login_Frms;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls,IniFiles, ComCtrls;
type
TLogin_Frm = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Button1: TButton;
Button2: TButton;
Login_Psw_Edit: TEdit;
Label1: TLabel;
Label2: TLabel;
Login_Name_Edit: TEdit;
StatusBar: TStatusBar;
procedure Login(Login_Name,Login_Psw:string;Var Errorid:string);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Login_Frm: TLogin_Frm;
implementation
uses Flash_Frm, Background_DataModules, Background_Main,
Accounts_Manage_Frms;
{$R *.dfm}
procedure TLogin_Frm.FormShow(Sender: TObject);
var
Configure_Sqlserver: TIniFile;
Host_IP,Provider,Password,Persist_Security_Info,User_ID,Initial_Catalog,Data_Source:string;
Connection_String:string;
begin
With Flash_Form do
begin
Show;
{延迟一段很短的时间}
Application.ProcessMessages;
Sleep(10);
end;
{--------------------读出INI文件中数据库服务器的相关参数----------------------------------}
Configure_Sqlserver := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Configure_Sqlserver.ini');
with Configure_Sqlserver do
begin
Host_IP:=ReadString('Server', 'Host_IP',Host_IP);
Provider:=ReadString('Sqlserver', 'Provider',Provider);
Password:=ReadString('Sqlserver', 'Password',Password);
Persist_Security_Info:=ReadString('Sqlserver', 'Persist Security Info',Persist_Security_Info);
User_ID:=ReadString('Sqlserver', 'User ID',User_ID);
Initial_Catalog:=ReadString('Sqlserver', 'Initial Catalog',Initial_Catalog);
Data_Source:=ReadString('Sqlserver', 'Data Source',Data_Source);
Connection_String:='Provider='+Provider+';Password='+Password+';Persist Security Info=';
Connection_String:=Connection_String+Persist_Security_Info+';User ID='+User_ID+';Initial Catalog=';
Connection_String:=Connection_String+Initial_Catalog+';Data Source='+Data_Source;
end;
Configure_Sqlserver.Free;
{--------------------读出INI文件中数据库服务器的相关参数----------------------------------}
{------------------------------连接数据库--------------------------------------}
Try
With Background_DataModule Do
begin
//Background_Connection.ConnectionString:=Connection_String;
Background_Connection.Connected:=True;
Exam_Specialty_Table.open;
Exam_Difficulty_Table.open;
Exam_Name_Table.open;
Sales_Department_Table.open;
end;
Except
Showmessage('无法连接数据库,请检查您的配置文件!');
close;
end;
{------------------------------连接数据库--------------------------------------}
Flash_Form.Close;
end;
procedure TLogin_Frm.Login(Login_Name,Login_Psw:string;Var Errorid:string);
{Errorid为'0000'时表示登陆成功,'0001'表示不存在此用户,'0002'表示密码错误
'0003'表示密码串非法,'0004'表示没有管理员权限}
Var
Login_Psw_MiWen:String;
Check:Boolean;
begin
With Accounts_Manage_Frm do
begin
Validity_Check(Login_Psw,Check); {检查密码串合法性}
If Check=False
then Errorid:='0003'
else
begin
JiaMi(MiYao,Login_Psw,Login_Psw_MiWen); {将明文转化成密文}
With Background_DataModule do
begin
Login_Query.Close;
Login_Query.Parameters.ParamByName('Login_Name').Value:=Login_Name_Edit.Text;
Login_Query.Open;
Login_Query.First;
If Login_Query.Eof
then Errorid:='0001' {不存在此用户名称}
else If Login_QueryLogin_Psw.Value<>Login_Psw_MiWen
then Errorid:='0002'
else If Login_QueryPurview.Value<>'A'
Then Errorid:='0004'
else Errorid:='0000';
end;
end;
end;
end;
procedure TLogin_Frm.Button1Click(Sender: TObject);
Var
Errorid:string;
begin
Login(Login_Name_Edit.Text,Login_Psw_Edit.Text,Errorid);
//Showmessage(Errorid);
If Errorid='0001' then StatusBar.Panels.Items[0].Text:='不存在此用户名称';
If Errorid='0002' then StatusBar.Panels.Items[0].Text:='密码错误';
If Errorid='0003' then StatusBar.Panels.Items[0].Text:='密码串非法';
If Errorid='0004' then StatusBar.Panels.Items[0].Text:='没有管理员权限';
If Errorid='0000' then
begin
Main_Frm.show;
Login_Frm.Hide;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -