Sobre Trial

Hola, tengo una aplicación desarrollada en pb 7.0 y necesito hacer una versión trial de esta para utilizarla con fines de publicidad, pero no se como (o con que herramient)a se hace.
Desde ya agradezco cualquier sugerencia.
Gracias.
Hernán.

1 Respuesta

Respuesta
1
Las versiones de pruebas realmente lo que hacen es comprobar algún tipo de dato ( como la fecha del sistema, el número de serie, etc..) y al hacer el open de la aplicación comprobar ese valor.
Puedes hacer algo sencillo como comprobar la fecha del sistema y dejar solo 30 días.
En el evento open del objeto aplicación pon lo siguiente:
Boolean lb_retorno
// Comprobamos si está en periodo de prueba
lb_Retorno = of_trial()
// abrimos la aplicación
if lb_retorno then
open(w_ventana_inicial)
else
halt close
end if
Ahora nos generamos una función en el objeto aplicación que retorna un boolean y se llama of_trial()
boolean lb_Retorno
Date ldt_hoy, ldt_fecha_inst
integer li_registro
string ls_serie, ls_fecha, ls_fecha_a_probar
ldt_hoy = Today()
ls_fecha = String(ldt_hoy,'yyyymmdd')
li_registro = RegistryGet ( 'HKEY_LOCAL_MACHINE\Software\miaplicacion', 'numserie', RegString!, ls_serie)
if li_registro = -1 then
// No hemos guardado el número de serie
ls_serie = '98667' + ls_fecha + '6673KJU'
// Nota: lo de 98667 y 6673KJU son para despistar, porque realmente lo que vamos a evaluar es la fecha
RegistrySet ( 'HKEY_LOCAL_MACHINE\Software\miaplicacion', 'numserie', RegString!, ls_serie)
lb_retorno = true
else
// Cogemos la fecha que habiamos ocultado en el número de serie
ls_fecha_a_probar = Mid(ls_serie,6,8)
ldt_fecha_inst = date(Integer(Mid(ls_fecha_a_probar,1,4),Integer(Mid(ls_fecha_a_probar,5,2),Integer(Mid(ls_fecha_a_probar,7,2))
if DaysAfter(ldt_fecha_inst, ldt_fecha_hoy) > 30 then
MessageBox("Aviso","Ha pasado el periodo de evaluación de 30 dias.")
lb_retorno = false
end if
end if
Return lb_retorno
Es simple pero más o menos efectivo, si cambiamos la fecha del sistema nos saltamos lo de la evaluación, pero para empezar no está mal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas