type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses pubdataUnit, loginUnit;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
if TPubDataFrm <> Nil then
TPubDataFrm.Free();
TPubDataFrm := TTPubDataFrm.Create(Self); //creat PubDataFrm
with Query do
begin
Close;
Sql.Clear;
Sql.Add('SELECT CODE ');
Sql.Add('FROM USER U');
Sql.Add('WHERE U.CODE = :pCODE ');
ParamByName('pCODE').AsString := edName.Text;
Open;
if RecordCount <= 0 then
begin
ShowMessage('人员'+edName.Text+'没有权限,请重新登录!');
TPubDataFrm.DB.Connected := False;
edName.Clear;
edPsw.Clear;
edName.SetFocus;
exit;
end
else begin
Close;
Sql.Clear;
Sql.Add('SELECT U.CODE, U.PASS ');
Sql.Add('FROM USER U');
Sql.Add('WHERE U.CODE = :pCODE AND U.PASS = :pPASS');
ParamByName('pCODE').AsString := edName.Text;
ParamByName('pPASS').AsString := edPsw.Text;
open;
if RecordCount <= 0 then
begin
ShowMessage('口令错误,请重新登录!');
TPubDataFrm.DB.Connected := False;
edName.Clear;
edPsw.Clear;
edName.SetFocus;
exit;
end
else
ModalResult := mrOK;
Close;
end;
end;
end;
procedure TLoginDlgFrm.edPswKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key =VK_RETURN then
begin
btnSure.SetFocus;
btnSureClick(Self);
end;
end;
procedure TLoginDlgFrm.edNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key =VK_RETURN then edPsw.SetFocus;
end;
procedure TLoginDlgFrm.FormCreate(Sender: TObject);
begin
TPubDataFrm.DB.Connected := False;
end;
procedure TLoginDlgFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if TPubDataFrm.DB.Connected = False then
Application.Terminate;
end;
procedure TLoginDlgFrm.FormDestroy(Sender: TObject);
begin
LoginDlgFrm:=nil;
end;
uses
Forms,Windows,
Main in 'Main.pas' {FrmMain},
Password in 'Password.pas' {FrmPassword};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TFrmMain, FrmMain);
FrmPassword:=TFrmPassword.Create(Application);
if FrmPassword.ShowModal=idOk then
Application.Run;
end.
在Application模块中将Password的窗口调用,然后判断即可.