Цитата:
	
	
		| 
			
				 Сообщение от m1sclick 
				Уже наверно не актуально но,вот так наверно будет красивее: 
	Код: 
	procedure RList;
begin
Randomize;
repeat
  r := Random(15)+1;
  if Form1.ListBox1.Items.Count = 15 then exit;
until New[r] <> 0 ;
Form1.ListBox1.Items.Add(IntToStr(r));
New[r] := 0;
end;  
  
			
		 | 
	
	
 
Почему-то у меня программа зависла с 100% загрузкой процессора.
Вот еще так подкорректировал.
	Код:
	procedure TForm1.Button2Click(Sender: TObject);
var i: integer;
begin
ListBox1.Clear;
for i:=1 to 15 do
  New[i]:=0;
for i:=1 to 15 do
  ABC;
end;
procedure TForm1.ABC;
var r: integer;
begin
Randomize;
r := random(15)+1;
If New[r] = 0 then
  begin
  New[r] := r;
  ListBox1.Items.Add(IntToStr(r));
  end
else
  ABC;
end;
 
 
Что конечно ни как не могу понять суть строки 
r := random(15)+1; если же нам генерируют число 0 мы добавляем 1 и получаем 1. Это ясно. Ну, а вот если генерируем число 15 и добавляется 1 должно получится 16 но оно как-то неполучается 
