关于简单的密码登陆界面!!救急呀!!(100分)

  • 主题发起人 主题发起人 yahoo
  • 开始时间 开始时间
Y

yahoo

Unregistered / Unconfirmed
GUEST, unregistred user!
东西明天要交了,才发现少了一个简单密码的密码登陆界面
请哪位大侠帮帮忙 
给给代码好吗??????
万分感谢了
(还要把它在主界面运行前显示!!!!!!!)
 
自己做吧,半个小时。
在mainform的show时,用showmodal显示密码登陆界面,
若输错三次,则退出。
 
very very easy
 
在PROJECT的DPR文件里的
Application.Initialize;
后添加代码
EG:
if inputquery('请输入管理员密码','密码:',password) then
if password='abc' then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
application.terminate;
当然还要定义一下PASSWORD为STRING型。
 
代码:
procedure TformMain.FormCreate(Sender: TObject);
var
   formLogon : TFormLogon; //登录窗口
begin   
   formLogon := TFormLogin.Create(Application);
   if formLogon.ShowModal = mrCancel then
   begin
      formLogon.Free;
      PostMessage(Handle,WM_CLOSE,0,0); //关闭主窗口
      exit;
   end; 
   //其他处理代码
   formLogon.Free;
end;
 

var
passForm : TPassForm;
begin
Application.Initialize;
passForm := TPassForm.Create(nil);
if passForm.ShowModal = mrok then
begin
passForm.free;
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
begin
passForm.free;
end;
end.
 
如果是要连接到数据库中的那么就比较麻烦了
要设一个摸态窗口。
program dbms;

uses
Forms,
main in 'main.pas' {mainform},
Unit1 in 'Unit1.pas' {loginform},
email in 'email.pas' {mailform},
about in 'about.pas' {AboutBox},
password in 'password.pas' {passwordform},
msg in 'msg.pas' {msgform},
pubsearch in 'pubsearch.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};

{$R *.RES}
begin
Application.Initialize;
loginform:=tloginform.create(application);
loginform.showmodal;
if loginform.modalresult=1 then
begin
Application.CreateForm(Tmainform, mainform);
Application.CreateForm(Tmailform, mailform);
Application.CreateForm(TAboutBox, AboutBox);
Application.CreateForm(Tpasswordform, passwordform);
Application.CreateForm(Tmsgform, msgform);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
end
else
application.terminate;
loginform.hide;
loginform.free;
end.
 
你可以新建一个窗体,设计好界面后,放上进入按钮,再在按钮的事件里加入码就行了
如里代码对的,显示另一个窗体,也就是进入。
 
自己弄吧,一会儿就好了!
要连数据库也简单;
application.showmainform:=false;
..........//建主窗口,数据窗口之类。好了后
flogin:=Tflogin.create(self);//显示登陆窗口,设置以全局变量ms,如成功置为1
//再判断,当然要为模式窗口
if ms='1' then
begin
application.showmainform:=true;
application.run;
end;


 
//如果是要连接到数据库中的那么就比较麻烦了
在我的例子中,只要在TformLogon中uses数据模块即可。
 
在主窗口的formshow里面调用就好登录界面就好了,如下:
procedure TFrm_Main.FormShow(Sender: TObject);
begin
Frm_Login:=TFrm_Login.Create(Self);
Frm_Login.ShowModal;
Frm_Login.Free;
if G_Dl=2 then close;
end;
其中G_Dl是公共变量,表示在登录界面中选择了取消。
各个登录用户的用户名与密码应保存在一个表中,但可以另设一到两个超级用户,可直接
在登录界面的代码中判断,其余的用户应到表中查看其用户名与密码是否相符。用户名与
密码的设置应在系统中另设一个界面进行增删改操作。
登录界面中只需简单的几个提示文本,两个用户名和密码的edit框,两个确定与取消按钮
就可以了。判断用户与密码正确与否及是否输错三次均在确定按钮中判断,如输错三次,
直接执行取消按钮即可,如输入正确,将G_Dl置为1,进行相应权限设置,并关闭登录界面。

 
对了,如果直接用inputquery()的话还要在
PROJECT的DPR文件里的USE后加上dialogs就可以了。
这样最简单,不用再添加窗体了。
 
Application.Initialize;
frmSplash := TfrmSplash.Create(Application);
frmSplash.Show;
frmSplash.Repaint;
SetGlobalVar;
Inis := TIniFile.Create(CurDir + 'Sale.ini');
with CommParam do
begin
LocalName := Inis.ReadString('系统参数', '单位名称', '');
end;
Sleep(5000);
try
Application.CreateForm(TDMMain, DMMain);
DMMain.ADOConn.GetTableNames(FTablesST);
if Show_FormLogin then
begin
frmSplash.Update;
Application.CreateForm(TfrmMain, frmMain);
end;
finally
frmSplash.Close;
frmSplash.Free;
end;
Application.Run;
Inis.Free;
 
多人接受答案了。
 
后退
顶部