Genesis Vargas J

Como hacer un programa TRIAL/DEMO en Visual Basic .NET

Comparte:

Hola que tal amigos, en esta ocasión les traigo un tutorial que te servirá como base para crear un programa DEMO/TRIAL de 15 días de uso (ustedes pueden modificar el número de días).

Con este tutorial el programa pretende mostrar una forma sencilla y rápida de hacer este tipo de funciones. Para desarrollarlo vamos a usar los Settings de las propiedades de nuestro proyecto y va a ser capaz defuncionar aún si el usuario modifica/altera el reloj de la computadora (cabe recordar que el programa no usará el registro de windows).

Procedemos a crear nuestro proyecto de WindowsForms en VisualBasic .NET y creamos dos formularios: uno para el programa y otro para mostrar cuando el programa haya vencido el tiempo o cuando haya detectado alteración en el reloj (fecha) del sistema.

Como hacer un programa TRIAL/DEMO en Visual Basic .NET

Luego vamos a hacer click en My Project, después hacemos click en la pestaña Configuración (Settings) y vamos a declarar nuestras dos variables: PrimeraVez(Boolean) para saber si es primera vez que se ejectuta el programa y FechaInstalacion donde vamos a guardar la fecha de la primera vez que se ejecute el programa.

Como hacer un programa TRIAL/DEMO en Visual Basic .NET

Ahora procedemos a escribír el código del formulario principal.

FORM1.VB

Public Class Form1

    Dim Vencido As Boolean = False

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        If My.Settings.PrimeraVez Then
            My.Settings.PrimeraVez = False
            My.Settings.FechaInstalacion = DateTime.Today.ToString("d")
            My.Settings.Save()
        Else
            LblInstalacion.Text = My.Settings.FechaInstalacion
            LblTrial.Text = Convert.ToDateTime(My.Settings.FechaInstalacion).AddDays(15).ToString("d")
            LblFecha.Text = DateTime.Today.ToString("d")
            Dim FechaTrial As String = Convert.ToDateTime(My.Settings.FechaInstalacion).AddDays(15).ToString("d")
            If Convert.ToDateTime(DateTime.Today.ToString("d")).Date > Convert.ToDateTime(FechaTrial).Date Then
                Vencido = True
            ElseIf Convert.ToDateTime(DateTime.Today.ToString("d")).Date < Convert.ToDateTime(My.Settings.FechaInstalacion).Date Then
                Vencido = True
            End If
        End If
        If Vencido Then
            Form2.ShowDialog()
            End
        End If
    End Sub

En el código podemos observar que hemos creado una variable vencido para identificar cuando esta vencido el programa, luego en el evento load preguntamos si PrimeraVez es true (si el programa se ejecuta por primera vez va a entrar por esa condicion porque en la configuracion esta declarado como true) y si es así va a cambiar su estado a false y va a guardar la fecha actual en la variabe de configuración FechaInstalacion y finalmente va a guardar los cambio en la configuración (settings); si no es así el programa va a poner en los labels correspondientes la fecha actual, instalación y expiración, seguidamente se declara una variable que va a tener la fecha de expiración que será seteada utilizando la función AddDays de DateTime de la fecha de instalación que guardamos en la configuración, luego preguntamos si la fecha actual es mayor a la fecha de expiración o si la fecha actual es menor que la fecha de instalación y en cualquiera de los dos casos vamos a setear la variable Vencido como true para finalmente preguntar si esa variable es true mostrar el aviso y finalizar el programa o sino correr el programa normalmente.

Aquí vemos el programa en funcionamiento el mismo día que se instala (guarda la fecha).

Como hacer un programa TRIAL/DEMO en Visual Basic .NET

Aquí vemos el resultado cuando el programa a superado la fecha de expiración o cuando se ha manipulado el reloj de Windows para un tiempo anterior al que fue instalado el programa:

Como hacer un programa TRIAL/DEMO en Visual Basic .NET

Bueno eso es todo espero que les sirva mucho para aprender y practicar. les dejo una carpeta comprimida para que descarguen el ejemplo.

Comentarios


genesis vargas

Soy Genesis Vargas Jiménez, autor de éste blog. Me gusta desarrollar software en todas las plataformas (web, móvil y desktop) y compartir conocimiento para ayudar a muchas personas.

Desde el 2015 soy MVP Microsoft en Visual Studio y tecnologías de desarrollo, reconocimiento que me enorgullece mucho.

MVP Genesis Vargas J

A PHP Error was encountered

Severity: Core Warning

Message: Module 'timezonedb' already loaded

Filename: Unknown

Line Number: 0

Backtrace: