Hur programmerar man i VB6 så att programmet kan testköras i t.ex 30 dagar, och hur programmerar man för att lägga in registreringskod? Testa med den här koden testkörning
Sv: testkörning
I Modulen
Public Function DateGood(NumDays As Integer) As Boolean
'skriver till registret helt öppet så man kan gå in och ändra.
'Ex: If DateGood(30)=False Then
' CrippleApplication
' End if
'Register Parameters:
' CRD: Current Run Date
' LRD: Last Run Date
' FRD: First Run Date
Dim TmpCRD As Date
Dim TmpLRD As Date
Dim TmpFRD As Date
TmpCRD = Format(Now, "m/d/yy")
TmpLRD = GetSetting(App.EXEName, "Param", "LRD", "1/1/2000")
TmpFRD = GetSetting(App.EXEName, "Param", "FRD", "1/1/2000")
DateGood = False
'If this is the applications first load, write initial settings
'to the register
If TmpLRD = "1/1/2000" Then
SaveSetting App.EXEName, "Param", "LRD", TmpCRD
SaveSetting App.EXEName, "Param", "FRD", TmpCRD
End If
'Read LRD and FRD from register
TmpLRD = GetSetting(App.EXEName, "Param", "LRD", "1/1/2000")
TmpFRD = GetSetting(App.EXEName, "Param", "FRD", "1/1/2000")
If TmpFRD > TmpCRD Then 'System clock rolled back
DateGood = False
ElseIf Now > DateAdd("d", NumDays, TmpFRD) Then 'Expiration expired
DateGood = False
ElseIf TmpCRD > TmpLRD Then 'Everything OK write New LRD date
SaveSetting App.EXEName, "Param", "LRD", TmpCRD
DateGood = True
ElseIf TmpCRD = Format(TmpLRD, "m/d/yy") Then
DateGood = True
Else
DateGood = False
End If
End Function
I form load
' Här har jag gort så att man ser antal dagar som är kvar
Label1(0)=GetSetting(App.EXEName, "Param", "FRD", "1/1/2000")
Label1(1) = 30 - DateDiff("d", Label5, Now)
If Not DateGood(30) Then
MsgBox "Tiden för det här programet har löpt ut kontakta leverantören för en registrerad version ", vbExclamation, "Ej registrerad version"
Unload Me
End If