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 ???

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
sammynrw

Registriert seit: 1. Jul 2014
28 Beiträge
 
#1

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

  Alt 1. Aug 2014, 18:45
Ich brauche den Abrechnungszeitraum des monats Beispiel: 01.08.2014 - 31.08.2014 usw.
für ein Stringgrid.
Angehängte Grafiken
Dateityp: png delphi Screenshoot.png (11,6 KB, 19x aufgerufen)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

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

  Alt 1. Aug 2014, 18:51
Was benötigst du da? Die Anzahl der Tage?

@Perlsau: Das geht dann aber auch wieder nur bis 24.
Ohne weitere Vorgaben des TE kann man hier keine ordentliche Lösung finden. Mir ging es in obigem Beispiel lediglich darum, aufzuzeigen, daß die berechnete Monatsvariable im Code des TE auch einen Wert > 12 annehmen kann.

Geändert von Perlsau ( 1. Aug 2014 um 18:54 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

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

  Alt 1. Aug 2014, 18:52
Schau dich mal, wie von Günther schon genannt, in den Delphi-Referenz durchsuchenDateUtils um. Des Weiteren kannst du zu dem Tag, Monat oder dem Jahr einfach Zahlen addieren. Natürlich musst du aufpassen, dass das errechnete Datum auch ein gültiges Datum ist. Aber ich denke, dass in den DateUtils bereits alles vorhanden ist was du brauchst.
  Mit Zitat antworten Zitat
sammynrw

Registriert seit: 1. Jul 2014
28 Beiträge
 
#4

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

  Alt 1. Aug 2014, 18:55
erste tag des monats und der letzte tag des monats ...

aber er rechnet nur bis zum November ... dann kommt die fehler meldung
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 1. Aug 2014, 18:59
aber er rechnet nur bis zum November ... dann kommt die fehler meldung
Und nun lies dir nochmal die alle Antworten durch, denn der Grund wurde mehrfach erklärt und sogar Lösungen genannt.

Auch ein Blick in Delphi-Referenz durchsuchenEncodeDate (siehe VALID/ZULÄSSIG) kann nicht schaden.
Ein Therapeut entspricht 1024 Gigapeut.

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

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

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
 
#7

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
Perlsau
(Gast)

n/a Beiträge
 
#8

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
44.401 Beiträge
 
Delphi 12 Athens
 
#9

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.
Ein Therapeut entspricht 1024 Gigapeut.

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

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

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

  Alt 1. Aug 2014, 18:54
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:55 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