Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datumsvergleich (https://www.delphipraxis.net/64090-datumsvergleich.html)

mlspider 27. Feb 2006 10:50


Datumsvergleich
 
Hallo,

zur Überprüfung von Rechnungen und dessen Fälligkeiten, möchte ich nun das Solldatum mit dem aktuellem Datum vergleichen und gegebenfalls bei Überschreitung des Solldatums eine Warnmeldung ausgeben lassen.

Angenommen eine Rechnung wäre zum 02.02.2006 fällig gewesen und die Zahlungsfrist betrug 14 Tage, dann sollte ab dem 14. Tag das Programm mit jeder Prüfung Alarm schlagen. Wie könnte eine solche Abfrage aussehen.

Ich hoffen das mein Problem verständlich genug ist.

Danke.

stonimahoni 27. Feb 2006 11:07

Re: Datumsvergleich
 
Hi...

sowas ähnliches benutze ich auch.

Habe mal den für Dich wichtigsten teil reinkopiert :



SQL-Code:

+ 'WHERE (((fälligleitsdatum)<(Date()-[zahlungsfrist]))) '



Hoffe Du kannst was mit anfangen.


MFG


Carsten

mlspider 27. Feb 2006 11:09

Re: Datumsvergleich
 
Es handelt sich zwar wirklich um eine Datenbankapplikation, aber wie könnte das ohne SQL aussehen?

SirThornberry 27. Feb 2006 11:12

Re: Datumsvergleich
 
datumswerte sind nix anderes als "Kommazahlen", vor dem Komma steht der Taganteil und nach dem Komma der Zeitanteil.
mit Trunc(Date) bekommst du also als Ganzzahl das Datum. Und diese Werte kannst du ohne Probleme wie jeden anderen Integer auch vergleichen.

Da deine Informationen jedoch nicht sehr reichthalting waren bin ich einfach davon ausgegangen das du mit TDateTime arbeitest.

mlspider 27. Feb 2006 11:16

Re: Datumsvergleich
 
Da schließt sich der Kreis. Das Datum in eine Ganzzahl formatieren?
Dann wäre es problemlos möglich über < bzw. > zu vergleichen.

SirThornberry 27. Feb 2006 11:19

Re: Datumsvergleich
 
genau, da dich der nachkommateil (die zeit) bei deinem Problem nicht wirklich interessiert (außer du machst minutengenaue Rechnungen und Mahnungen) kannst du auch einfach den zeitteil weg schneiden und den Ganzzahlen Teil (Integer) dann mit "<", ">", "=" etc. vergleichen.

mlspider 27. Feb 2006 11:23

Re: Datumsvergleich
 
Der Zeitanteil ist mir relativ egal. Wäre ja auch sehr penibel. Und jetzt die selten dämliche Frage, wie konvertiert man nur TDateTime zu Integer?

SirThornberry 27. Feb 2006 11:25

Re: Datumsvergleich
 
da du nur den Ganzzahlen Anteil benötigst schneidest du einfach den Nachkommazeil ab. Also so:
Delphi-Quellcode:
var LDatumUndZeit: TDateTime;
    LDatum: Integer;
begin
  LDatumUndZeit := Now();
  LDatum := Trunc(LDatumUndZeit);

mlspider 27. Feb 2006 11:27

Re: Datumsvergleich
 
OK, ich danke Dir recht herzlich. Bis zum nächsten Aufhänger in meiner Applikation. :mrgreen:

Mavarik 28. Feb 2006 10:12

Re: Datumsvergleich
 
Wie wäre es mit

function DaysBetween(const ANow, AThen: TDateTime): Integer;

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr.
Seite 1 von 2  1 2      

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