![]() |
LastDayofCurrentMonth problem
hi!
ich möchte in einem Label die letzten verfügbaren arbeitstage des aktuellen monats anzeigen lassen, einschliesslich des aktuellen tages. das klappt soweit auch ganz gut, sprich in einem monat mit 31 tagen wird am 30. "2 resttage diesen monat" angezeigt. allerdings wird dies auch beim letzten tag angezeigt..ich hab versucht es so zu lösen:
Code:
der code in der "else" schleife ist der den ich ursprünglich ausführte und der bis auf den letzten tag funktionierte. allerdings wird "datum1 = LastDayOfCurrentMonth" nicht so ausgeführt bzw erkannt wie ich es mir erhofft habe, es wird immer die else schleife ausgeführt..auch am letzten tag...hat jemand nen tip was ich falsch mache?
var
tage: Integer; datum1: TDate; . . . datum1 := now; if datum1 = LastDayOfCurrentMonth then begin tage := DaysBetween(datum1, LastDayOfCurrentMonth)+1; datumlabel.caption.text:=FormatDatetime('d. mmmm yyyy - ', Now)+(inttostr(tage)+' Resttage diesen Monat!') end else begin tage := DaysBetween(datum1, LastDayOfCurrentMonth)+2; datumlabel.caption.text:=FormatDatetime('d. mmmm yyyy - ', Now)+(inttostr(tage)+' Resttage diesen Monat!'); end; danke |
AW: LastDayofCurrentMonth problem
TDate ist intern ein double wie TDateTime, enthält also auch einen Nachkommaanteil, daher schlägt der direkte Vergleich mit ziemlicher Sicherheit fehl. Versuch es doch stattdessen mal mit
![]() P.S.: Es gibt keine Else-Schleife, genauso wenig, wie es If-Schleifen gibt ;) |
AW: LastDayofCurrentMonth problem
danke!! :D
Code:
funktioniert...wieder was dazugelernt...ich hatte mich mit ein paar tutorials zum thema TDate beschäftigt aber dieser befehl war nicht dabei...danke Deddy!! :-D:thumb:
if samedate (datum1,LastDayOfCurrentMonth) then
|
AW: LastDayofCurrentMonth problem
Zitat:
|
AW: LastDayofCurrentMonth problem
Zitat:
|
AW: LastDayofCurrentMonth problem
Jupp, denn alles wo man von IF-Schleifen redet, da macht komischer Weise immer ein anderer Befehl die Schleife.
Delphi-Quellcode:
start: Beep; Sleep(100); if true then goto start;
So gesehn kann man alles mit IF nennen, z.B. eine IF-Nachricht (
Delphi-Quellcode:
) oder ein IF-Rülps (
if ... then ShowMessage(...)
Delphi-Quellcode:
).
if ... then PlaySound('rülps.wav')
Für Schleifen braucht man einen Sprung zurück und in einem IF gibt es immer nur einen Sprung nach vorne, über den Befehl nach dem Then hinweg und mit Else ist es noch Einen mehr. Und wenn man es genau geben will, dann gibt es bei mehreren Bedingungen im IF, über einige der Bedingungen hinweg auch nochmal ein paar Jumps, aber ebenfalls nur nach vorne. |
AW: LastDayofCurrentMonth problem
Ich glaube, das mit den angeblichen IF-Schleifen ist nicht mehr auszurotten,
![]() |
AW: LastDayofCurrentMonth problem
Wartet. Ich habe eine Idee: Nehmen wir an, daß ihr euch darauf einigt, daß ein IF keine Schleife
bekommen kann, weil es keine Schleifenstruktur ist, woran niemand schuld ist, nicht mal die Römer, aber daß es das absolute Recht hat Schleifen auszubilden. Sozusagen symbolisch. Für unser Ringen gegen die Unterdrückung einzelner Befehle. |
AW: LastDayofCurrentMonth problem
Da hätte ich doch jetzt gern mal ein Beispiel dafür, wie du mit IF-Konstrukten eine Schleife abbilden willst.
|
AW: LastDayofCurrentMonth problem
Zitat:
![]() Liebe Grüße, Cpt. Obvious ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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