Hab' gerade nochmal ein bisserl rumgesucht und noch was gefunden, was für die bisherige Namensvergabe der Komponenten passen könnte:
Delphi-Quellcode:
procedure ProcessOneDay(ADate: TDate);
var
fFormatSettings : TFormatSettings;
sName : String;
lbDate : TLabel;
lbDay : TLabel;
lbFeld : TLabel;
lbCount : TLabel;
begin
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT,fFormatSettings);
sName := FormatDateTime('mmmd',ADate,fFormatSettings);
lbDate := FindComponent(sName);
if not Assigned(lbDate) then Exit; // oder 'ne Fehlermeldung
lbDay := FindComponent(Format('%sTag',[sName]));
if not Assigned(lbDay) then Exit; // oder 'ne Fehlermeldung
lbFeld := FindComponent(Format('Feld%s',[sName]));
if not Assigned(lbFeld) then Exit; // oder 'ne Fehlermeldung
lbCount := FindComponent(Format('%sAnzahl',[sName]));
if not Assigned(lbCount) then Exit; // oder 'ne Fehlermeldung
Case DayOfWeek(ADate) of
6,7 : begin
lbDate.Font.Style := [fsBold];
lbDay.Font.Style := [fsBold];
lbFeld.Color := clWebBISQUE
end;
end;
if (EmptyStr <> Feiertage.IstFeiertag(ADate)) then begin
lbDate.Font.Style := [fsBold];
lbDay.Font.Style := [fsBold];
lbFeld.Color := clWebBISQUE;
lbDate.Font.Color := clRed;
lbDay.Font.Color := clRed;
lbCount.Left := 50;
lbCount.Width := 55;
lbCount.Alignment := taLeftJustify;
lbCount.Font.Color := clRed;
lbCount.Font.Size := 7;
lbCount.Top := 1;
lbCount.Caption := Feiertage.IstFeiertag(ADate);
end;
if Feiertage.IstFerientag(ADate) then begin
lbFeld.Color := clYellow;
end;
end;
var
i : Integer;
begin
For i := Trunc(StrToDate('01.01.2016')) to Trunc(StrToDate('31.12.2016')) do begin
ProcessOneDay(i);
end;
// oder ab heute für 365 Tage
For i := Trunc(Now) to Trunc(Now + 365) do begin
ProcessOneDay(i);
end;
end;