AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LastDayofCurrentMonth problem

Ein Thema von rhodan · begonnen am 28. Mai 2014 · letzter Beitrag vom 1. Jun 2014
Antwort Antwort
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#1

LastDayofCurrentMonth problem

  Alt 28. Mai 2014, 19:01
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:
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;
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?

danke

Geändert von rhodan (28. Mai 2014 um 19:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: LastDayofCurrentMonth problem

  Alt 28. Mai 2014, 19:07
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 SameDate.

P.S.: Es gibt keine Else-Schleife, genauso wenig, wie es If-Schleifen gibt
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#3

AW: LastDayofCurrentMonth problem

  Alt 28. Mai 2014, 19:17
danke!!

Code:
if samedate (datum1,LastDayOfCurrentMonth) then
funktioniert...wieder was dazugelernt...ich hatte mich mit ein paar tutorials zum thema TDate beschäftigt aber dieser befehl war nicht dabei...danke Deddy!!
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: LastDayofCurrentMonth problem

  Alt 1. Jun 2014, 18:35
... genauso wenig, wie es If-Schleifen gibt
öh - auch wenn man es nicht machen sollte - natürlich gibt es If-Schleifen!
Whookie

Software isn't released ... it is allowed to escape!
  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
 
#5

AW: LastDayofCurrentMonth problem

  Alt 1. Jun 2014, 19:59
... genauso wenig, wie es If-Schleifen gibt
öh - auch wenn man es nicht machen sollte - natürlich gibt es If-Schleifen!
Ich bitte hier dringend um ein Beispiel, denn AFAIK gibt es die in Delphi nicht.
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
Benutzerbild von himitsu
himitsu

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

AW: LastDayofCurrentMonth problem

  Alt 1. Jun 2014, 20:27
Jupp, denn alles wo man von IF-Schleifen redet, da macht komischer Weise immer ein anderer Befehl die Schleife.
start: Beep; Sleep(100); if true then goto start;

So gesehn kann man alles mit IF nennen, z.B. eine IF-Nachricht (if ... then ShowMessage(...) ) oder ein IF-Rülps (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.
$2B or not $2B

Geändert von himitsu ( 1. Jun 2014 um 20:36 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: LastDayofCurrentMonth problem

  Alt 1. Jun 2014, 20:46
Ich glaube, das mit den angeblichen IF-Schleifen ist nicht mehr auszurotten, manche kämpfen da sehr verbissen drum
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: LastDayofCurrentMonth problem

  Alt 1. Jun 2014, 20:49
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.

Geändert von Dejan Vu ( 1. Jun 2014 um 22:07 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#9

AW: LastDayofCurrentMonth problem

  Alt 1. Jun 2014, 20:51
Da hätte ich doch jetzt gern mal ein Beispiel dafür, wie du mit IF-Konstrukten eine Schleife abbilden willst.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#10

AW: LastDayofCurrentMonth problem

  Alt 1. Jun 2014, 20:54
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.
Für die uneingeweihten: https://www.youtube.com/watch?v=GryQiamGxpY (ab 1:15 etwa)

Liebe Grüße,
Cpt. Obvious
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:19 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