• Jueves 18 de Abril de 2024, 17:10

Autor Tema:  Como generar una version Trial  (Leído 2000 veces)

marpresi

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Como generar una version Trial
« en: Martes 8 de Julio de 2008, 21:21 »
0
Holas!!!

Queria preguntar, alguien tiene idea de como hacer un trial de una a plicacion en powerbuilder?

tengo aqui un ejemplo que despues lo voy a subir, pero no es muy convincente..

muchas gracias!
Tincho.-

marpresi

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: Como generar una version Trial
« Respuesta #1 en: Viernes 11 de Julio de 2008, 14:50 »
0
Aqui les paso un post que encontre en otra pagina "Todoexpertos.com"
Saludos!!

Código: Text
  1. kukya, experto respondiendo en Power Builder
  2. Experto
  3.    
  4. 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.
  5. Puedes hacer algo sencillo como comprobar la fecha del sistema y dejar solo 30 dias.
  6. en el evento open del objeto aplicación pon lo siguiente:
  7.  
  8. Boolean lb_retorno
  9.  
  10. // Comprobamos si está en periodo de prueba
  11. lb_Retorno = of_trial()
  12. // abrimos la aplicación
  13. if lb_retorno then
  14. open(w_ventana_inicial)
  15. else
  16. halt close
  17. end if
  18.  
  19. ahora nos generamos una función en el objeto aplicación que retorna un boolean y se llama of_trial()
  20.  
  21. boolean lb_Retorno
  22. Date ldt_hoy, ldt_fecha_inst
  23. integer li_registro
  24. string ls_serie, ls_fecha, ls_fecha_a_probar
  25.  
  26. ldt_hoy = Today()
  27. ls_fecha = String(ldt_hoy,'yyyymmdd')
  28.  
  29. li_registro = RegistryGet ( 'HKEY_LOCAL_MACHINESoftwaremiaplicacion', 'numserie', RegString!, ls_serie)
  30. if li_registro = -1 then
  31. // No hemos guardado el número de serie
  32. ls_serie = '98667' + ls_fecha + '6673KJU'
  33. // Nota: lo de 98667 y 6673KJU son para despistar, porque realmente lo que vamos a evaluar es la fecha
  34. RegistrySet ( 'HKEY_LOCAL_MACHINESoftwaremiaplicacion', 'numserie', RegString!, ls_serie)
  35. lb_retorno = true
  36. else
  37. // Cogemos la fecha que habiamos ocultado en el número de serie
  38. ls_fecha_a_probar = Mid(ls_serie,6,8)
  39. 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))
  40. if DaysAfter(ldt_fecha_inst, ldt_fecha_hoy) > 30 then
  41. MessageBox("Aviso","Ha pasado el periodo de evaluación de 30 dias.")
  42. lb_retorno = false
  43. end if
  44. end if
  45.  
  46. Return lb_retorno
  47.  
  48. Es simple pero mas o menos efectivo, si cambiamos la fecha del sistema nos saltamos lo de la evaluación, pero para empezar no está mal.
  49.