Ver Mensaje Individual
  #9  
Antiguo 12-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
un ejemplo (aunque es casi lo mismo que puso dec)

Código Delphi [-]
procedure Form1.FormCreate(sender : TObject);
begin
     Mirar_numero_intentos_fallidos;
     if not Programa_registrado() then 
       if registro.ShowModal <> mrOk then Application.Terminate;
     ....
end;
 
procedure Mirar_numero_intentos_fallidos;
var 
     v : integer;
begin
     v := Leer_intentos;
     if v > 5 then begin Aviso(); application.Terminate; end;
end;
 
procedure Registro.Registrar;
var 
     id : string;
begin 
     if Edit2.Text <> 'clave' then 
     begin
         ShowMessage('clave incorrecta');
         Application.Terminate;
 { aqui tambien puedes grabar, en algun lado del pc (registro, fichero, base de datos,...) los intentos fallidos }
     end;
 
     id := CogerIddeDiscoDuro;
     // Por ejemplo, se registra insertando en base de datos
    qsec.Insert;
    qsec.FieldValues['id'] := id;
    qsec.FieldValues['clave'] := Edit2.Text;
    qsec.Post;
    // o creando un fichero con el id, clave 
    CreateFile(...)
    // o en el registro
    CreateRegistryKey(...)
end;
 
function Form1.Programa_registrado() : boolean;
var 
    id : string;
begin
    id := CogerIddeDiscoDuro;
    // Aqui puedes comprobarlo de varias maneras, segun este guardado
   Programa_registrado := fileexists(...) // si se registra creando un fichero...
   Programa_registrado := qsec.Locate('id',id,[]);    // si se inserto en una tabla...
   Programa_registrado := GetRegistryKey(...) // si se guardo en registro...
end;

no se... creo que poco mas se puede decir

a ver si te sirve entre todos saludos
Responder Con Cita