AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Vergleichen von TDate mit DateTimePicker
Thema durchsuchen
Ansicht
Themen-Optionen

Vergleichen von TDate mit DateTimePicker

Ein Thema von ickehausen · begonnen am 12. Mär 2012 · letzter Beitrag vom 13. Mär 2012
Antwort Antwort
ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#1

Vergleichen von TDate mit DateTimePicker

  Alt 12. Mär 2012, 17:19
Hallo,

ich bin am verzweifel, weil ich den Wald vor lauter Bäumen nicht sehe.
Folgendes Problem:

Zwei DateTimePicker mit dem gleichen Datum (einer für Begin und einer für End), eine Variable vom Typ TDate, ebenfalls das gleiche Datum wie die DateTimePicker z. B. 12.03.2012.

Nun soll abgefragt werden, ob sich die Variable im Bereich zwischen Begin und End befindet. Ich mache dies über eine If-Abfrage:

Delphi-Quellcode:
if (DateTest <= DTPEnd.Date) and (DateTest >= DTPBegin.Date) then
      begin
Das lustige ist, obwohl alle drei Werte, also DateTest, DTPEnd.Date und DTPBegin.Date identisch sind, zumindest laut der Liste der überwachten Ausdrücke, gibt mir (DateTest <= DTPEnd.Date) ein TRUE und (DateTest >= DTPBegin.Date) ein FALSE zurück?!
Kann mir jemand sagen warum? Müsste (DateTest >= DTPBegin.Date) mir nicht auch ein TRUE zurückgeben?

Gruß
Frank
Es gibt keine dummen Fragen ...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Vergleichen von TDate mit DateTimePicker

  Alt 12. Mär 2012, 18:29
In der Eigenschaft .Date wird leider eine voller Timestamp zurückgegeben versuch es mal mit Trunc (Picker.Date)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Vergleichen von TDate mit DateTimePicker

  Alt 12. Mär 2012, 18:30
In TDateTimePicker.Date steht leider nicht nur das Datum, sondern auch eine Uhrzeit. Versuch es einmal mit
Delphi-Quellcode:
var
  Startdate, EndDate: TDateTime;
begin
  StartDate := trunc(DTPBegin.Date);
  EndDate := trunc(DTPEnd.Date) + frac(EncodeTime(23, 59, 59, 999));
  if (DateTest <= EndDate) and (DateTest >= StartDate) then
    //Dein Code
end;
Aus dem Kopf, daher ungetestet.

[edit] Markus war schneller, dafür ich ausführlicher [/edit]
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

Geändert von DeddyH (12. Mär 2012 um 18:31 Uhr) Grund: Frac vergessen
  Mit Zitat antworten Zitat
ickehausen

Registriert seit: 29. Jul 2004
85 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Vergleichen von TDate mit DateTimePicker

  Alt 13. Mär 2012, 07:36
Danke an Euch, das war es. Mich wunderte es nur, da in beiden DateTimePickern genau das Gleiche steht, das die ein Abfrage TRUE und die andere FALSE ist. Aber ich glaube jetzt verstanden zu haben, dass es an die Operationszeichen liegt!

Nochmnals Danke!!!
Es gibt keine dummen Fragen ...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Vergleichen von TDate mit DateTimePicker

  Alt 13. Mär 2012, 08:01
Das liegt nicht an Operationszeichen, sondern am Nachkommaanteil (= Uhrzeit) des jeweiligen Datums.
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
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 10:39 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