【delphi开源代码栏目提醒】:网学会员,鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“login.pas”一文,供大家参考学习!
unit login;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons;
type
TfrmLogin = class(TForm)
GroupBox1: TGroupBox;
Label2: TLabel;
EdtPwd: TEdit;
Label1: TLabel;
EdtName: TEdit;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure EdtNameKeyPress(Sender: TObject; var Key: Char);
procedure EdtPwdKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
//对密码进行加密
function EncryptStr(const SBefor: PChar; Key: Word;var SAfter:PChar): Integer;stdCall;external 'ERPPublic.dll';
var
frmLogin: TfrmLogin;
implementation
uses DataModule, PublicModel;
{$R *.dfm}
procedure TfrmLogin.SpeedButton1Click(Sender: TObject);
var
strSQL :string;
key{,len }: integer ;
{sjkmm :PChar;}
begin
if trim(EdtName.Text) = '' then
begin
showInfMsg('请输入用户名!');
EdtName.SetFocus ;
exit;
end;
try
key := ord((Trim(EdtName.Text))[1]);
strSQL := ' select * from PMPerson where Per_dlmz = ''' +
trim(EdtName.Text) + ''' and Per_dlmm = ''' +
Encrypt(EdtPwd.Text,key) + '''';
ExecQuery(DM.DSetTemp,strSQL);
except
showErrMsg('数据库读写错误!');
end;
if DM.DSetTemp.IsEmpty then
begin
showErrMsg('用户名和密码不匹配!');
EdtName.SetFocus ;
exit ;
end;
NowUser.UserID := DM.DSetTemp.FieldValues['Per_i'];
NowUser.UserName := DM.DSetTemp.FieldValues['Per_Name'];
NowUser.UserPower := getUserPower(NowUser.UserID );
Close;
end;
procedure TfrmLogin.SpeedButton2Click(Sender: TObject);
begin
Application.Terminate ;
end;
procedure TfrmLogin.EdtNameKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then //如果用户输入回车,则相当于单击确定按钮
SpeedButton1.Click
else if key= #27 then //如果用户输入Esc,则相当于单击取消按钮
SpeedButton2.Click ;
end;
procedure TfrmLogin.EdtPwdKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then //如果用户输入回车,则相当于单击确定按钮
SpeedButton1.Click
else if key= #27 then //如果用户输入Esc,则相当于单击取消按钮
SpeedButton2.Click ;
end;
end.