Trial system

Anybody got some sample code for a twenty day trial system?

Rob.
robjgreenAsked:
Who is Participating?
 
MikeP090797Connect With a Mentor Commented:
The general approach would be to store the installation in the registry, using DateValue so it will be stored as a long number and not as a readable date, and compare it to today's date. If the difference is more then 20 days, exit. If the date in the registry isn't found, exit. If you are planning it for the average user, using SaveSetting will be enough, he won't be able to modify the date. If you are planning it for high level experts, you should use Reg* APIs to store it elsewhere so noone will figure out it's your program, or store it in a file like prog10xs.dll in \windows\system directory, so the user won't figure it out either. Make the file 20KB long, so it won't look suspicious
0
 
MikeP090797Commented:
What do you mean? A program that will run for only 20 days since it's installation? How well protected should it be?
0
 
robjgreenAuthor Commented:
The user should not be able to stop it from expiring...
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
robjgreenAuthor Commented:
Hi Mike,
   Well, that is actually what I had done already, simply stored it in the registry... but I'm going to test your DateValue idea before I accept the answer (low on points!)

Kind Regs,
Rob Green.
0
 
MikeP090797Commented:
Sorry, I posted it to early. DateValue won't do it, but you can store it like Day*10+Month*500+Year*7000
0
 
robjgreenAuthor Commented:
Hi Mike,
   it seems to be working okay... I'll have to get a decent install program that can set these things up though.

Kind Regards,
Rob Green.
0
 
robjgreenAuthor Commented:
Mike, erm... well I used this code:

Private Sub Form_Load()
    Dim installdat, currentdate As Long
    frmUnReg.Picture = frmSplash.Picture
    installdate = GetSetting("Heatwave Creations", "PasswordSafe", "gg1", "")
    currentdate = DateValue(Date)
    difference = currentdate - installdate
End Sub

Private Sub Timer1_Timer()
    If (20 - difference) > 0 Then
        frmPasswordSafe.Visible = True
        frmPasswordSafe.Enabled = False
        frmLogin.Visible = True
        Unload Me
    ElseIf (20 - difference) <= 0 Then
        MsgBox "Your Trial Has Expired"
        frmPreferences.Visible = True
        Unload Me
    End If
End Sub

But it doesnt work, it claims I have 40 days remaining!

Can you write me a code example please?

Kind Regards,
Rob Green.
0
 
MikeP090797Commented:
Try something like:
Dim InstallDate as date
installdate = GetSetting("Heatwave Creations", "PasswordSafe", "gg1", "")

If DateDiff("m", Now, InstallDate)>20 then
'Exit
else
'Continue
End if
0
 
robjgreenAuthor Commented:
Its okay, I rewrote all the code and it works okay now...
Cant remember what was wrong... too noisy here to think.
0
All Courses

From novice to tech pro — start learning today.