如何在已经设计好的系统中再增加应用前的密码登陆对话框?(10分)

  • 主题发起人 主题发起人 libaoliang
  • 开始时间 开始时间
L

libaoliang

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在已经设计好的系统中再增加应用前的密码登陆对话框?
系统在开发前并未要求密码问题,现在系统已经设计完毕并投入试运行,
但客户又要求增加密码登陆对话功能,以防止无关人员使用,
我用的是delphi5.0+paradox开发的。
我想用passwordform来实现密码的输入和判别,并根据密码的对错
来分别执行passwordform.free;
form1.show和
passwordform.free;application.terminate;
其中form1是主文件窗口。
但实际上这样不行,请问应如何进行设计,
form1.show 和 application.run是什么关系?


 
把你的可执行文件隐藏到一个别人找不到的地方,在密码对的情况下调用它不就完了,
可以用WINEXEC('可执行程序',0);
 
你完全可以在 MainForm.OnCreate 过程中进行密码的检测,
if 密码 通过 then
执行后续程序,
否则就 Application.Halt;
//==================================================
还有一个就是密码的存放点和密码加密问题你要意思一下。
 
你的意思是在mainform的create事件中再设计一个判断框,
我觉得这样不如直接另外增加一个密码对话窗口方便。
如果密码对,就继续,否则结束,
但系统不好处理,
 
可参照闪屏的做法:
program MainProject;
uses
Forms,
MainUnit in 'MainUnit.pas' {MainForm},
FlashUnit in 'FlashUnit.pas' {FlashForm},
EnterDoor in 'EnterDoor.pas' {PasswordDlg},

{$R *.res}
begin
Application.Initialize;
FlashForm:=TFlashForm.Create(Application);//封面
FlashForm.Show;
FlashForm.Update;
while FlashForm.tmMainTimer.Enabled do
Application.ProcessMessages;
FlashForm.Hide;
FlashForm.Free;
PasswordDlg:=TPasswordDlg.Create(Application);//登录对话框
PasswordDlg.Show;
PasswordDlg.Update;
while PasswordDlg.Active do
Application.ProcessMessages;
PasswordDlg.Close;
PasswordDlg.Free;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
 
我就是采用
micro73 的做法
 
micro73的办法很对
提醒一句,注意哪些窗体是动态生成的,哪些不是,不然容易出错
 
我也同意用micro73的办法
 
接受答案了.
 
后退
顶部