Ver Mensaje Individual
  #1  
Antiguo 16-02-2010
valera valera is offline
Miembro
 
Registrado: abr 2005
Posts: 39
Reputación: 0
valera Va por buen camino
Ayuda con Password dialog

Hola, muy buenas tardes, necesito de su ayuda, porque yo no le puedo, no le puedo y no le puedo, ya estuve checando varios hilos y sigo sin encontrarle una solucion. mi problema es el siguiente tengo una aplicacion MDI y utilizo un password Dialog para usuario y contraseña, quiero que el password dialog sea el primero en aparecer y cuando la contraseña sea incorrecta que me permita capturarla hasta 3 veces, el codigo en el archivo DPR:
Código:
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TPrincipal, Principal);
  Application.CreateForm(TPasswordDlg, PasswordDlg);
  Application.CreateForm(TModulo, Modulo);
  Application.CreateForm(TSplash, Splash);
  Application.CreateForm(TFrSeleccionarArt, FrSeleccionarArt);
  //Application.Run;
  PasswordDLG.ShowModal;
en el boton aceptar del PasswordDLG tengo el siguiente codigo, a es una variable global:

Código:
procedure TPasswordDlg.OKBtnClick(Sender: TObject);
var
i:integer;
begin
 if DBLookupComboBox1.Text=''then
   begin
     Showmessage('No ha seleccionado el usuario, favor de hacerlo');
     DBLookupComboBox1.SetFocus;
   end
else
   begin
     principal.Edit9.Text:=DBLookupComboBox1.Text;
     modulo.ADOEmpleado.Filtered:=false;
     modulo.ADOEmpleado.Filter:=('Nombre=')+ quotedstr(DBLookupComboBox1.Text);
     modulo.ADOEmpleado.Filtered:=true;
     Edit3.Text:=modulo.ADOEmpleadoId_empleado.AsString;
     modulo.ADOEmpleado.Filtered:=false;
     modulo.ADOPassword.Filtered:=false;
     modulo.ADOPassword.Filter:=('Id_empleado=')+quotedstr(Edit3.Text);
     modulo.ADOPassword.Filtered:=true;
     if Password.Text=modulo.ADOPasswordPassword.AsString then
       begin
         Splash.Show;
         Splash.Update;
         for i:=1 to 100 do
           begin
             Splash.ProgressBar1.Position:=i;
             sleep(20);
           end;
           Splash.Close;
           application.Run;
       end
     else
       begin
         Password.Clear;Password.SetFocus;
         showmessage(' La contraseña no es la correcta, intentelo de nuevo');
         a:=a+1;
         if a=3 then
           begin
             showmessage('Ya perdió usted las 3 oportunidades, Adios');
             application.Terminate;
           end;
       end;
   end;
end;
Espero su sugerencia, por su atencion y tiempo muchas gracias.
Responder Con Cita