![]() |
Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Hallo Delphi Freunde
Ich habe ein Problem fortlaufende Monate zu berechnen. Beispiel: Vertragsbeginn am 1.8.2014 Vertragsende 1.8.2015
Delphi-Quellcode:
function monatsberechnung(monatfeld: Integer): TDate;
var jahr, monat, tag: word; Tage : Integer; begin decodedate(now, jahr, monat, tag); tage := tag; jahr := jahr ; monat := monat-1; tag := tag - tage+2; result := encodedate(jahr, monat + monatfeld, tag) - 1; end;
Delphi-Quellcode:
Jetzt lasse ich eine Schleife laufen:
function letztertagdesmonats(plusminusmonat : Integer): TDate;
var y, m, d: word; begin decodedate(now, y, m, d); m := m + 1; if m > 12 then begin y := y + 1; m := m; End; result := encodedate(y, m + plusminusmonat, 1)-1 ; end;
Delphi-Quellcode:
ich bekomme folgende Datum Werte berechnet:
for i := 1 to Anzahl do
Form1.rzstringgrid1.Cells[1,i] := DateToStr(monatsberechnung(2))+' - ' + DateToStr(letztertagdesmonats(i)) ; 01.09.2014 - 30.09.2014 01.10.2014 - 31.10.2014 01.11.2014 - 30.11.2014 Danach bekomme ich eine Nachricht: Ungültiges Argument zum Codieren des Datum Was mache ich falsch ... ich verzweifel langsam :( |
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Vielleicht wäre es ganz nützlich, in
Delphi-Quellcode:
mal zu überprüfen, ob da für den Monat ein Wert > 12 herauskommt:
function monatsberechnung
Delphi-Quellcode:
Nachfrage:
monat := monat + monatfeld;
if monat > 12 then begin monat := monat - 12; Inc(jahr) end; result := encodedate(jahr, monat, tag) - 1; Worum geht's eigentlich? Vielleicht gibt es eine einfachere Lösung für die eigentliche Aufgabe? |
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Hallo-
Die Methoden
Delphi-Quellcode:
und
StartOfTheMonth(TDateTime)
Delphi-Quellcode:
kennst du aber, oder?
EndOfTheMonth(TDateTime)
|
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Jupp.
Wieviele Monate hat nochmal ein Jahr? Und bei mehr ist das "Datum" Natürlich ungültig. Also mußt du, bei dieser Vorgehensweise, den Monateswert (z.B. via MOD) auf 1 bis 12 begrenzen und den Überlauf (DIV) zum Jahr dazurechnen. @Perlsau: Das geht dann aber auch wieder nur bis 24. :zwinker: Entweder als Schleife, oder mathematisch. ![]() |
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Liste der Anhänge anzeigen (Anzahl: 1)
Ich brauche den Abrechnungszeitraum des monats Beispiel: 01.08.2014 - 31.08.2014 usw.
für ein Stringgrid. |
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Was benötigst du da? Die Anzahl der Tage?
Zitat:
|
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Schau dich mal, wie von Günther schon genannt, in den
![]() |
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
In den beiden letzten Posts, vor deiner letzten Antwort, stehen alle Funktionen, welche man für alle Datums- und Zahlenwerte auf deinem Bild benötigt. :roll:
|
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
erste tag des monats und der letzte tag des monats ...
aber er rechnet nur bis zum November ... dann kommt die fehler meldung :( |
AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Zitat:
Auch ein Blick in ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 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 by Thomas Breitkreuz