Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Datum auslesen und in If-Befehl einbinden (https://www.delphipraxis.net/80359-datum-auslesen-und-if-befehl-einbinden.html)

Cheffu 7. Nov 2006 22:03


Datum auslesen und in If-Befehl einbinden
 
Hallo
Erstmal gleich am Anfang: Ich habe noch keine sehr großen Kentnisse was Delphi betrifft. Nur aus der Schule kann ich einige grundlegende Dinge.
Meine Frage:
Ich will einen Kalender bauen, der automatisch das Datum des Systems ausliest und falls ein bestimmtes Datum ist, soll eine bestimmte Meldung kommen.
Ich habe mir gedacht das man dies irgendwie realisieren kann indem man die Zeit ausliest und dann einfach mit einem if-Befehl die Anzeige Koppelt. Dabei ist natürlich erstmal wichtig zu wissen wie ein Datum in Delphi in einer Variablen aussieht.

Schonmal Danke für Antworten

Balu der Bär 7. Nov 2006 22:06

Re: Datum auslesen und in If-Befehl einbinden
 
Delphi-Quellcode:
var
  meinDatum: TDate;

...

meinDatum := Date(now);
In der Delphi-Hilfe steht eine Menge drin, was dich interessieren dürfte. :zwinker:

Cheffu 7. Nov 2006 22:12

Re: Datum auslesen und in If-Befehl einbinden
 
Zitat:

Zitat von Balu der Bär
Delphi-Quellcode:
var
  meinDatum: TDate;

...

meinDatum := Date(now);
In der Delphi-Hilfe steht eine Menge drin, was dich interessieren dürfte. :zwinker:

Erstmal danke füpr die Antwort. Im moment habe ich die Software leider nur in der Schule, deshalb aknn ich da grad schlecht schauen.

wie müsst dann der if Befehl lauten?
ich müsste ja quasi machen if meinDatum=wunschDatum then
aber wie kann ich die Variable Wunschdatum mit einem Datum belegen?

3_of_8 7. Nov 2006 22:14

Re: Datum auslesen und in If-Befehl einbinden
 
Dafür gibts Delphi-Referenz durchsuchenEncodeDate.

Cheffu 21. Nov 2006 15:46

Re: Datum auslesen und in If-Befehl einbinden
 
Also inzwischen weis cih wie cih selbst ein Datum eingebe un dies mit einem anderen das ich slebst eingebe vergleichen kann.

Ich schaffe es aber nicht das aktuelle Datum auszulesen. Wenn ich den beschriebenen Quellcode:

Delphi-Quellcode:
var
  meinDatum: TDate;

...

meinDatum := Date(now);
eingebe, dann bringt er die Fehlermeldung: zu vielen Parameter.
Weis jemand die Lösung dieses Problems?

shmia 21. Nov 2006 16:41

Re: Datum auslesen und in If-Befehl einbinden
 
1.) zur Eingabe deines Wunschdatums nimmst du am Besten die Komponente "TDateTimePicker" auf der Palettenseite "Win32"
2.) die Funktion "Date()" liefert das aktuelle Systemdatum, die Funktion Now() liefert das Systemdatum inklusive Uhrzeit
3.) Datumsvergleich:
Delphi-Quellcode:
if Int(DatetimePicker1.Date) = Date then
   ShowMessage('es ist soweit. '+DateToStr(Date));
4.) das Codeschnippsel von Balu war so nicht ganz richtig
5.) Es gelten folgende Zusammenhänge:
Now() ist das Gleiche wie Date()+Time()
Date() ist das Gleiche wie Int(Now()). Int() liefert die Vorkommastellen.
Time() ist das Gleiche wie Frac(Now()) Frac() liefert die Nachkommastellen.
Time() liegt zwischen 0.0 bis 0.99999999999999999

<edit>bugfix wegen Fehler in Datetimepicker</edit>

marabu 21. Nov 2006 16:56

Re: Datum auslesen und in If-Befehl einbinden
 
Hallo Andreas,

Delphi-Quellcode:
// if DatetimePicker1.Date = Date then
if Trunc(DatetimePicker1.Date) = Date then
   ShowMessage('es ist soweit. ' + DateToStr(Date));
erst vor kurzem hat Hawkeye darauf hingewiesen, dass sich TDateTimePicker.Date() und SysUtils.Date() bzgl. des Zeitanteils nicht gleich verhalten: klick

Freundliche Grüße

Cheffu 21. Nov 2006 21:35

Re: Datum auslesen und in If-Befehl einbinden
 
Zitat:

Zitat von marabu
Hallo Andreas,

Delphi-Quellcode:
// if DatetimePicker1.Date = Date then
if Trunc(DatetimePicker1.Date) = Date then
   ShowMessage('es ist soweit. ' + DateToStr(Date));
erst vor kurzem hat Hawkeye darauf hingewiesen, dass sich TDateTimePicker.Date() und SysUtils.Date() bzgl. des Zeitanteils nicht gleich verhalten: klick

Freundliche Grüße

Hallo Marabu
Danke für den Link. Wie es dort geschrieben wurde ist es wirklich sehr leicht umzusetzen :)

Danke an alle


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