я специально вынес конвертацию в римские цифры в отдельную функцию.
По аналогии задается любой другой вид. Фактически, у тебя в сгенерированном массиве индексы элементов массива значений. Т.е. собственно, надо просто брать элемент из нужного массива.
Пусть у нас есть RadioGroup c 2 вариантами - Римские цифры (0) и Слова (1).
тогда:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
N, I : Integer;
A : Array Of Integer;
S : String;
begin
Randomize;
N := Random(9)+1; // Random числа 1..9
SetLength(A,N); // выделение памяти массиву
GetNumbers(A);
// Отображение результата
S := '';
For I := Low(A) To High(A) Do
Begin
Case RadioGroup1.ItemIndex Of // не помню как точно св-во нвзывается
0 : S := S + IntToRome(A[i]);
1 : S := S + IntToWord(A[i]);
Else Raise Exception.Create('Unknown transformation.');
End;
If I < High(A) Then S := S + ', ';
End;
ShowMessage(S);
end;
Функцию IntToWord сам напишешь по аналогии...