2012-11-29 2 views
3

DateTime의 동적 배열을 만들어야하지만, 추가해야 할 날짜를 직접 알지 못합니다. ArrayList를 실험했지만 도움이되지 않습니다.DateTime의 동적 배열을 만드는 방법은 무엇입니까?

그럼 어떻게 Delphi Prism에서 DateTime의 동적 배열을 만드나요?

어떻게 사용하나요?

mydates: array of DateTime; 

UPDATE 1

내가했던 다음과 컴파일러는 이러한 매개 변수에는 오버로드 set_BoldedDates가 없음을 말한다. "나는 mydates을 설정하면

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

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

위의 코드에만 작동 다음과 같습니다 :

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

T 행크스,

+0

'목록 날짜 = 새로운 목록 () : 텍스트 상자는이 결과를 보여줍니다? – LarsTech

+0

@LarsTech, 예, 델피 프리즘의 ArrayList 또는 Delphi의 TList가 될 것입니다. 그러나 DateTime 배열이 필요합니다. 'mydates : array of DateTime'을 수행하면 컴파일러가 오류를 발생시킵니다. – ThN

+0

ArrayList가 도움이되지 않는 이유에 대한 배경 이야기는 무엇입니까? – LarsTech

답변

3

이것은 잘 작동하며 날짜를 올바르게 표시합니다. (참고 :! 구문 분석 오류 또는 범위의 날짜에서 처리 오류가없는이 엄격히 델파이 프리즘 MonthCalendar.BoldedDatesarray of DateTime의 사용을 보여주기 위해 설계되어 있습니다.)

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를 입력 ;`델파이 제네릭이없는

Sample display of bolded dates

+0

Ken. 인터넷 월 캘린더를 사용하고 있지 않지만 인터넷에서 발견 된 타사 usercontrol을 사용하고 있지만 BoldedDates 속성은 두 컨트롤 모두 동일한 방식으로 처리됩니다. .NET MonthCalendar를 사용하지 않는 이유는 굵게 또는 배경색을 설정해야하는 색상으로 변경할 수 없기 때문입니다. 어쨌든 귀하의 답변은 예상대로 작동합니다. 감사. – ThN

관련 문제