Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-07-2010
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Login Form

Estimados foristas.

Tengo el siguiente codigo para validar la entrada al sistema.
No encuentro como hacer para que me pida la password 3 veces ( x ej ) , y luego si aborte.

Código Delphi [-]
procedure TLoginForm.LogInButtonClick(Sender: TObject);

begin
   If edUsuario.Text = '' then
        begin
            edUsuario.SetFocus;
            Exit;
        end;

        repeat
            Qry_Usuarios.Sql.Clear;
            Qry_Usuarios.SQL.Add('Select * from Usuarios Where Nombre = ' +       QuotedStr( edUsuario.Text ) ) ;
       Qry_Usuarios.Open;
       if not Qry_Usuarios.Eof then
       begin
           if Trim(Qry_Usuarios['CLAVE']) = Trim(passwordEdit.Text) then
           begin
               cUsuario     := edUsuario.Text;
               mNivel        := Qry_Usuarios['NIVEL'];
            modalresult := mrOK;
               Exit;
           end
           else
           begin
               MessageDlg('Contraseña inválida', mtWarning, [mbOk], 0);
               Inc( nCantidad );
               passWordEdit.SetFocus;
         modalresult := mrRetry;
               Exit;
           end;
       end
       else
       begin
           Application.MessageBox('Usted no está autorizado a utilizar este    sistema.', 'Sistema Protegido.');
           ModalResult := mrAbort;
           Exit;
       end;

    until nCantidad > 3;
    DM.Conn_Usuarios.IsConnected := False;
end;

donde me estoy equivocando??


pd : no entiendo porque no queda bien formateado.
Responder Con Cita
  #2  
Antiguo 30-07-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
A mi parecer, el ciclo repeat...until esta de mas. Tienes que tener en cuenta que este código se esta ejecutando todo dentro del evento OnClick del botón, y tu lo que necesitas es que el usuario escriba sus credenciales hasta tres veces, no que se valide tres veces la misma entrada.
Por otro lado, no estoy muy de acuerdo con poner las contraseñas en tablas de la base de datos, no es menor utilizar la propia seguridad de la base de datos para acreditarnos?

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 30-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
procedure TLoginForm.LogInButtonClick(Sender: TObject);
var cuenta: Integer;
begin

     Qry_Usuarios.Sql.Clear;
     Qry_Usuarios.SQL.Text:= 'Select Nombre, Clave from Usuarios Where Nombre = :Cod';
     Qry_Usuarios.Params[0].Value:= edUsuario.Text;
     Qry_Usuarios.Active:= True;
   
   If Qry_Usuarios.RecordCount < 1 then
    Begin
       Cuenta := Cuenta + 1;
       MessageDlg('Usuario no encontrado',mtError, [mbOK], 0);
       Edit1.Text := '';
       Edit2.Text := '';
       Qry_Usuarios.Active := False;
       If Cuenta = 3 then Close;
    end
    else
       If Qry_UsuariosClave.AsString = edClave.Text then
        Begin
           LoginOk := True;
           Clave := Qry_UsuariosClave.AsString;
           Nombre := Qry_Usuarios1Nombre.AsString;
           Qry_Usuarios.Active := False;
           Close;
           Cerrar := True;
        end
        else
         Begin
           Cuenta := Cuenta + 1;
           MessageDlg('Clave Inválida',mtError, [mbOK], 0);
           edUsuario.Text := '';
           Qry_Usuarios.Active := False;
           If Cuenta = 3 then Close;
         end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 09-08-2010
Avatar de lbidi
lbidi lbidi is offline
Miembro
 
Registrado: oct 2003
Ubicación: Montevideo- URUGUAY
Posts: 417
Poder: 21
lbidi Va por buen camino
Gracias.. probare.. y perdon por la demorada respuesta.

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
form de login yossi Varios 14 22-06-2010 12:45:08
llamar al evento click de un boton q se encuentra en un form desde otro form TURBOIGOR OOP 6 02-12-2008 14:50:16
Login Form look OOP 1 28-03-2008 16:01:04
Como llamar form desde otros form y regresar a la linea que se estaba ejecutando Willy Rodrigo C++ Builder 1 03-08-2007 19:36:23
Error en form de login FGarcia Varios 2 05-02-2006 05:00:27


La franja horaria es GMT +2. Ahora son las 08:11:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi