DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: pesamo
今日帖子: 10
在线用户: 7
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 thinkover (三思) ★☆☆☆☆ -
普通会员
2004/5/14 14:19:00
标题:
有关登陆窗体的制作的问题 浏览:1269
加入我的收藏
楼主: 各位仁兄,我做了一个登陆窗体。代码如下:

var
  username,password,sqlstr:string ;
begin
  username:=trim(Eusername.Text);//Eusername是用户名输入
  password:=trim(Epassword.Text);//Epassword是密码输入
  if username='' then
  begin
    showmessage('用户名不能为空!');
    Eusername.SetFocus;
    exit;
  end;
  if password='' then
  begin
    showmessage('密码不能为空!');
    Epassword.SetFocus;
   exit;
  end;
   with DataModule1.ADOQUERY1 do  //DataModule1.ADOQUERY1是我的一个数据模块中的adoquery
   begin
     close;
     sql.clear;
     sqlstr:='select * from yhxx where user=:V1 ';
     sql.Add(sqlstr);
     Parameters.ParamByName('V1').value:=username;
     try
       OPEN;
     except
       on EDatabaseError do
       messagedlg('数据库操作错误!',mtError,[mbok],0);
     end;
     if isempty then
     begin
       showmessage('无此用户名,请重新录入!');
       Eusername.SetFocus;
       exit;
     end
     else
     begin
       close;
       sql.Clear;
       sqlstr:='select * from yhxx where user=:V1 and pass=:V2';
       sql.Add(sqlstr);
       Parameters.ParamByName('V1').value:=username;
       Parameters.ParamByName('V2').value:=password;
       try
         OPEN;
       except
         on EDatabaseError do
           messagedlg('数据库操作错误!',mtError,[mbok],0);
       end;
       if isempty then
       begin
         showmessage('密码输入有误,请重新输入密码!');
         Epassword.SetFocus;
         exit;
       end
       else
       begin
         Flogin.Hide;
         if DataModule1.ADOQUERY1.FieldByName('super').AsString='否' then
         begin
           Fmain.TBuserman.Enabled:=false;
           Fmain.TBsetting.Enabled:=false;
           Fmain.N3.Enabled:=false;
         end;
         fmain.Logined:=true;
         Fmain.ShowModal;
       end;
     end;
   end;  
end;

工程文件代码是:
program Ptag;

uses
  Forms,
  Umain in 'Umain.pas' {Fmain},
  DataMudule in 'DataMudule.pas' {DataModule1: TDataModule},
  Ulogin in 'Ulogin.pas' {Flogin};


{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TFmain, Fmain);
  Application.CreateForm(TDataModule1, DataModule1);
  Application.CreateForm(TFlogin, Flogin);
  Flogin.ShowModal;
  Application.Run;
end.


在我运行登陆窗体时,不论我输入密码是否正确,系统都将登陆主窗体Fmain.请问是怎么回事??急
----------------------------------------------
-
作者:
男 li58 (CaiBest) ★☆☆☆☆ -
盒子活跃会员
2004/5/14 17:25:20
1楼: Ctrl+Shift+F11
将主窗口设置为Flogin
在pdr文件中的Application.Run;前面加上一句Fmain.hide;
试试看吧。

----------------------------------------------
a fan of delphi!
studing now....
作者:
男 cjjll (潇潇) ★☆☆☆☆ -
盒子活跃会员
2004/5/14 17:58:40
2楼: ok:


begin
  Application.Initialize;
  Application.CreateForm(TFlogin, Flogin);
  Application.Run;
end.

----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行121.0938毫秒 RSS