Я узрел только GroupArr : array [0..8] of string[20];, что вроде как по описанию проблемы и должно быть вроде как динамически. Но этот статический массив гвоздями прибит к категориям в процедуре заполнения этих категорий. Экспериментов я не увидел.
PS: форматирование вырвиглазно.
Но я сегодня добрый и потому укажу направление:
Код:
type
DataArray<T> = record
Data: array of T;
procedure Append(const Value: T);
function Count: integer;
end;
{ DataArray<T> }
procedure DataArray<T>.Append(const Value: T);
begin
SetLength(Data, length(Data) + 1);
Data[high(Data)] := Value;
end;
function DataArray<T>.Count: integer;
begin
result := length(Data);
end;
Использование:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
data: DataArray<string>;
begin
data.Append('Alpha');
data.Append('Beta');
Caption := IntToStr(data.Count) + ': ' data.Data[0] + ' & ' + data.Data[1];
end;
MAD: пользуемся тегами по назначению.