procedure TForm1.Button1Click(Sender: TObject); var i,j:Integer; begin i:= 0; while true do begin if i > 3 then Break; j := RandomRange(1,30); if Memo1.Lines.IndexOf(IntToStr(j)) = -1 then begin Memo1.Lines.Add(IntToStr(j)); Inc(i); end; end; end;
我记得随机数要初始化一下 procedure TForm1.Button1Click(Sender: TObject); var i,j:Integer; begin memo1.clear;//行数多了会死掉 i:= 0; while true do begin if i > 3 then Break; randomize; j := Random(30)+1; //0<=j<31 if Memo1.Lines.IndexOf(IntToStr(j)) = -1 then begin Memo1.Lines.Add(IntToStr(j)); Inc(i); end; end; end;
var i,j:Integer;
begin
i:= 0;
while true do
begin
if i > 3 then Break;
j := RandomRange(1,30);
if Memo1.Lines.IndexOf(IntToStr(j)) = -1 then
begin
Memo1.Lines.Add(IntToStr(j));
Inc(i);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
begin
memo1.clear;//行数多了会死掉
i:= 0;
while true do
begin
if i > 3 then Break;
randomize;
j := Random(30)+1; //0<=j<31
if Memo1.Lines.IndexOf(IntToStr(j)) = -1 then
begin
Memo1.Lines.Add(IntToStr(j));
Inc(i);
end;
end;
end;
楼主的意思是不是说产生一个1~30的随机数表并显示在Memo中,再从Memo中选取连续的5个不重复的随机数?
初始化随机数产生器
1楼的方法巧是巧,但如果不是放在List里面就不能用。