Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datum : Datum vom vorherigen Tag ermitteln (https://www.delphipraxis.net/5274-datum-datum-vom-vorherigen-tag-ermitteln.html)

1PM 30. Mai 2003 18:23


Datum : Datum vom vorherigen Tag ermitteln
 
Hallo!

Wie kann ich den Tag zuvor von Date ermitteln? Gibt es einen Befehl?

Vielen Dank im vorraus!

Gruß 1PM

Christian Seehase 30. Mai 2003 18:47

Moin 1PM,

wenn Du Dir man den Datentyp TDateTime genauer anschaust, wirst Du feststellen könne, dass es sich hierbei nur um einen Double Wert handelt, bei dem die Vorkommastellen die Tage betreffen, und die Nachkommastellen die Tageszeit.

Delphi-Quellcode:
ShowMessage(DateToStr(now-1));
gibt Dir, demzufolge, den Vortag des aktuellen Datums aus

1PM 30. Mai 2003 19:13

Danke für den Tip!

Es handelt sich hierbei um einen Vergleich mit calendar.Date!

Allerdings fkt. der Vergleich mit
Delphi-Quellcode:
if (calendar.date=now-1)
nicht!

Stanlay Hanks 30. Mai 2003 19:21

Du meinst, du hast eine Kalender Komponente, oder?

1PM 30. Mai 2003 19:23

ja genau!

APP 30. Mai 2003 19:29

Hallo
Delphi-Quellcode:
MonthCalendar1.Date := (date-1);
funkt bei mir...

[EDIT]
Delphi-Quellcode:
MonthCalendar1.Date := (now-1);
aber auch...
mit dem eingebauten TMonthCalendar von Delphi
[/EDIT]

1PM 30. Mai 2003 19:33

Delphi-Quellcode:
if (calendar.Date>date) and (calendar.date<(now-1))
Fkt. mit dem Calendar bei mir nicht!

APP 30. Mai 2003 19:42

Hallo,
aber wie kann
Code:
wenn (DeinDatum > Heute) UND (DeinDatum < Gestern)
ein Datum zugleich größer als heute und kleiner als gestern sein?

1PM 30. Mai 2003 19:44

Damit kann nur der Tag heute und gestern ausgewählt werden! (im Else-Block)

Stanlay Hanks 30. Mai 2003 19:49

Dann musst du aber OR nehmen und nicht AND.

1PM 30. Mai 2003 19:52

:?:

Denk mal drüber nach!

1PM 30. Mai 2003 19:53

Delphi-Quellcode:
  if (calendar.Date>date) and (calendar.date<(now-1)) and (frmmain.Einstellungen1.Visible=false)
    then
      begin //
        messagedlg('Sie besitzen keine Rechte diesen Tag auszuwählen!', mtWarning, [mbOk], 0);
        exit;
      end;


So... das ist der ganze Quelltext!

Stanlay Hanks 30. Mai 2003 19:57

Sorry, aber ich kapier absolut nicht, was du meinst. Du willst, dass man entweder den heutigen, oder den Gestrigen Tag auswählen kann oder?

Un du fragst ob Das Datum im Kalender größer als das aktuelle Datum ist, und ob zugleich das Kalender Datum kleiner ist, als das gestrige.

Ich würde sagen, du meinst das so:

Delphi-Quellcode:
 if ((calendar.Date>date) OR (calendar.date<(now-1))) and (frmmain.Einstellungen1.Visible=false)
    then
       ...

Ansonsten kapier ich nicht, was du willst.

flomei 30. Mai 2003 19:59

Das geht doch auch nur so wie Stanlay das gemacht hat. So würd ich das auch machen.

MfG Florian :hi:

1PM 30. Mai 2003 20:01

Also:


Ich möchte, das der Benutzer lediglich den heutigen und den gestrigen Tag auswählen kann! Mehr nicht!

Stanlay Hanks 30. Mai 2003 20:02

Dann nimm das, was ich oben geschrieben hab!

flomei 30. Mai 2003 20:04

Delphi-Quellcode:
if
  Calendar.Date > Date
or
  Calendar.Date < Date
then
  //was weiss ich was er machen soll
else
  ...
end;
Das sollte dann so aussehen.

MfG Florian :hi:

Stanlay Hanks 30. Mai 2003 20:05

Zitat:

Zitat von flomei
Delphi-Quellcode:
if
  Calendar.Date > Date
or
  Calendar.Date < Date
then
  //was weiss ich was er machen soll
else
  ...
end;
Das sollte dann so aussehen.

MfG Florian :hi:

Wenn er das so macht, kann er jedes beliebige Datum auswählen!

1PM 30. Mai 2003 20:06

Allerdings klappt das mit dem NOW nicht! :roll:

flomei 30. Mai 2003 20:07

Oh ja. :oops:
Delphi-Quellcode:
if
  Calendar.Date = Date -1
or
  Calendar.Date = Date +1
then
//und so weiter...
So besser ?!

MfG Florian :hi:

Stanlay Hanks 30. Mai 2003 20:09

Das hab ich auch grade festgestellt

Stanlay Hanks 30. Mai 2003 20:10

Flomei hat Recht. Wenn man jetzt noch Klammern um die Ausdrücke macht und beim ersten Date das "-1" weglässt, dann gehts.

1PM 30. Mai 2003 20:13

Die Lösung:

Delphi-Quellcode:
if (calendar.Date>date) or (calendar.date<(date-1)) and (frmmain.Einstellungen1.Visible=false)
    then


Es war eine lange und schwere Geburt!

Danke Jungs! :hello:


Gruß 1PM

flomei 31. Mai 2003 00:31

Freut mich das ich mit meinem bescheidenen Wissen helfen konnte. :D

MfG Florian :hi:


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