Array
(
)

Permanecer o Form aberto

Rogerio Santos
|
MVP
    09 nov 2009

Pessoal   Estou fazendo uma rotina aqui para logar no sistema informando login e senha.. Porém quando é informado o LOGIN errado ou senha está fechando o form mas quero que ele permaneça aberto. Segue abaixo o código:   if (trim(edUsuario.text) <> '') and
      (trim(edSenha.Text) <> '') then
   begin
     SqlBusca := TSqlDataset.Create(Nil);
     with SqlBusca do
     begin        SQLConnection := DmConexao.SqlConexao;        s := ' Select * from CADUSU U WHERE U.dslog_usu = ' +
             QuotedStr(edUsuario.Text);         Close;
        CommandText := '';
        CommandText := s;
        Open;
        if not Eof then
        begin
           sSenha := unFuncao.Cripto(trim(edSenha.Text));
           s := ' Select * from CADUSU U WHERE U.dslog_usu = ' +
                QuotedStr(edUsuario.Text) +
                ' and u.DSSEN_USU = ' + QuotedStr(sSenha);           Close;
          CommandText := '';
          CommandText := s;
          Open;
          if Eof then
          begin
            Application.MessageBox('Senha não confere','Alerta',
            mb_iconwarning);
           // abort;
          end
          else
          begin
             if Application.findcomponent('TfrmPrincipal') = nil then
             begin
               Screen.Cursor := crHourglass;
               Application.Createform(TfrmPrincipal, frmPrincipal);
               frmPrincipal.Name := 'TfrmPrincipal';
               Screen.Cursor := crDefault;
               cascade;
             end
             else
             begin
              TForm( Application.findcomponent('TfrmPrincipal')).BringToFront;
              Ativo := FrmAcesso.ActiveMDIChild;
              Ativo.WindowState := wsNormal;
             end;
          end;
        end
        else
        begin
         Application.MessageBox('Usuário  não confere','Alerta',
            mb_iconwarning);         end;
     end;
   end;
   FreeAndNilObj([SqlBusca]);
 end;   Estou usando Delphi 7 + Firebird + dbx   Fico no aguardo          

Socram
|
MVP
    10 nov 2009

Amigo...
Pelo jeito o seu sistema esta no começo. Ja que esta fazendo o login.

Aconselho a estudar um pouco mais algumas coisas

    Pelo que entendi no seu codigo essa tela de Login é a tela principal? Se for esta errado.. a tela principal como o proprio nome diz é o 'TfrmPrincipal'. Vc poderia fazer a tela de login abrir apos dar um create no principal ou no Show dele.
    Evitar de usar o "with xxxx do" principalmente para codigos extensos. Para dar manutenção ou para postar nos foruns e pedir ajuda, isso complica bastante.Vc poderia criar um metodo para validar o login e senha, Por exempo Function ValidarLogin(aLogin,aSenha:string) :boolean. Dae para vc usar fica mais simples.No lugar de "if Eof then" o melhor seria usar o IsEmpty

0
|
0