![]() |
Delphi-Version: 5
DaysInAMonth vs. DaysInMonth
Liste der Anhänge anzeigen (Anzahl: 1)
Hi zusammen
Ich bearbeite gerade ein Uraltprogramm, das ich seinerzeit mit Delphi2007 zuletzt gespeichert habe - aktuell gibt mir eine Methode in einem Stringgrid einen vollen Monat ab einem gegebenen Datum aus, wobei die volle Woche auch dann ausgegeben wird, wenn das gegebene Datum (immer der erste des gewünschten Monats) ein Freitag oder sogar ein Sonntag ist(ähnlich der VCL-Komponente). Berechnet werden Wochen ausschliesslich mit dem Montag als Starttag. Noch unbestimmt ist allerdings das Ende des angezeigten Monats. Die Prozedur:
Delphi-Quellcode:
Das sieht dann so aus:
procedure Ta.BtnZweiHorzWeeksMontagClick(Sender: TObject);
var i,j,y, Nr,x : Integer; Jahr,Woche: Word; Today : String;ADate,Datum:TDateTime; begin ADate := DateTimePicker2.Date; //Übergeben des Anfangdatums Nr := DayofTheWeek(ADate); //Tagesnummer ermitteln : 1. Wochentag := Montag Today := Wochentage[(NR-(NR-1))]; Datum := (ADate-(NR-1)); i := 0; j := 2; x := 1; y :=1; while i <=6 do // Dies schreibt 7 Wochenblöcke ins Stringgrid begin inc(i); while j <= 8 do begin if j = 2 then begin DateToWeek(Datum, Woche, Jahr); StrG_HoizontalWochen.Cells[y,x] := 'Woche '+IntToStr(Woche); {1 ist die Spalte, X ist die Zeile} end; StrG_HoizontalWochen.Cells[0,j]:= Today; StrG_HoizontalWochen.Cells[y,j]:= DateToStr(Datum); Inc(j); Datum := Datum +1; Nr := DayofTheWeek(Datum); //Tagesnummer ermitteln : 1. Wochentag Montag Today := Wochentage[Nr]; end; Inc(y); j := 2; end; end; Anhang 53224 In diesem Fall ist der letzte Januar bereits in der zweitletzten Woche und die restlichen Tage als die des Folgemonats eingetragen. Es dürften allerdings nur gerade die letzen Tage der letzten Woche bis zum Monatsende eingetragen sein - so, wie es in TMonthCalendar gelöst ist. Da bieten sich nun die beiden Funktionen aus dem Titel an. Wobei die eine allerdings expliziit das Jahr und den Monat benötigt und die andere nur gerade einen TDateTime-Wert. Kann es sein, dass sich die beiden in der Zuverlässigkeit unterscheiden(29. Februar)? Gruss Delbor |
AW: DaysInAMonth vs. DaysInMonth
DaysInMonth ruft intern DaysInAMonth auf.
Sollte also kein Unterschied sein. |
AW: DaysInAMonth vs. DaysInMonth
Hi bcvs
Vielen Dank! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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