delphi密码的设置问题(200分)

  • 主题发起人 主题发起人 张长弓
  • 开始时间 开始时间

张长弓

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi编程时,为了保护自已的程序不被别人看见,
常常需要在主程序前加一个密码窗体:
问题:
如何才能设计一个动态的密码窗体?(既密码可以更换。)
(请高手能给一个源程序,谢谢)
 
可以在PROJECT。EXE主程序中做手脚。在MAINFORM创建前。先创建一个窗体。
用ctrl+shift+F11就可以选择做的窗体的创建顺序。
上面放两EDIT框和两个按钮。在这个密码窗体SHOW的时候。创建MAINFORM但不显示
它。只有当确认的那个按钮按下后,把EDIT中的文本和程序中的文本进行比较正确后
显示MAINFORM否则就结束程序。
至于要更改密码,实际上只需再加上一个修改密码的按钮。这种窗体你应该知道怎么做吧。然后从EDIT中读新密码并传递给MAINFORM,以替换原来在MAINFORM中的那个
字符串。
 
project/view source ,

然后在所有的 create form 之前创建你的登陆窗口,
然后根据返回值判断下面 是否执行。

已经讨论过了, 可以查一查。
 
email,发一个给你?
 
在项目文件中,创建主窗体的代码前面创建并显示密码输入窗口,或在主窗体的
OnCreate事件过程中创建并显示密码输入窗口都行,为了调用密码库里的密码,
创建密码输入窗口应在创建TTable或TQuery控件之后——TTable或TQuery是在
承载它们的窗体或DataModule创建之后创建的。
 
在Application.CreateForm(TForm1, Form1); 前加入如下语句:
form2:=tform2.create(application);
form2.Show;
form2.Update;
if form2.PassWord_OK then //Password_OK 为form2的一个函数,Boolean型
begin
form2.hide;
form2.free;
end
else
begin
form2.hide;
form2.free;
Application.Terminate;
end;

 
使用数据库吧.
在主程序执行前先动态的创建一个密码验证窗体.当edit中.的数据经过类型转换后和数据库里的数据相匹配时,主窗体出现否则就退出,我正好开发过这类程序,需要源程序
可给我来信,我发给,好吗
 
请再解释一下什么叫:“动态的密码窗体”?
 
你现在做的是这样吧:
if pass='12345' then
pass
else
error;
把这个固定的密码跟数据库或者注册表或者你自己的什么文件联系起来,就可以形成“动态的密码“了。
 
关注"动态的密码"
 
好办,比如密码是根据当前时间的前两位与最后两位产生的。
由此可以更加复杂化,比如是一道算术题,但密码其实是答案的反序。 如:
12+3=? 密码是51。
EXE加密要尽可能严格。可以使用商用的加密软件。或者狗。
 
在Project文件里加入
if InputBox('提示框的标题','提示信息','密码')='BCD' then
Application.CreateForm(TForm1, Form1);
呵呵,这样一般简单的都可以,就是不保密:=)
如果想保密要自己作了(嘿嘿,我是菜鸟,西红柿不要扔我)

用别的程序窗口替代,或者写个非常复杂的API创建窗体:)一定要加密的edit哦
 
提问者的意思是怎样不让别人打开自己的源程序,保护自己的"产权",还是在运行时保护用户权限?
 
提问者怎么不来看一下呢?
我想问题不在于动态创建窗体,而是在显示程序主窗之前显示密码输入窗就可以了,
密码输入窗同样按常规方法制作,而调用时机与常规窗体不同,实际上就是和创建
Splash窗体基本一样了,不同的是要加入判断密码是否正确的代码。
 
作者的原意是在一台与别人共用的机器上,保护自己的源程序不被人看见。
对于windows,我认为这点做不到。你可以装NT试试,要不就用 Delphi for Linux
(不是要出了吗?呵呵)
 
后退
顶部