急! 关于窗体???

Qcj 2000-04-22 06:10:00
要求程序启动时输入密码,输入正确才可进入主界面,主界面结束则程序结束。应该如何设置?
我把密码窗体设为主窗体,可真正进入主界面后退出时却无法结束应用程序。
把主界面设为主窗体可密码窗体又无法显示。求助!!!

...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
RIAEasy 2000-04-22
  • 打赏
  • 举报
回复
不要用Application.CreateForm方法,这样不好.
应为:
设置一个全局Boolean (PassOK)量,
FormPassword:=TForm2.Create(Application);
try
PassOK:=....;
finally
FormPassWord.Free;
end;
if PassOK then Application.CreateForm......
else Exit;
Application.Run;
mytree 2000-04-22
  • 打赏
  • 举报
回复
好象不行吧!
试试这样。
password为主窗体。
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

在password窗体form2里加一个edit1,一个Button1,下面是Button1的onclick事件。

procedure TForm2.Button1Click(Sender: TObject);
begin
if edit1.Text = '1' then
begin
form1.show ;
hide ;
end
else
close ;
end;

在form1的onclose事件里关闭form2:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form2.close ;
end;
eaglet 2000-04-22
  • 打赏
  • 举报
回复
很简单.主界面还是主窗体.
在工程文件中加入
Application.ShowMainForm := FALSE ;
这样主窗体在一开始就不会显示
然后你把 密码输入窗体的 Visible 设为 TRUE
就可以实现了.
以下是工程文件的例子.
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
Application.Initialize;
Application.ShowMainForm := FALSE ;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, FormPassword);
Application.Run;
end.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧