Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Pantalla Login (https://www.clubdelphi.com/foros/showthread.php?t=33307)

enecumene 03-07-2006 18:51:27

Pantalla Login
 
Saludos señores:

tengo este problemita, ya tengo el form de login creado, ya se como llamarlo antes del principal, tengo un codigo en el boton aceptar pero no se como hago que al dar a ese boton valide el password y entre de una vez al principal, y como hacerlo que en vez darle al boton dandole Enter?

aqui os dejo codigo del boton:

Código Delphi [-]
procedure TLogin.BitBtn4Click(Sender: TObject);
begin
  if not tbUsuarios.Active then
    tbUsuarios.Open;

  if tbUsuarios.Locate('usuario', User.Text, []) then
  begin
    if tbUsuarios.FieldByName('contrasena').AsString = Pass.Text then
      ShowMessage('Estan correctos');
    else
      ShowMessage('Pass incorrecto');
  end
  else
    ShowMessage('User innexistente');
end;

gracias!!!

BlueSteel 03-07-2006 21:20:16

Hola...

mira yo tengo esta forma... depende de la contraseña... me activa ciertas opciones del menu...

Código Delphi [-]
procedure TMenu.FormCreate(Sender: TObject);
begin
     Self.Position := poScreenCenter;
     WindowState := wsMaximized;

     Validar := TValidar.Create(Self);  // llamo a formulario validar... donde pide usuario y constraseña
     Try
        Validar.ShowModal;
        Barra1.Panels[3].Text:=GetUserName;
        Barra1.Panels[5].Text:=Validar.Sw2;
        Sw2 := Validar.Sw1;
        Sw4 := Validar.Sw3;
     Finally
        Validar.Free;
     End;
     If Validar.Sw = False Then
        Begin
             Application.ShowMainForm := False;
             Application.Terminate;
        End;
     If (Sw2= '2') Or (Sw2= '3') Then
        Begin
             Menus.Items[1].Items[0].Enabled := False;
             Menus.Items[1].Items[1].Enabled := False;
             Menus.Items[1].Items[2].Enabled := False;
        End;
     If Sw2 = '3'Then
        Begin
             Menus.Items[0].Items[1].Enabled := False;
        End;
//     Comprobar_Cargos;
end;

y ademas te adjunto el codigo del cuadro de dialogo validar, si la clave o usuario son incorrecta por 3 veces.. abandona el sistema
Código Delphi [-]
procedure TValidar.Buscar;
begin
     IBQ_Password.SQL.Clear;
     IBQ_Password.SQL.Add('Select * From "Usuarios"');
     IBQ_Password.SQL.Add('Where "Usu_Nick"=:Var1');
     IBQ_Password.Params[0].AsString := vUsu.Text;
     IBQ_Password.Open;
     If (IBQ_Password['Usu_Nick'] = vUsu.Text) and (IBQ_Password['Usu_Clave'] = Encriptar(vPas.Text)) Then
        Begin
             Sw := True;
             Sw1 := IBQ_Password['Usu_Tipo'];
             Sw2 := IBQ_Password['Usu_Nombre'];
             Sw3 := IBQ_Password['Usu_Numero'];
        End
     Else
        Cont:= Cont + 1;
end;

Encriptar : Corresponde a una rutina para encriptar la contraseña...

el siguiente codigo es del formulario validar - (usuario y contraseña), y cuando hace enter en contraseña se ejecuta
Código Delphi [-]
     If Key =#13 Then
        Begin
             Buscar;
             If Cont = 4 Then Close;
             If Sw = False Then
                Begin
                     ShowMessage('Datos ingresaso son erroneos....');
                     vUsu.Clear;
                     vPas.Clear;
                     vUsu.SetFocus;
                End
             Else
                Close;
        End;

enecumene 03-07-2006 22:36:28

Gracias BlueSteel por responder, ire a probar ahora mismo, despues te escribo como me va..

gracias!!

enecumene 03-07-2006 22:43:03

Duda
 
Una Pregunta BlueSteel:

Código Delphi [-]
Try
        Login.ShowModal;
        Barra1.Panels[3].Text:=GetUserName;
        Barra1.Panels[5].Text:=Validar.Sw2;
        Sw2 := Validar.Sw1;
        Sw4 := Validar.Sw3;
     Finally

que quieres decir con Barra1, Sw2, Sw4, Sw1 y Sw3?

BlueSteel 03-07-2006 23:30:50

Cita:

Empezado por enecumene
Una Pregunta BlueSteel:que quieres decir con Barra1, Sw2, Sw4, Sw1 y Sw3?

el Barra1.Panel... no lo tomes en cuenta.. ya que eso correponde a la Barra de Estado del Sistema (utilzo el componente StatusBarPro).. en donde despliego el Nombre de Usuario de Windows con la funcion GetUserName y el nombre de Usuario del Sistema....( Sw2)

con respecto a los otros

Sw1 := IBQ_Password['Usu_Tipo']; // tipo de usuario... Administrador - Operador - Digitador.. con esto restringo el menu, ya que cree 3 tipos de usuarios...

vtdeleon 04-07-2006 01:52:30

Cita:

Empezado por enecumene
[...]y como hacerlo que en vez darle al boton dandole Enter?

En el evento OnKeyPress del edit poner
Código Delphi [-]
Begin
  if key=#13 then Begin //#13 igual a Tecla Enter
//    la rutina
  end else
....
....
Por ultimo decirte que este tema se ha tratado bastante, creo que encontraras suficiente informacion si las buscas en el foro.


La franja horaria es GMT +2. Ahora son las 21:41:03.

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