我的密码验证窗体---一旦密码输入错误,就关闭了;
                我不想让它关闭,让用户重新输入密码,直到正确为止!!
如何实现呢?
我的密码验证窗体是这样打开的:
if f_login.ShowModal = MROK then
  Begin
  Application.CreateForm(TF_main, F_main);
  End  ;
密码确定:
    if Edit1.Text=password then
         begin
          Application.Run ;
         end
    else
      begin
        ShowMessage('你输入密码错误');
        Edit1.SetFocus;
        Edit1.Text:='';
      end;
这样一旦密码输入错误,就关闭了???????????

解决方案 »

  1.   

    朋友,输入密码的界面非用这个吗?用个Panel都行啊,也会比这个漂亮。
      

  2.   

    var
      i : integer;
      i := 0;
    while i<3 do
    begin
      if f_login.showmodal = mrOK then
      begin
        if f_login.edit1.text = password then
        begin
          Application.CreateForm();
          Application.Run;
        end;
      end;
    end;
      

  3.   

    to: sxy_9761() :输错密码后如何进行消息循环??
    请详细点,谢谢!!!
      

  4.   

    做一个循环次数限定,
      Application.Initialize;
      try
        Application.CreateForm(Tf_login, f_login);
        for i:=0 to 2 do
        begin
          if f_login.ShowModal  =mrOK then
          Begin
            if f_login.Edit1.Text='a' then
            begin
              Application.CreateForm(Tf_main, f_main);
              f_main.ShowModal;
             break;
            end
        else
          begin
           ShowMessage('你输入密码错误');
            f_login.Edit1.SetFocus;
            f_login.Edit1.Text:='';
          end; 
        end
        end
     finally
      f_login.free;
      f_login:=nil;
    end;
    application.Run ;
      

  5.   

    if f_login.ShowModal = MROK then........只要 按下 确定 按牛 ,不关 结果任何(密码对和错),窗口都要关闭。不要把这个按牛 的 ModalResult:=mrOK.就用一个普通 按牛,在这个按牛的事件里判断密码。
    然后根据密码的结果做动作,包括加代码决定什么时候关闭这个窗体。
    不要出现 诸如 if f_login.ShowModal = MROK then 这个样子的句子。否则都会关闭的。因为在按牛的 ModalResult=mrOK.导致窗体关闭。
      

  6.   

    问题是:我的代码是在工程文件中写的:
    if f_login.ShowModal = MROK then
      Begin
      Application.CreateForm(TF_main, F_main);
      End  ;
      

  7.   

    设一个Boolean型的变量好了
    密码正确就为TRUE;错误就为FALSE;
    var
      tt: boolean;
    begin
      While tt<>true do
      begin
       //验证密码
      end; 
    end;
      

  8.   

    Application.Run; //消息循环
    SydPink(希望不再敲键盘!) 说得对