3

DateTimeの動的配列を作成する必要がありますが、追加する必要のある日付の数が事前にわかりません。ArrayListを試してみましたが、役に立ちません。

では、Delphi PrismでDateTimeの動的配列をどのように作成しますか?

これはあなたのやり方ですか?

mydates: array of DateTime;

更新1

私は次のことを行いましたが、コンパイラーは、これらのパラメーターでオーバーロードされたset_BoldedDatesはないと言っています。」

  mydates:ArrayList;
  mydates := new ArrayList;
  mydates.Add(new DateTime(2012,11,23));

  DataCalendar.BoldedDates := mydates; //also I did mydates.ToArray caused error.

上記のコードは、mydatesを次のように設定した場合にのみ機能します。

const
mydates : Array[0..1] of DateTime = [new DateTime(2012,11,23), new Datetime(2012,11,13)];

ありがとう、

4

1 に答える 1

3

これは私にとっては問題なく機能し、日付を正しく表示します。(注:エラーの解析や日付の範囲外のエラー処理はありません!これは、Delphi Prismでのarray of DateTimewithの使用を示すために厳密に設計されています。)MonthCalendar.BoldedDates

method MainForm.button2_Click(sender: System.Object; e: System.EventArgs);
var
  Dt: array of System.DateTime;
  TheSize: Int32;
begin
  TheSize := Int32.Parse(textBox1.Text);

  Dt := new System.DateTime[TheSize];
  for i: Int32 := 0 to TheSize - 1 do
    Dt[i] := new DateTime(2012, 11, i + 4);

  monthCalendar1.BoldedDates := Dt;  
end;

テキストボックスに入力するテスト5は、次の結果を示しています。

太字の日付の表示例

于 2012-11-30T00:01:40.583 に答える