|
回 52楼(libaiping) 的帖子
- [Setup]
- AppName=注册码算号器
- AppVerName=My Program version 1.5
- CreateAppDir=no
- DisableProgramGroupPage=yes
- DefaultGroupName=My Program
- UserInfoPage=true
- OutputBaseFilename=注册码算号器
- [MESSAGES]
- UserInfoName=机器码:
- UserInfoOrg=硬件序号:
- UserInfoSerial=注册码:
- WizardUserInfo=注册码算号器
- UserInfoDesc=请输入机器码。程序将自动计算出相应的硬件序号和注册码。
- [Messages]
- BeveledLabel=汉化新世纪 http://www.hanzify.org
- SetupAppTitle=注册码算号器
- SetupWindowTitle=注册码算号器
- [Code]
- var HDSN: LongInt;
- function getSerialCode(HDSN: LongInt): string;
- var MID,tmp1,tmp2: string;
- SN: LongInt;
- begin
- // 生成注册码
- SaveStringToFile('E:\1122.txt', 'HDSN: '+ IntToStr(HDSN)+#13#10, true);
- if HDSN > 432109876 then
- SN:= HDSN-432109876
- else
- SN:= 432109876-HDSN;
- SaveStringToFile('E:\1122.txt', 'SN: '+ IntToStr(SN)+#13#10, true);
- MID:='';
- tmp1:= IntToStr(SN);
- while length(tmp1)>3 do
- begin
- tmp2:= copy(tmp1,1,3);
- delete(tmp1,1,3);
- MID:= MID+Chr(65+StrToInt(tmp2)*26/999)+tmp2;
- end;
- MID:= MID+Chr(65+StrToInt(tmp1)*26/999)+tmp1;
- SaveStringToFile('E:\1122.txt', 'SC: '+ MID+#13#10, true);
- tmp1:= MID;
- MID:= '';
- while length(tmp1)>3 do
- begin
- tmp2:= copy(tmp1,1,3);
- delete(tmp1,1,3);
- MID:= MID+tmp2+'-';
- end;
- MID:= MID+tmp1;
- SaveStringToFile('E:\1122.txt', 'SC: '+ MID+#13#10, true);
- If HDSN > 432109876 then
- MID:='3P6-'+MID
- else
- MID:='X5B-'+MID;
- result:= MID;
- SaveStringToFile('E:\1122.txt', 'SC: '+ MID+#13#10, true);
- end;
- function getregcode(MID: string): string;
- var SN,tmp1,tmp2: string;
- numSN: LongInt;
- begin
- // 注册码
- SaveStringToFile('E:\1122.txt', 'MID: '+ MID+#13#10, false);
- tmp1 := MID;
- delete(tmp1,1,4);
- SN:= '';
- while length(tmp1)>4 do
- begin
- tmp2:= copy(tmp1,1,3);
- delete(tmp1,1,4);
- SN:= SN+tmp2;
- end;
- if tmp1 > '' then
- SN:= SN+tmp1;
- SaveStringToFile('E:\1122.txt', 'SN: '+ SN +#13#10, true);
- tmp1:= SN;
- SN:= '';
- while length(tmp1)>4 do
- begin
- tmp2:= copy(tmp1,2,3);
- delete(tmp1,1,4);
- SN:= SN+tmp2;
- end;
- if tmp1 > '' then
- begin
- delete(tmp1,1,1);
- SN:= SN+tmp1;
- end;
- SaveStringToFile('E:\1122.txt', 'SN: '+ SN +#13#10, true);
- numSN := StrToIntDef(SN, 0);
- If StrGet(MID,1) = '6' then
- numSN := numSN + 567890123
- else
- numSN:= 567890123 - numSN;
- //
- HDSN:= numSN;
- SaveStringToFile('E:\1122.txt', 'HDSN: '+ IntToStr(numSN)+#13#10, true);
- result:= getSerialCode(numSN);
- SaveStringToFile('E:\1122.txt', 'RegCode: '+ result +#13#10, true);
- end;
- procedure InitializeWizard();
- var
- yn: Integer;
- begin
- yn := WizardForm.UserInfoNameEdit.Top;
- WizardForm.UserInfoNameEdit.Top := WizardForm.UserInfoSerialEdit.Top;
- WizardForm.UserInfoSerialEdit.Top := yn;
- WizardForm.UserInfoNameEdit.ReadOnly:= true;
- WizardForm.UserInfoOrgEdit.ReadOnly:= true;
- WizardForm.UserInfoNameEdit.Text:= '';
- WizardForm.UserInfoOrgEdit.Text:= '';
- WizardForm.UserInfoSerialEdit.Text:= '<请输入机器码>';
- WizardForm.UserInfoSerialEdit.TabOrder:= 0;
- end;
- procedure CurPageChanged(CurPageID : Integer);
- begin
- if CurPageID = wpWelcome then WizardForm.NextButton.Click;
- end;
- procedure CancelButtonClick(CurPageID : Integer; var Cancel, Confirm: Boolean);
- begin
- Confirm := false;
- end;
- function CheckSerial(Serial: string): Boolean;
- begin
- result:= false;
- if (Copy(Serial,1,3)= 'V94') or (Copy(Serial,1,3)= '6J7') then
- begin
- WizardForm.USERINFONAMEEDIT.text := GetRegCode(Serial);
- WizardForm.USERINFOORGEDIT.text := IntToStr(HDSN);
- end
- else
- begin
- WizardForm.USERINFONAMEEDIT.text := '-';
- WizardForm.USERINFOORGEDIT.text := '-';
- end;
- end;
|