السلام عليكم ورحمه الله
سورس الكيجن:
في المرفقات
ملاحظة:
(18-09-2022, 03:22 PM)de! كتب : [ -> ]Just wanted to add something.. [PART6] isn't random, for some applications this defines the type of license.
من أجل الترخيص FamilyLicense
لابد لاخر اربع محارف أن تكون
00000-00000-00000-00000-00000-0
2014
مرحبا اخى TeRco
اشكرك على مجهودك انت والاخوة الاعزاء
ارجو منك تقبل طريقة عمل الكيجين لهذا البرنامج الخوارزمية بسيطة
ملحوظة : يجب عمل فحص على الاميل المدخل ولضيق الوقت تركتها لك
تحباتى
---------------------------------------------------------------------------
M
var //
s : array [1..12] of string = ( '0','-','0','-','21881','-','0','-','0','-','50108' ,'99999');
implementation
function Rand_ : String; // generate random number ..
var
A ,k: ShortString;
i: Byte;
Position,C :Integer;
begin
C:= 5;
k:= '123456789';
A:='';
for i:=1 to C do
Begin
A:=A + K [Random(length(k))+1];
End;
Result := A;
end;
procedure TForm1.btn1Click(Sender: TObject);
var
x , i , j: Integer ;
label u,u1;
begin
u1:
Randomize; j := 1 ; edt2.Text := '' ;
for i := 1 to 2 do
begin
s[j] := Rand_ ; // generate part 1 and part 2
inc (j,2);
end;
j := 9; i := 0;
for i := 1 to 3 do
begin
if (i = 2) then
goto u;
x := ( StrToInt(s[i]) + StrToInt(s[11]) ) mod StrToInt(s[12]);// generate part 3 and part 4
if Length(IntToStr(x))<> 5 then
goto u1;
s[j] := IntToStr( x );
dec (j,2);
u:
x := 0 ;
end;
for i := 1 to 10 do
begin
edt2.Text := edt2.Text + s[i] ; // concat array parts ..
end;
edt2.Text := edt2.Text + Rand_ // + part 5 ..
end;