السلام عليكم عندي استفسار
طبقت هذا الكود في Delphi XE وعمل بنجاح
واعدت تطبيقه في Delphi XE Android ثم جربته في الهاتف تخرج لي الرسالة
Division by zero
function CalculateCode(LicenseName: string): string;vari, Code: integer;CodeStr: string;Num: Int64;FSeed : Int64;FRegCodeSize : Integer;beginFSeed:=3210;FRegCodeSize:=13;// You can modify this algorithm if you want to...if (Length(LicenseName) > 21) or (Length(LicenseName) < 4) thenbeginResult := ''; // LicenseName did not fit length requirementsExit;end;i := Length(LicenseName);// Takes the last 6 characters (going backwards), converting each// character to ASCII and taking the remainder of dividing it into Seedwhile (i >= Length(LicenseName) - 8) and (i > 0) dobeginCodeStr := CodeStr + IntToStr(FSeed mod Ord(LicenseName));Dec(i);end;Val(CodeStr, Num, Code);if FRegCodeSize <= 0 thenResult := IntToHex(Num, 0)else beginResult := IntToHex(Num, FRegCodeSize);Delete(Result, FRegCodeSize + 1, Length(Result) - FRegCodeSize);end;end;procedure TForm1.Button1Click(Sender: TObject);beginEdit2.Text:=CalculateCode(Edit1.Text);end;

