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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-07-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 17
BuRtOn Va por buen camino
Mostrar Formulario solo 1 vez y destruirlo

Saludos amigos, es que tengo una gran pregunta, estoy haciendo la parte de seguridad de mi aplicacion para que nadie la piratee, pero estoy haciendo algo muy basico, pero tengo el siguiente problema, y voy a escribir todo lo que tengo para que se den cuenta del problema:

tengo la siguiente funcion, que me captura el Id del disco duro del pc donde voy a instalar mi aplicacion:

Código Delphi [-]
function GetVolumeID(DriveChar: Char): String;
  var
    MaxFileNameLength, VolFlags, SerNum: DWord;
  begin
    if GetVolumeInformation(PChar(DriveChar + ':\'), nil, 0,
       @SerNum, MaxFileNameLength, VolFlags, nil, 0)
    then
    begin
      Result := IntToHex(SerNum,8);
      Insert('-', Result, 5);
    end
    else
        Result := '';
  end;


entonces mi formulario de seguridad quedaria algo asi:

[] = son los edits o dbedits
{} = son botones.


Ingresa tu Id: [ xxxxx ] {id}

ingresa tu serial [xxxxx]

.................................................................{siguiente}


bueno como ven el boton id contiene el siguiente codigo:

Código Delphi [-]
procedure TfrmSerial.Button1Click(Sender: TObject);
begin
edtID.Text:= GetVolumeID('C');
end;

aqui lo que hago es extraer el Id del disco del pc y pasarlo a dbedit.

por el otro lado en el edit del serial, es un codigo que ya esta predeterminado por nostros, este es el codigo para que me entiendan mejor, y esta almacenado en el boton siguiente:

Código Delphi [-]
procedure TfrmSerial.BitBtn1Click(Sender: TObject);
begin
if edtSerial.Text = '64703706571782' then
begin
   ShowMessage('El serial es correcto');
  end
else
  begin
   ShowMessage('El serial es incorrecto');
  end;
end;

es un codigo que yo mismo genero y siempre va a ser el mismo, como se pueden dar cuenta.


el problema radica en lo siguiente, necesito que ese formulario donde me pide el serial y el id, solo salga una sola vez , es algo asi como cuando vas a registrar algun producto legal, el te pide el serial y te salen las casillas para ingresar el serial, si esta bien nunca jamas volvera a salir ese formulario de registrarce, eso es lo que necesito...teniendo en cuenta que cada vez que el usuario ingrese el formulario no sale pero si me tiene que ejecutar siempre una consulta donde diga que el ID del disco duro es el mismo que esta almacenado en la tabla SEGURIDAD para permitirle al usuario utilizar la aplicacion, si ese ID llega a cambiar, pues obviamente se tendra que bloquear la aplicacion....

lo que quiero hacer con la consulta del ID es algo asi:


Funcion idvolumen('C') : este es el id que extrae la funcion.

Id : este es un campo almacenado en una tabla paradox de tipo Alpha.


Código Delphi [-]
 
if funcion idvolumen('C') = id then
begin
//el id del disco es correcto puede ejecutarce la aplicacion.
end
 
else
begin
//el id es incorrecto bloquear aplicacion;
end;

esa es la condicion que la aplicaicon siempre tiene que ejecutar sin necesidad del formulario....para que quede al estilo de Microsoft Office 2007 JEJE, que ingresas el serial una solo vez y ya....pare de contar, nunca jamas vuelve a salir el formulario....


por favor si alguien sabe como hacer esto, por favor espero una ayuda...


ya muestro anteriormente como extraigo el ID del disco duro, y tener en cuenta que ese ID lo guardo en una tabla en paradox.....

por favor agradeceria su ayuda y aportes.....
Responder Con Cita
 



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
Abrir un formulario hijo solo una vez Walterdf Varios 5 08-04-2008 17:15:01
dll + mostrar formulario albertoP OOP 1 04-12-2006 08:21:20
mostrar sólo 5 caracteres de un varchar(75) Giniromero Firebird e Interbase 4 19-09-2006 12:37:41
mostrar solo dos decimales clanmilano Varios 1 15-11-2005 23:31:52
mostrar SOLO cliente de los que tengo un sólo registro Giniromero SQL 15 11-06-2004 12:33:19


La franja horaria es GMT +2. Ahora son las 10:34:46.


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