Predmet:Re: Registracija aplikacije
Eto ja pregledah i dat cu svoje misljenje.
Prvo sto mi se ne svidja je svaranje po registijima i to na pricipu shela do vb ima svoju naredbu za upis u registrije i sigurniji je sto se tice verzija op. sistema.
Dobro da krenemo od pocetka.
Prvo podizemo formu F_registration i tu imamo produkt kod.
Evo kako se generise:
ProductCode = Version & "-" & Mid(DateInstalled, 1, 3) & "-" & Mid(DateInstalled, 4, 3) & "-" & Mid(DateInstalled, 7, 2)
Do prve crtice je verzija programa koja je tako nezgrapno uradjena.
Napr ja bih je zapisao u neku tabelu pa odatle citao ili pak napraviio kao konstantu.
Ovako je obicnom korisniku to tesko naci gdje da promijeni.
Evo te procedure:
PreuzmiIzvorni kd (Visual Basic):Function WriteToReg1()
Dim RegKey As String
Dim RegObj
Dim Value As String
Dim WTR1 As Object
'Writes the Version Number in the Registry
'This can be done by Package Solution Wizard
RegKey = "HKCU\SOFTWARE\MyApp\Version"
'Version in the format X.X.X
'X is between 0 and 9
Value = "1.2.3"
Set WTR1 = CreateObject("WScript.Shell")
WTR1.RegWrite RegKey, Value, "REG_SZ"
End Function
Znaci obican korisnik bi morao verziju programa ovdje mijenjati.
Na slican nacin zapisuje u registrije i datum instalacije pa poslije cita u produkt kodu.
Znaci produkt kod je generisanma instalacije i verzije programa.
Po meni ako hocemo da imamo produkt kod odnosno broj proizvoda onda to treba da generise vlasnik programa i da ti posalje.
Mada to i nije toliko bitno.
Dalje imamo formu F_Generator gdje se na osnovu produkt koda generise registracioni kod.
Ova je procedura jos gora
PreuzmiIzvorni kd (Visual Basic):Private Sub ButtonGenerate_Click()
'Add your own error handling / validation
On Error Resume Next
Dim A, B, C, D, E, F, G, H, I, J, K, L, M
'Gets the first part of the code
A = Mid(Code1, 1, 1)
B = Mid(Code1, 2, 1)
C = Mid(Code1, 3, 1)
'Gets the second part of the code
D = Mid(Code1, 4, 1)
E = Mid(Code1, 5, 1)
F = Mid(Code1, 6, 1)
G = Mid(Code1, 7, 1)
H = Mid(Code1, 8, 1)
I = Mid(Code1, 9, 1)
J = Mid(Code1, 10, 1)
K = Mid(Code1, 11, 1)
'Shows the Version Number on the form
VersionNumber = A & "." & B & "." & C
'Shows the Date Installed on the form
'Unscrambles the date
'Format = DDMMYYYY
'D1 Y1 D2 Y2 M1 Y3 M2 Y4
DateInstalled = D & F & "/" & H & J & "/" & E & G & I & K
'Generate the first part of the Registration Code
Dim hexno1, x1
Dim Unlock1 As String
hexno1 = A & B & C
For x1 = 1 To Len(hexno1) Step 2
Next
Unlock1 = CLng("&h" & hexno1)
'Generate the second part of the Registration Code
Dim hexno2, x2
Dim Unlock2 As String
hexno2 = D & E & F & G & H & I & J & K
For x2 = 1 To Len(hexno2) Step 2
Next
Unlock2 = CLng("&h" & hexno2)
'Generate the Registration Code
'Splits the second part in two
'4 digits then the rest
L = Mid(Unlock2, 1, 4)
M = Mid(Unlock2, 5, 20)
Code2 = Unlock1 & "-" & L & "-" & M
End Sub
Prvo dimenzionisanje variabli
dim a,b,c, d itd
Umjesto napr Dim esto(brojMem)
Onda tu imaju i dvije petlje koje nista ne rade.
For x1 = 1 To Len(hexno1) Step 2
' ovdje bi trebao biti neki kod ako hocemo da nam petlja nesto radi
'Ovako petlja se izvrti na prazno.
Next
Na kraju se generise registracioni kod a u stvari samo se datum i verzija ispisuju heksadecimalno.
Ne provjerava ni hardver niti bilo sta dugo sem datuma i verzije.
I na kraju ima dvije procedure unlocker1 i unlocker2 koje u stvari rade isto sto i ova gore procedura.
To mu je provjera dali je program registrovan.
Ima tu i onih 30 dana demo.
Ima na forumu uputstvo i sve procedure izradjene za registraciju programa sa provjerom diska ili mat ploce nesto nisam siguran ali svejedno imate dll
na forumu koji cita hardver pa mozete preko njega procitati sto zelite.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.