📄 login.pas
字号:
unit Login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBTables, DB;
type
TLoginFrm = class(TForm)
Login_Database: TDatabase;
Login_Table: TTable;
Login_Query: TQuery;
LoginPassword_Label: TLabel;
LoginUsername_Label: TLabel;
LoginTitle_Label: TLabel;
LoginUsername_ComboBox: TComboBox;
LoginPassword_Edit: TEdit;
LoginCancel_BitBtn: TBitBtn;
LoginOk_BitBtn: TBitBtn;
procedure LoginOk_BitBtnClick(Sender: TObject);
procedure LoginCancel_BitBtnClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
loginusername:string;
{ Public declarations }
end;
var
LoginFrm: TLoginFrm;
function Getpassword(password:string):string;
implementation
uses MainForm;
{$R *.dfm}
//-------定义函数:获取数据库的用户密码(译码)------
function Getpassword(password:string):string;
var i,passwordlength:integer;
temppassword:string;
begin
passwordlength:=length(password);
temppassword:='';
for i:=passwordlength downto 1 do
begin
temppassword:=temppassword+copy(password,i,1);
end;
Getpassword:=temppassword;
end;
procedure TLoginFrm.LoginOk_BitBtnClick(Sender: TObject);
var querystring,password,loginpassword:string;
begin
//管理员初次登陆,密码是888888
loginusername:=LoginUsername_ComboBox.text;
querystring:='select * from login where username='+''''+LoginUsername_ComboBox.text+'''';
with Login_Query do
begin
//-------获取数据库密码------
sql.clear;
sql.add(querystring);
open;
password:=Getpassword(fieldbyname('password').asstring);
close;
end;
loginpassword:=LoginPassword_Edit.text;
//-------判断密码是否正确------
if loginpassword=password then
begin
LoginFrm.hide;
Login_Table.active:=false;
Login_Query.active:=false;
Login_Database.Connected:=false;
MainFrm.show;
end
else
begin
LoginPassword_Edit.text:='000000';
messagebox(LoginFrm.handle,'请输入正确的密码','警告',mb_ok+mb_iconwarning);
end;
end;
procedure TLoginFrm.LoginCancel_BitBtnClick(Sender: TObject);
begin
Login_Table.active:=false;
Login_Query.active:=false;
Login_Database.Connected:=false;
LoginFrm.hide;
end;
procedure TLoginFrm.FormCreate(Sender: TObject);
begin
Login_Table.active:=True;
Login_Database.Connected:=True;
LoginUsername_ComboBox.text:='administrator';
Login_Table.first;
//-------显示用户列表------
while not Login_Table.eof do
begin
LoginUsername_ComboBox.items.insert(-1,Login_Table.fieldbyname('username').asstring);
Login_Table.Next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -