未知数のグループを保存する必要があります。各グループには未知数の要素/項目があります。 これは私の「グループ」である:私は私のグループを保持するためのTListを使用したい動的配列をTListに格納する方法は?
TGroup= array of Integer; <------ dynamic array (as you can see) :)
。アイデアは、後でグループにアクセスしてアイテムを追加したいということです。
私はこのコードを持っているが、私はそれを動作させることはできません。
TYPE
TGroup= array of Integer; // Each group has x items (x can be from 1 to 10000)
procedure TForm1.FormCreate(Sender: TObject);
VAR CurGroup: TGroup;
grp, item: Integer;
Groups: TList; // can contain up to 1 million groups
begin
Groups:= TList.Create;
{ Init }
for grp:= 1 to 4 DO // Put a dummy item in TList
begin
SetLength(CurGroup, 1); // Create new group
Groups.Add(@CurGroup); // Store it
end;
CurGroup:= NIL; // Prepare for next use
for grp:= 1 to 4 DO // We create 4 groups. Each group has 3 items
begin
CurGroup:= Groups[Groups.Count-1]; // We retrieve the current group from list in order to add more items to it
{ We add few items }
for item:= 0 to 2 DO
begin
SetLength(CurGroup, Length(CurGroup)+1); // reserve space for each new item added
CurGroup[item]:= Item;
end;
Groups[Groups.Count-1]:= @CurGroup; // We put the group back into the list
end;
{ Verify }
CurGroup:= NIL;
CurGroup:= Groups[0];
Assert(Length(CurGroup)> 0); // FAIL
if (CurGroup[0]= 0)
AND (CurGroup[1]= 1)
AND (CurGroup[2]= 2)
then Application.ProcessMessages;
FreeAndNil(Groups);
end;
注:コードは完了です。あなたはそれを試してあなたのDelphi(7)に貼り付けることができます。
"グループ"とは、アイデンティティ要素とすべての要素が逆になるような関連マグマを意味しますか? –
@アンドレアス - いいえ。私のグループは数字のリスト(配列)です。これは私の「グループ」の定義です。 TGroup =整数の配列。 – Ampere