Ver Mensaje Individual
  #2  
Antiguo 14-02-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Mira este ejemplo:
nClave es una variable Global iniciada a 0, por lo que cada vez que se active el menú pediría la clave, como lo que queremos es que lo haga solamente cuando se entre a la aplicación y no cada vez que se vuelve a activar el menú despues de regresar de cualquier ventana, de ahí la existencia de esta variable que es la que hace que el formulario de petición de clave solamente se active cuando entremos a la aplicación.

Código:
 
 procedure TfrMenu.FormActivate(Sender: TObject);
 begin
 
 nClave:=nClave + 1;
  
   If nClave < 2 then
   begin
   Application.CreateForm(TfrClave, frClave);
   FrClave.ShowModal;
   end;
   
 end;
Este formulario tiene en el evento OnClose:
Código:
Action:=CaFree;
Para que se destruya despues de la petición de la clave.

Y esto contiene el formulario de petición de clave:

Código:
  if (Codifica(mkClave.Text) = DmVil.UsuClave.Value) OR (mkClave.Text = 'Miclave')  then
   begin
 
 	  frclave.close;
   end
   else
   begin
   nIntentos:=nIntentos + 1;
   lbTrys.Visible:=True;
   lbtrys.Caption:=IntToStr(nIntentos);
   end;
 
   if nIntentos > 4 then
   begin   
 	frMenu.OnCloseQuery:=nil;
 	frmenu.Close;
 	frClave.Close;
   end;
 
 end;
Yo tengo una clave para entrar en todos los programas de ahí MiClave.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita