procedure TLoginForm.OKBtnClick(Sender: TObject);
begin
b_halt := false;
self.Close;
end;
procedure TLoginForm.E_IDChange(Sender: TObject);
begin
with query_pass do
begin
first;
while not eof do
begin
if E_id.Text = fieldbyname('ID').AsString then
begin
L_name.Caption := fieldbyname('USERName').AsString;
exit;
end
else
L_name.Caption := '未知用户';
next;
end;
end;
end;
procedure TLoginForm.E_IDKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = 27 then
begin
cancelbtn.Click;
exit;
end;
if (key = 13) or (key = 40) then { 判断是按执行键}
begin
key := 0;
perform(WM_NEXTDLGCTL, 0, 0); {移动到下一个控件}
end;
end;
procedure TLoginForm.CancelBtnClick(Sender: TObject);
begin
halt;
end;
procedure TLoginForm.FormCreate(Sender: TObject);
var
reg: TRegistry;
begin
self.Caption := application.Title + ' - ';
self.Caption := self.Caption + '用户登录';
I_logo := 0;
query_pass.DatabaseName := 'CPXSGL';
B_halt := true;
reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
with query_pass do
begin
sql.text := 'SELECT Sysuser.ID, Sysuser.NAME USERNAME, Sysuser.PASS Psd,'
+ ' SysUserRights.NAME RIGHTSNAME, SysUserRights.RIGHTS RIGHTS FROM Sysuser '
+ ' INNER JOIN SysUserRights ON (Sysuser.RIGHTS = SysUserRights.NAME)'
+ ' ORDER BY Sysuser.ID';
try
open;
except
if LogoForm.Showing then
LogoForm.Destroy;
messagedlg('数据库打开错误,可能指定的系统数据库文件不存在!' + #13 + #13
+ '系统将终止运行,请重新尝试打开本程序。'
+ #13 + #13 + '如果依然出现本信息,请与程序供应商联系。', mtError, [mbok], 0);
close;
try
reg.DeleteKey(S_RegTree);
finally
reg.CloseKey;
&