Hi,
zu 1)
Delphi-Quellcode:
if (Sender is TMonthCalendar) then
begin
DecodeDate((Sender as TMonthCalendar).Date, Y, M, D);
case Y of
2005 : case M of
1 : (Sender as TMonthCalendar).BoldDays(DynArrRec[0].Months[0].Days, MonthBoldInfo);
2 : (Sender as TMonthCalendar).BoldDays(DynArrRec[0].Months[1].Days, MonthBoldInfo);
end;
end;
end;
zu 2) kein Vorschlag
zu 3)
Delphi-Quellcode:
type
MonthsArr = record
Month: Integer;
Days : Array of LongWord;
end;
DynCalArr = record
Year : Word;
Months : Array of MonthsArr;
end;
var
DynArrRec : Array of DynCalArr;
procedure TForm1.FillDynaArrayRec;
begin
SetLength(DynArrRec, 1); // 1 Jahr
DynArrRec[0].Year := 2005; // 2005
SetLength(DynArrRec[0].Months, 2); // 2 Monate
DynArrRec[0].Months[0].Month := 1; // Januar
SetLength(DynArrRec[0].Months[0].Days, 4); // 4 Tage
DynArrRec[0].Months[0].Days[0] := 1;
DynArrRec[0].Months[0].Days[1] := 8;
DynArrRec[0].Months[0].Days[2] := 17;
DynArrRec[0].Months[0].Days[3] := 25;
DynArrRec[0].Months[1].Month := 2; // Februar
SetLength(DynArrRec[0].Months[1].Days, 1); // 1 Tag
DynArrRec[0].Months[1].Days[0] := 15;
end;
Hätte man mit Hilfe der Hilfe(
BoldDays) und ein bischen Suchen in der
DP (
dynamisches Array) auch selber rauskriegen können.
Also, bessere Dich.
Gruß