Sub Workbook_Open()
'Const CellaRegistrazione As Integer = 1
'password di sicurezza
Const PassWordSecurity As String = "homerjsi"
'Stringa da trovare nel file di check per risultare registrato
Const StringaVerifica As String = "rec_ok"
Dim Paths As String
' percorso e nome del file di check
Paths = "C:\Windows\System32\pac.txt"
FileExists = EsisteFile(Paths)
'vediamo se il file esiste
If (FileExists = True) Then
'Apriamo il nostro file spia
Open Paths For Input As #1
Input #1, Registrato
Close #1
If (Registrato = StringaVerifica) Then
Exit Sub
Else
VarInput:
' Generate random value between 1 and 6.
Dim LB As Integer
Dim UB As Integer
LB = 1
UB = 50
Randomize (Rnd())
Dim Codice1 As Integer
Dim Codice2 As Integer
Dim Codice3 As Integer
Dim Codice4 As Integer
Dim Codice5 As Integer
Codice1 = CInt(Rnd() * UB) + 1
Codice2 = CInt(Rnd() * UB) + 1
Codice3 = CInt(Rnd() * UB) + 1
Codice4 = CInt(Rnd() * UB) + 1
Codice5 = CInt(Rnd() * UB) + 1
VariabileInput = InputBox("Codice di assistenza=" & Codice1 & "-" & Codice2 & "-" & Codice3 & "-" & Codice4 & "-" & Codice5 & "." & Space(20) & "Inserire codice di convalida.")
Risultato1 = Abs(2 * Codice1 - Codice2 + 5 * (Codice3 * Codice4) - 4 * Codice5)
Risultato2 = Abs(Codice2 + Codice1 + Codice3 - 2 * (Codice4 * 5 - 7 * Codice5) * 3)
Risultato3 = Abs(Codice3 - Codice4 * Codice5 + 6 * (Codice1 + 1))
Risultato4 = Abs(Codice4 + Codice5 - Codice1 + 2 * (Codice3 - Codice2))
Risultato5 = Abs(Codice5 + Codice2 + 2 * Codice3 - 4 * Codice5)
If (VariabileInput = (Risultato1 & "-" & Risultato2 & "-" & Risultato3 & "-" & Risultato4 & "-" & Risultato5) Or VariabileInput = PassWordSecurity) Then
MsgBox ("Il programma e' stato correttamente registrato, grazie")
ok = StringaVerifica
'apriamo il file spia
Open Paths For Output As #1
'marchiamo il file di testo come registrato
Print #1, ok
Close #1
Exit Sub
Else
MsgBox ("Spiacente il codice e' errato, siete pregati di inserire il codice corretto, grazie")
Codice1 = CInt(Rnd() * UB) + 1
Codice2 = CInt(Rnd() * UB) + 1
Codice3 = CInt(Rnd() * UB) + 1
Codice4 = CInt(Rnd() * UB) + 1
Codice5 = CInt(Rnd() * UB) + 1
ActiveWindow.Close
End If
End If
Else
Open Paths For Output As #1
Print #1, asd
Close #1
GoTo VarInput
End If
End Sub
Function EsisteFile(NomeFile As String) As Boolean
On Error Resume Next
EsisteFile = (GetAttr(NomeFile) And vbDirectory) = 0
End Function