目次

TListを利用する (TListを使った動的な配列) - Delphi

DelphiではTListの要素に添え字でアクセスできるため、TListを動的配列のように使うことができます。
Genericsを使うと更にシンプルに記述することができます。Genericsを使った記述方法はこちらの記事を参照してください。

コード例

procedure TForm1.Button6Click(Sender: TObject);
var
  data:TList;
  i:integer;
  v:pinteger;
begin
  data:=TList.Create;

  new(v);
  v^:=10;
  data.Add(v);

  new(v);
  v^:=4;
  data.Add(v);

  new(v);
  v^:=2;
  data.Add(v);

  new(v);
  v^:=1;
  data.Add(v);

  new(v);
  v^:=0;
  data.Add(v);

  for i:=0 to data.Count-1 do begin
    Memo1.Lines.Add(IntToStr(Integer(data[i]^)));
  end;
end;

解説

var節の
data:TList;
でTListを定義します。

data:=TList.Create;
でTListのインスタンスを作成します。

new(v);
TListに挿入する変数のメモリを確保します。TListは型のついた変数の配列ではなくポインタの配列であるため、挿入する実体の変数を用意する必要があります。
v^:=10;
変数に値を代入します。
data.Add(v);
TListに変数を追加します。

TListから値を取り出す場合は
data[i]
で要素にアクセスできますが、要素はポインタですので、
Integer(data[i]^)
上記のように^をつけ実体を参照し明示的にキャストする必要があります。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2017-09-12
作成日: 2010-12-31
iPentec all rights reserverd.