動的配列を使う

(Delphi 4 以降) Delphi 4 で新しく導入された動的配列の簡単な使い方です。配列を定義する際は SetLength手続き を使用します。宣言する際は配列数を記述しません。

■ 動的配列を使用する例
  //動的配列サンプル1
  //今月の日数分配列を用意し、日付を代入します。
  //ただそれだけ。
  procedure TForm1.Button1Click(Sender: TObject);
  var
    aryDay    : array of  TDateTime;
    datNow    : TDateTime;
    YY,MM,DD  : word;
    intLast   : integer;
    ix        : integer;
  begin
    //今月の末日を求める
    datNow    :=    Now;
    DecodeDate(Now, YY, MM, DD);
    datNow    :=    EncodeDate(YY, MM, 1);
    datNow    :=    IncMonth(datNow, 1) - 1;
    DecodeDate(datNow, YY, MM, DD);
    intLast   :=    DD;

    //末日の分だけ配列をつくる
    //※SetLengthでは配列の数を指定する!
    SetLength(aryDay, intLast);

    //日付を代入
    for   ix      :=  0   to    High(aryDay) do  begin   
      aryDay[ix]  :=  EncodeDate(YY, MM, ix + 1);
      Memo1.Lines.Add(DateToStr(aryDay[ix]));
    end;
  end;