Z
zyr76
Unregistered / Unconfirmed
GUEST, unregistred user!
我的下列代码可以在点击按钮后在Edit1文本框中生成三个不同的随机数,现在想扩充这个功能,把它转换换函数实现,function RandomX(From,to,number:Integer):array[] of integer;我看了有些帖子实现的方法,但是以过程出现,我现在就想利用函数返回值,请问该函数的写法,以及在其他程序中如何调用返回的随机数?要两个问题一起答哟!
//from: 从几开始取;
//to: 取到几为止;
//number:取几个随机数
//其中:number < to - from, to > from;
//返回一个数组类型,其任何两个元素的值均不相等;
---------我的代码-----------
procedure TForm1.Button1Click(Sender: TObject);
var
i,n:integer;
s:set of byte;//通过比较保存在数组中的随机数,保证产生的随机数不重复
a:array[1..3]of integer;
begin
Edit1.Clear;
randomize;
for i:=1 to 10 do
begin
n:=random(10);
while (n in s) do
begin
randomize;
n:=random(10);
end;
s:=s+[n];
a:=n;
Edit1.text:=Edit1.text+Inttostr(a)+' ';
if i>=3 then break;
end;
end;
//from: 从几开始取;
//to: 取到几为止;
//number:取几个随机数
//其中:number < to - from, to > from;
//返回一个数组类型,其任何两个元素的值均不相等;
---------我的代码-----------
procedure TForm1.Button1Click(Sender: TObject);
var
i,n:integer;
s:set of byte;//通过比较保存在数组中的随机数,保证产生的随机数不重复
a:array[1..3]of integer;
begin
Edit1.Clear;
randomize;
for i:=1 to 10 do
begin
n:=random(10);
while (n in s) do
begin
randomize;
n:=random(10);
end;
s:=s+[n];
a:=n;
Edit1.text:=Edit1.text+Inttostr(a)+' ';
if i>=3 then break;
end;
end;