首先的建一个数据表:这是我作的一个程序的登录代码: procedure TForm1.BitBtn1Click(Sender: TObject); begin with saledatemod.user do //调用装有用户名和密码的数据表 begin close; sql.Clear; sql.Add('select * from tuser where login='+quotedstr(edit1.Text));//判断用户名 open; first; if edit2.Text=trim(fieldbyname('psw').asstring) then //判断密码 begin mainfrm.ShowModal; //显示主窗体 form1.Hide; //隐藏登录窗体 end else begin showmessage('你输入的用户名和密码有误,请重新输入'); edit2.Text:=''; edit1.SetFocus; end; end; end;
然来的内容是
begin
Application.Initialize;
Application.Title := 'Your Application Title';
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.更改为
var
frmPassword: TPasswordDialog;
begin
Application.Initialize;
frmPassword := TPasswordDialog.Create(Nil);
try
if frmPassword.ShowModal <> mrOK then
Exit;
finally
frmPassword.Free;
end;
Application.Title := 'Your Application Title';
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
frm_Login:=Tfrm_Login.Create(self);
frm_Login.ShowModal;把登陆框show出来,然后用户输入
正确后把MainForm show出来,并且一定要把登陆框关闭
MainForm.Show;
Close;//登陆框的关闭
菜单project>options>forms里面。
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with saledatemod.user do //调用装有用户名和密码的数据表
begin
close;
sql.Clear;
sql.Add('select * from tuser where login='+quotedstr(edit1.Text));//判断用户名
open;
first;
if edit2.Text=trim(fieldbyname('psw').asstring) then //判断密码
begin
mainfrm.ShowModal; //显示主窗体
form1.Hide; //隐藏登录窗体
end
else
begin
showmessage('你输入的用户名和密码有误,请重新输入');
edit2.Text:='';
edit1.SetFocus;
end;
end;
end;
FMLogin:=TFmLogin.create(nil)
FMLogin.ShowModal
FmLogin.Free
当然用其他方法也可以实现,但是为了养成良好的程序设计习惯,合理的创建程序结构,建议使用spirit_sheng的方法