我现在做了个系统,其中包括了用户登陆窗体login,还有一个主窗体main,以及其它的窗体,请问,我想在一个系统运行后,首先运行用户登陆窗体login来进行用户帐号,密码和权限的验证,然后当都正确时,再显示主窗体,进行其它的功能操作,
请问下代码应该如何写谢谢了。。在线等的说

解决方案 »

  1.   

    Project->View Source
    然来的内容是
    begin
      Application.Initialize;
      Application.Title := 'Your Application Title';
      Application.CreateForm(TMainForm, MainForm);
      Application.Run;
    end.更改为
    var
      frmPassword: TPasswordDialog;
    begin
      Application.Initialize;
      frmPassword := TPasswordDialog.Create(Nil);
      try
        if frmPassword.ShowModal <> mrOK then
          Exit;
      finally
        frmPassword.Free;
      end;
      Application.Title := 'Your Application Title';
      Application.CreateForm(TMainForm, MainForm);
      Application.Run;
    end.
      

  2.   

    MainForm的OnCreate事件里面写
    frm_Login:=Tfrm_Login.Create(self);
    frm_Login.ShowModal;把登陆框show出来,然后用户输入
    正确后把MainForm show出来,并且一定要把登陆框关闭
    MainForm.Show;
    Close;//登陆框的关闭
      

  3.   

    设置你的login窗口为auto-create forms就行了
    菜单project>options>forms里面。
      

  4.   

    首先的建一个数据表:这是我作的一个程序的登录代码:
    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
    with saledatemod.user do  //调用装有用户名和密码的数据表
    begin
    close;
    sql.Clear;
    sql.Add('select * from tuser where login='+quotedstr(edit1.Text));//判断用户名
    open;
    first;
    if edit2.Text=trim(fieldbyname('psw').asstring) then  //判断密码
      begin
        mainfrm.ShowModal;  //显示主窗体
       form1.Hide;  //隐藏登录窗体
        end
        else
        begin
    showmessage('你输入的用户名和密码有误,请重新输入');
    edit2.Text:='';
    edit1.SetFocus;
    end;
    end;
    end;
      

  5.   

    在主窗体的OnCreate事件里加入下列代码:
     FMLogin:=TFmLogin.create(nil)
     FMLogin.ShowModal
     FmLogin.Free
      

  6.   

    推荐spirit_sheng的方法
    当然用其他方法也可以实现,但是为了养成良好的程序设计习惯,合理的创建程序结构,建议使用spirit_sheng的方法