| end;
{------------------------------------------------------------------------------} function CRCExecute(pcString : String) : String ; var nX : Integer; nCRCVal : LongWord; begin nCRCVal := 0; for nX := 1 to length( pcString ) do nCRCVal := CRCTable[Byte(nCRCVal xor Byte(pcString[nX]))] xor (( nCRCVal shr 8 ) and $00FFFFFF ); Result := LowerCase( IntToHex( nCRCVal, 8 )); end;
{------------------------------------------------------------------------------} end.
我写了一个注册机以演示如何工作,当然,你应当修改它以适合自己的需要。
要在你的软件里使用我的注册机制,你需要在工程里包括Registration.pas unit和所有需要的历程。我的检查方法是从一个INI文件里 读入用户名、公司名以及注册码。如果是空的,软件提示一个对话框以提示用户注册,然后计算出注册码并和用户输入的注册码进行比 较,如果用户确认,将信息保存进INI文件并继续执行。此后,所有涉及用户名和公司名的地方重新得到。如果INI文件里不是空的,我 将计算之以确认是否正确。
上一页 [1] [2] |