Function BaseChange(Num, NewBase : Word) : String;
Const
BaseChars : Array [0..36] of Char = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
Var
St : String;
begin
St := '';
Repeat
St := BaseChars[Num MOD NewBase] + St;
Num := Num Div NewBase;
Until Num = 0;
BaseChange := St;
end;
Int var1 = BaseChange((1+Random(65465),16);
if var1 then Control1:= IntTostr(var1) else control1:= '0';
Int var1 = BaseChange(floor((2765476*Random)),36);
if var1 then control2 := IntTostr(var1) else control2 = '0';
This code is tested
Function TForm1.BaseChange(Num, NewBase : Word) : String;
Const
BaseChars : Array [0..36] of Char = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
Var
St : String;
begin
St := '';
Repeat
St := BaseChars[Num MOD NewBase] + St;
Num := Num Div NewBase;
Until Num = 0;
BaseChange := St;
end;
procedure TForm1.Button1Click(Sender: TObject);
var var1:string;Control1:String;
num:integer;
begin
var1:= BaseChange((1+Random(65465)),16);
if length(var1)>0 then Control1:= var1 else control1:= '0';
showmessage(control1);
num:= floor(2765476*Random);
var1 := BaseChange(num,36);
if length(var1)>0 then control1 := var1 else control1:= '0';
showMessage(Control1);
0
Question has a verified solution.
Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.
Open in new window