![]() |
|
مشكل Division by zero في delph xe 5 android - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : مشكل Division by zero في delph xe 5 android (/showthread.php?tid=5930) |
مشكل Division by zero في delph xe 5 android - sky19 - 09-02-2014 السلام عليكم عندي استفسار طبقت هذا الكود في Delphi XE وعمل بنجاح واعدت تطبيقه في Delphi XE Android ثم جربته في الهاتف تخرج لي الرسالة Division by zero كود : function CalculateCode(LicenseName: string): string;
var
i, Code: integer;
CodeStr: string;
Num: Int64;
FSeed: Int64;
FRegCodeSize: integer;
begin
FSeed := 3210;
FRegCodeSize := 13;
// You can modify this algorithm if you want to...
if (Length(LicenseName) > 21) or (Length(LicenseName) < 4) then
begin
Result := ''; // LicenseName did not fit length requirements
Exit;
end;
i := Length(LicenseName);
// Takes the last 6 characters (going backwards), converting each
// character to ASCII and taking the remainder of dividing it into Seed
while (i >= Length(LicenseName) - 8) and (i > 0) do
begin
CodeStr := CodeStr + IntToStr(FSeed mod Ord(LicenseName[i]));
Dec(i);
end;
Val(CodeStr, Num, Code);
if FRegCodeSize <= 0 then
Result := IntToHex(Num, 0)
else
begin
Result := IntToHex(Num, FRegCodeSize);
Delete(Result, FRegCodeSize + 1, Length(Result) - FRegCodeSize);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := CalculateCode(Edit1.Text);
end;مشكل Division by zero في delph xe 5 android - SMP3 - 19-02-2014 المشكلة أن كومبايلر أندرويد يستخدم Zero based string : بمعنى الترقيم يبدأ من الصفر و ليس الواحد !! يمكن تعطيله باستخدام التوجيه : PHP كود : {$ZEROBASEDSTRINGS OFF} لكن كحل مثالي و آمن أنصحك أن لا تقوم بتعطيله لأن ال RTL الخاصة بالأندرويد تعمل بنفس المبدأ Zero Based .. هذا حل يلبي احتياجك : PHP كود : {$IF CompilerVersion >=26}مشكل Division by zero في delph xe 5 android - sky19 - 21-02-2014 نفس المشكلة مشكل Division by zero في delph xe 5 android - SMP3 - 21-02-2014 اعتذر .. غير : PHP كود : {$IF CompilerVersion >=26} PHP كود : {$IF CompilerVersion >=26}// Delphi XE5 |