📄 ufrmlogin.pas
字号:
unit ufrmlogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmLogin = class(TForm)
Label1: TLabel;
Label2: TLabel;
edtusername: TEdit;
Label3: TLabel;
edtpassword: TEdit;
btnOk: TButton;
btnCancel: TButton;
Label4: TLabel;
procedure btnOkClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogin: TfrmLogin;
flag:boolean;
implementation
uses udmclient, UfrmMain;
{$R *.dfm}
procedure TfrmLogin.btnOkClick(Sender: TObject);
var
username,password:string;
begin
username:=edtusername.Text; //用户名
password:=edtpassword.Text; //密码
try
dmclient.cdsLogin.Active:=false;
{ dmclient.cdsLogin.CommandText:='select *from systemusers'+
' where username=:username and password=:password'; }
//像应用程序服务器传递参数值,以便进行查询
dmclient.cdsLogin.Params.ParamByName('username').Value:=username;
dmclient.cdsLogin.Params.ParamByName('password').Value:=password;
dmclient.cdsLogin.Open;
//查到唯一用户
if dmclient.cdsLogin.RecordCount=1 then
begin
//取得用户权限 ,变量authorization是在主窗体frmMain中申明的全局变量
frmmain.authorization:=dmclient.cdsLogin.fieldbyname('authorization').Value;
flag:=true; //设置标志
close; //关闭窗体以便将控制权交给其他窗体
end
else
begin
flag:=false;
messagedlg('用户验证失败',mterror,[mbok],0);
exit;
end;
except
on e:exception do
begin
messagedlg('错误:'+e.Message,mterror,[mbok],0);
exit;
end;
end;
end;
procedure TfrmLogin.btnCancelClick(Sender: TObject);
begin
flag:=false;
close;
end;
procedure TfrmLogin.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if flag=false then
begin
dmclient.cdsLogin.Close;
dmclient.DCOMConnSvr.Connected:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -