program Project1;uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}, Unit3 in 'Unit3.pas' {Form3};{$R *.res}begin Application.Initialize; Application.CreateForm(TForm1, Form1); try form2:=Tform2.Create(application); form2.ShowModal ; finally if form2.Button1.ModalResult =1 then Halt else begin Application.CreateForm(TForm3, Form3);//form3为mainchild窗体 Application.CreateForm(TForm2, Form2);//form2为非子窗体 application.Run; end; end; end.procedure TForm2.Button1Click(Sender: TObject); begin //在此之前天加数据验证 //可以设一个公用变量,比如n,使n在窗体加载时等于0,每次点击按钮如果不成功时加1, //如果n>3则应用程序退出。ok了,别忘了给分哦! self.ModalResult :=mrOk;end;procedure TForm2.Button2Click(Sender: TObject); begin self.Button1.ModalResult:=mrcancel; exit; end;end.
可以在工程文件写判断代码 首先登陆窗体置为模态Frm_login.Showmodal if Frm_login.Showmodal=1 then begin Frm_login.Free; Application.run; end else begin Application.terminate; Application.run; end; 其次登陆窗体Frm_login的进入按钮事件中判断密码是否正确,可以通过全局变量累计用户密码出错的次数,如果累计次数大于3,则Frm_login.modalresult :=mrcancel; 否则 Frm_login.modalresult :=1;
这个很简单,注意的是login用ShowModal
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
try
form2:=Tform2.Create(application);
form2.ShowModal ;
finally
if form2.Button1.ModalResult =1 then
Halt
else
begin
Application.CreateForm(TForm3, Form3);//form3为mainchild窗体
Application.CreateForm(TForm2, Form2);//form2为非子窗体
application.Run;
end;
end;
end.procedure TForm2.Button1Click(Sender: TObject);
begin
//在此之前天加数据验证
//可以设一个公用变量,比如n,使n在窗体加载时等于0,每次点击按钮如果不成功时加1,
//如果n>3则应用程序退出。ok了,别忘了给分哦!
self.ModalResult :=mrOk;end;procedure TForm2.Button2Click(Sender: TObject);
begin self.Button1.ModalResult:=mrcancel;
exit;
end;end.
首先登陆窗体置为模态Frm_login.Showmodal
if Frm_login.Showmodal=1 then
begin
Frm_login.Free;
Application.run;
end
else
begin
Application.terminate;
Application.run;
end;
其次登陆窗体Frm_login的进入按钮事件中判断密码是否正确,可以通过全局变量累计用户密码出错的次数,如果累计次数大于3,则Frm_login.modalresult :=mrcancel;
否则 Frm_login.modalresult :=1;