Показать сообщение отдельно
  #5  
Старый 09.02.2015, 22:44
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

А можно и так ещё, в лоб
Код:
...
type
 rdm = array [{1} 0..9] of string;

procedure rds(var ds: rdm);
var
 i, p, b: integer;
 s, r: string;
begin
 i:= {1} 0;
 while i <= 9 do
  begin
   p:= Random(10);
   b:= Random(10);
   s:= ds[p];
   r:= ds[b];
   ds[p]:= r;
   ds[b]:= s;
   inc(i);
  end;
end;
пример использования
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 i: integer;
 m: rdm;
begin
 Randomize;
 for i:= {1} 0 to 9 do m[i]:=  IntToStr(i); { IntToRome(i);}
 Edit1.Text:='';
 rds(m);
 for i:= {1} 0 to 9 {Random(8)+2} do Edit1.Text:= Edit1.Text + m[i];
end;
в фигурных скобочках - вариант с ромой и переменной длинной наборчика
Ответить с цитированием