AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigener Kalender bauen

Ein Thema von Dumpfbacke · begonnen am 2. Sep 2016 · letzter Beitrag vom 6. Sep 2016
 
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Eigener Kabender bauen

  Alt 5. Sep 2016, 10:14
Hallo ConnorMcLeod,
danke dür den Code. Das bringt mich schon sehr viel weiter, bzw. vereinfacht das ganze schon einmal.

Vllt mit einer Prozedur, die alles macht und als Parameter die Anzeigeobjekte bekommt...

  ProcessOneDay(Datum, Wochentag, Jan4, Jan4Tag, Jan4Anzahl, FeldJan4);
Jetzt habe ich nur nochein Problem. Ich müste nun beim erzeugen 365 mal die Aufruf starten also etwas so:

Delphi-Quellcode:
 ProcessOneDay(Datum, Wochentag, Jan1, Jan1Tag, Jan1Anzahl, FeldJan1);
 ProcessOneDay(Datum, Wochentag, Jan2, Jan2Tag, Jan2Anzahl, FeldJan1);

 ...

 ProcessOneDay(Datum, Wochentag, Dez30, Dez30Tag, DEZ30Anzahl, FeldDez30);
 ProcessOneDay(Datum, Wochentag, Dez31, Dez31Tag, DEZ31Anzahl, FeldDez31);
Kann man den Code auch noch etwas vereinfach in Form z.B. einer Schleife ?

Tanja
Hallo Tanja,
für deine Frage hätte ich diese Antwort unten ... aber Du könntest Dir auch mal überlegen, Kompenenten selbst abzuleiten.
Ein TDatumsLabel, ein TTagesLabel, ein TKalenderTagesPanel und so weiter. Die bekommen ein zusätzliches Property 'Date' und wenn man ein Datum zuweist, dann richten sie sich selbst darauf ein. Dein TKalender bestünde dann aus TKalenderTagesPanels und der Code wäre etwas übersichtlicher
Delphi-Quellcode:
var
  liDateCounter: integer;
  lsDateString: string;

for liDateCounter := 1 to 365 do begin
  Datum := MachEinSinnvollesDatum(liDateCounter);
  Wochentag := GibMirDenWochenTag(Datum);
  lsDateString := FormatDateTime('mmmd', Datum);
  ProcessOneDay(
      Datum
    , Wochentag
    , TLabel(FindComponent(lsDateString))
    , TLabel(FindComponent(lsDateString + 'Tag'))
    , TLabel(FindComponent(lsDateString + 'Anzahl'))
    , TPanel(FindComponent('Feld' + lsDateString))
    );
end;
)
Nr.1 Delphi-Tool: [F7]

Geändert von ConnorMcLeod ( 5. Sep 2016 um 16:58 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz