Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Brauche Hilfe zu TMonthCalendar (https://www.delphipraxis.net/11104-brauche-hilfe-zu-tmonthcalendar.html)

orion3000 31. Okt 2003 08:51


Brauche Hilfe zu TMonthCalendar
 
Hallo zusammen,

ich habe eine Datenbank erstellt in der ein Datumswert, automatisch, auf den letzten Tag des aktuellen Monats gestellt werden soll.
Auch wenn der aktuelle Tag der 10.05.2003 wäre.


Denn ich weiß ja nicht ob nun der aktuelle Monat 30, 31, 28 Tage hatt.

Gibt es eine Funktion oder ähnliches mit der man so etwas berechnen kann.


Gruß
Orion3000

Treffnix 31. Okt 2003 08:54

Re: Brauche Hilfe zu TMonthCalendar
 
Code:
EndofaMonth()
gibt dir die absolut letzte ms des Monats zurück

Sharky 31. Okt 2003 09:10

Re: Brauche Hilfe zu TMonthCalendar
 
Hai orion3000,

mache dir doch einfach ein Array [1..12] Of Byte mit den Monatstagen.

Zitat:

Zitat von Treffnix
Code:
EndofaMonth()

Diese Datumsfunktion(en) sind erst ab D6 vorhanden soweit ich weiss.

himitsu 31. Okt 2003 09:12

Re: Brauche Hilfe zu TMonthCalendar
 
In 'nem Schaltjahr gibt es sogar noch einen 29-Tage-Monat. :zwinker:

Das hier hatte ich mal nach dem gregorianisch-julianischen Kalender (des ist der aktuelle) erstellt.
(das stimmt etwas seit dem 15. Jahrhundert (1583 in Deutschand) bis ...)
Delphi-Quellcode:
Function TageImMonat(Monat, Jahr: Integer): Integer;
  Begin
    Case Monat of
      1, 3, 5, 7, 8, 10, 12: Result := 31;
      4, 6, 9, 11: Result := 30;
      2: If ((Jahr div 4 = 0) and (Jahr div 100 <> 0)) or (Jahr div 400 = 0) Then
           Result := 29 Else Result := 28;
      Else Result := -1;
    End;
  End;

orion3000 31. Okt 2003 09:43

Re: Brauche Hilfe zu TMonthCalendar
 
Einmal vielen Dank für Eure schnelle Hilfe.

@himitsu deine Function habe ich eingebaut und es Funktioniert endlich.

Gruß Orion3000

himitsu 14. Nov 2003 11:10

Re: Brauche Hilfe zu TMonthCalendar
 
Hab bei mir 'nen kleine Fehler entdekt. :oops:
(DIV zu MOD geändert)

Delphi-Quellcode:
Function TageImMonat(Monat, Jahr: Integer): Integer;
  Begin
    Case Monat of
      1, 3, 5, 7, 8, 10, 12: Result := 31;
      4, 6, 9, 11: Result := 30;
      2: If ((Jahr mod 4 = 0) and (Jahr mod 100 <> 0)) or (Jahr mod 400 = 0) Then
           Result := 29 Else Result := 28;
      Else Result := -1;
    End;
  End;


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 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