如何动态创建一个登录窗体(在线等)

zhans 2003-10-19 03:18:02
程序中有两个窗体,主窗体FORM1和登录窗体FORM2,怎样动态创建FORM2,登录成功时显示FORM1,失败时应用 程序退出?
在线等,急!
...全文
68 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
10water 2003-10-19
  • 打赏
  • 举报
回复
给你一段代码吧:
procedure Tfrm_load_n.SpeedButton1Click(Sender: TObject);
begin

if ( edt_uses.Text = '' ) and ( edt_pwd.Text = '' ) then
begin
Showmessage('请登陆!');
edt_uses.SetFocus;
end
else
begin
DataModule1.adoqry_load_mx.Close;
DataModule1.adoqry_load_mx.open();
DataModule1.adoqry_load_mx.First();
while not DataModule1.adoqry_load_mx.Eof do
begin
if ( DataModule1.adoqry_load_mx.FieldByName('FName').AsString = edt_uses.Text ) and ( DataModule1.adoqry_load_mx.FieldByName('pwd').AsString = edt_pwd.Text ) then
begin
Close();
exit;
end
else
begin
DataModule1.adoqry_load_mx.Next();
end;
end;
edt_uses.Text := '';
edt_pwd.Text := '';
edt_uses.SetFocus;
MessageDlg('密码错误!',mtError,[mbOK],0);
end;
end;
angle097113 2003-10-19
  • 打赏
  • 举报
回复
如果显示在任务栏的最下方的话
那么你在form1的onclose事件里
action:=cafree;
jpyc 2003-10-19
  • 打赏
  • 举报
回复
http://218.56.11.178:8020/web/index.aspx

->下载基地->例程-经典应用->启动窗体的制作
pwzhu666 2003-10-19
  • 打赏
  • 举报
回复
再project 单元里面写啊
loginform.showmodal
或者动态的
try
loginform:=tloginform.create(application);
loginforn.showmodal;
except
loginform.free;
zhans 2003-10-19
  • 打赏
  • 举报
回复
谢谢楼上的,我再试试吧。
gutensu 2003-10-19
  • 打赏
  • 举报
回复
学!~~~~
ysycrazy 2003-10-19
  • 打赏
  • 举报
回复
constructor Create(AOwner: TComponent)是一个构造方法,参数就是拥有者的意思,看所产生的对象属于谁?
zhans 2003-10-19
  • 打赏
  • 举报
回复
Form2:=TForm2.create(Application);
Form2:=TForm2.create(self);
Form2:=TForm2.create(nil);
三者有什么区别,各用在什么情况下?
ysycrazy 2003-10-19
  • 打赏
  • 举报
回复
还有什么地方不明白?
zhans 2003-10-19
  • 打赏
  • 举报
回复
to angle097113(深思不解)
那样的话FORM1最小化时就显示在任务栏的左下方了,而不是显示在任务栏上,我第一次就是这么做的。
zhans 2003-10-19
  • 打赏
  • 举报
回复
感谢您及时回复,在FORM2中的BUTTONCLICK是否应该这样创建啊?
if 成功 then
ModalResult:=mrok
else
ModalResult:=mrno;
可是我创建的FORM2不管成功失败都显示FORM1了啊?
angle097113 2003-10-19
  • 打赏
  • 举报
回复
我看还是自动创建登陆窗体吧 如果成功的话则则是主窗体显示
否则是退出
ysycrazy 2003-10-19
  • 打赏
  • 举报
回复
program Project1;

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

{$R *.RES}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Form2:=TForm2.create(Application);
if Form2.ShowModal=1 then //当form2返回值为mrok时,应用程序运行
begin
Application.Run;
end
else
exit;


end.

5,386

社区成员

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

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