Delphi7窗体间互相调用
请问,我做了两个窗体,一个为验证密码,另一个为主软件界面。我想在第一个窗体结束弹出第二个窗体如何实现?第一个窗体代码为:这个是form1的代码:procedureTFor...
请问,我做了两个窗体,一个为验证密码,另一个为主软件界面。我想在第一个窗体结束弹出第二个窗体如何实现?
第一个窗体代码为:
这个是form1的代码:
procedure TForm1.checkEdtInput(sender: TObject);
var
ID:String;
pasWord:String;
begin
ID:='administrator';
pasWord:='111111';
if edtID.Text<>ID then begin
showMessage('您输入的信息不正确');
edtID.Tag:=edtId.Tag-1;
if edtID.Tag=0 then begin
showMessage('连续五次失败,退出');
bbclose.Click;
end
end
else if edtPasWord.Text<>pasWord then begin
showMessage('您输入的信息不正确');
edtID.Tag:=edtId.Tag-1;
if edtID.Tag=0 then begin
showMessage('连续五次失败,退出');
bbclose.Click;
end
end
else
showMessage('hello');
end;
这里倒数第二行showMessage要改成调用第二个窗体UnitChild,我不知道怎么改,请提供详细的函数或者代码,谢谢。或者有什么方法可以调用第二个窗体,在线等。 展开
第一个窗体代码为:
这个是form1的代码:
procedure TForm1.checkEdtInput(sender: TObject);
var
ID:String;
pasWord:String;
begin
ID:='administrator';
pasWord:='111111';
if edtID.Text<>ID then begin
showMessage('您输入的信息不正确');
edtID.Tag:=edtId.Tag-1;
if edtID.Tag=0 then begin
showMessage('连续五次失败,退出');
bbclose.Click;
end
end
else if edtPasWord.Text<>pasWord then begin
showMessage('您输入的信息不正确');
edtID.Tag:=edtId.Tag-1;
if edtID.Tag=0 then begin
showMessage('连续五次失败,退出');
bbclose.Click;
end
end
else
showMessage('hello');
end;
这里倒数第二行showMessage要改成调用第二个窗体UnitChild,我不知道怎么改,请提供详细的函数或者代码,谢谢。或者有什么方法可以调用第二个窗体,在线等。 展开
1个回答
展开全部
form1
uses添加UnitChild
form2.show
不过你的设计有点问题。主窗体应该是程序的mainfrm,loginfrm在程序启动的时候由一个全局变量来判断是否登陆。以下是我找的代码,你可以参考以下
delphi登陆窗体的制作,可以有两种方法,一种是在工程文件中实现登陆窗体的动态调用,另一种就是在主窗体的OnCreate事件中动态创建登陆窗体,两种方法都需要将主窗体设置为Auto-create form,将登陆窗体设置为 Availabel form.
登陆窗体: Form2; 主窗体: Form1;
一、Form2
在Form中Public部分添加一个变量,可以是integer类型,或者boolean型,用来判断是什么时候可以让主窗体显示,比如:
public
frm_show : integer;
单击登录按钮(Button1)
procedure TForm2.Button1Click(Sender: TObject);
begin
if Edit1.Text='aa' then
begin
Frm_show:=1;
Label2.Caption:='用户正确!!'+inttostr(Frm_show);
close;
end
else
begin
Frm_show:=0;
Label2.Caption:='用户不正确!!'+inttostr(Frm_show);
end
end;
二、
Application.Initialize;
Form2:=TForm2.Create(nil);
Form2.ShowModal;
Form2.Free;
if Frm_show=1 then
Application.CreateForm(TForm1, Form1);
Application.Run;
uses添加UnitChild
form2.show
不过你的设计有点问题。主窗体应该是程序的mainfrm,loginfrm在程序启动的时候由一个全局变量来判断是否登陆。以下是我找的代码,你可以参考以下
delphi登陆窗体的制作,可以有两种方法,一种是在工程文件中实现登陆窗体的动态调用,另一种就是在主窗体的OnCreate事件中动态创建登陆窗体,两种方法都需要将主窗体设置为Auto-create form,将登陆窗体设置为 Availabel form.
登陆窗体: Form2; 主窗体: Form1;
一、Form2
在Form中Public部分添加一个变量,可以是integer类型,或者boolean型,用来判断是什么时候可以让主窗体显示,比如:
public
frm_show : integer;
单击登录按钮(Button1)
procedure TForm2.Button1Click(Sender: TObject);
begin
if Edit1.Text='aa' then
begin
Frm_show:=1;
Label2.Caption:='用户正确!!'+inttostr(Frm_show);
close;
end
else
begin
Frm_show:=0;
Label2.Caption:='用户不正确!!'+inttostr(Frm_show);
end
end;
二、
Application.Initialize;
Form2:=TForm2.Create(nil);
Form2.ShowModal;
Form2.Free;
if Frm_show=1 then
Application.CreateForm(TForm1, Form1);
Application.Run;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询