AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???
Thema durchsuchen
Ansicht
Themen-Optionen

Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???

Ein Thema von sammynrw · begonnen am 1. Aug 2014 · letzter Beitrag vom 1. Aug 2014
Antwort Antwort
Seite 2 von 2     12   
Perlsau
(Gast)

n/a Beiträge
 
#11

AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???

  Alt 1. Aug 2014, 19:01
erste tag des monats und der letzte tag des monats ...

aber er rechnet nur bis zum November ... dann kommt die fehler meldung
Hast du überhaupt gelesen, was bisher gepostet wurde? Und wenn ja, hast du daran etwas nicht verstanden? Nicht nur ich habe doch bereits ausführlich erläutert, weshalb ein ungültiges Datum entsteht, wenn du einfach Monate addierst, ohne zu überprüfen, ob da nicht ein Wert > 12 herauskommt. Ich weiß ja nicht, wie es sich dort, wo du lebst, verhält, aber hier wo ich lebe hat ein Jahr genau 12 Monate. Einen Monat mit der Nummer 13 gibt es nicht. Auch keinen mit der Nummer 14 oder 15. Ist der Groschen jetzt gefallen?

Wenn du den ersten und den letzten Tag eines Monats benötigst, ist das einfach: der erste Tag ist immer der 1. Der letzte Tag ist der DaysInAMonth. Diese Funktion hatte ich in 10 Sekunden als die richtige erkannt, nachdem ich in der Suchmaske zur Delphi-Referenz einfach Dateutils eingegeben hatte.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#12

AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???

  Alt 1. Aug 2014, 19:07
PS: Dein letztertagdesmonats ist auch noch defekt.
Schau mal genau in deinen IF-Block rein, genau auf den Monat.

(oder verwende einfach die vorhandenen funktionierenden Funktionen der RTL)



Genau deswegen knallt es bereit im Dezember.
Und dann nochmal das bereits genannte Problem, ab der 13. Monatsmiete, da ebenfalls über 12 Monate als Differenz.


Alle Probleme würde man auch gut durch Debuggen finden, indem man sich mal anschaut, was bei den Berechnungen eigentlich raus kommt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 1. Aug 2014 um 19:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#13

AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???

  Alt 1. Aug 2014, 19:17
Hallo,

das hier ist doch viel rumgerechnet um nichts:

Delphi-Quellcode:
function monatsberechnung(monatfeld: Integer): TDate;
var
   jahr, monat, tag: word;
   Tage : Integer;
begin
{...}

   tage := tag;
{...}
    tag := tag - tage+2;

{...}
end;
Tag ist so ja immer 2
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#14

AW: Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???

  Alt 1. Aug 2014, 19:33
Erster Tag des Monats (Tag 1 vom aktuellen Monat und Jahr)
Delphi-Quellcode:
function GetFirstDateOfMonth( ADate : TDate ) : TDate;
var
  LYear, LMonth, LDay : word;
begin
  DecodeDate( ADate, LYear, LMonth, LDay );
  Result := EncodeDate( LYear, LMonth, 1 );
end;
Letzter Tag des Monats (ein Tag vor dem 1. Tag des nächsten Monats)
Delphi-Quellcode:
function GetLastDateOfMonth( ADate : TDate ) : TDate;
begin
  Result := IncDay( IncMonth( GetFirstDateOfMonth( ADate ), 1 ), -1 );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz