Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#14

AW: Eigener Kalender bauen

  Alt 3. Sep 2016, 17:41
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;
  Mit Zitat antworten Zitat