Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Decodedate(..) und IntToStr(Tag) = 0 >>> Warum? (https://www.delphipraxis.net/72577-decodedate-und-inttostr-tag-%3D-0-warum.html)

PASST 3. Jul 2006 12:15


Decodedate(..) und IntToStr(Tag) = 0 >>> Warum?
 
Hi NG.

Delphi 4 (update 3)

Ich habe mal wieder ein seltsames Problem.

Ich lese das aktuelle Datum mit DecodeDate() aus und schreibe es nachher als Text für die drei Word-Werte Jahr, Monat und Tag zurück. Allerdings erhalte ich dann für IntToStr(Tag) = 0 und nicht den aktuellen Tag. Das ist unabhängig davon ob heute eine ein- oder zweistellige Tageszahl ist. Der Word-Wert für Tag ist aber richtig. Jahr und Monat werden dabei korrekt konvertiert.
Delphi-Quellcode:
var Jahr, Monat, Tag: Word;
..
DecodeDate(Date, Jahr, Monat, Tag);
.. // hier passiert irgendwas ohne Jahr, Monat, Tag zu berühren
sJahr := IntToStr(Jahr);
sMonat := IntToStr(Monat);
sTag := IntToStr(Tag); // -> = 0
Kann mir jemand helfen?

Gruß
Peter

Klaus01 3. Jul 2006 12:26

Re: Decodedate(..) und IntToStr(Tag) = 0 >>> Warum?
 
Hallo Peter,

also bei mir ,Delphi6, funktioniert Dein Code.

Grüße
Klaus

himitsu 3. Jul 2006 12:28

Re: Decodedate(..) und IntToStr(Tag) = 0 >>> Warum?
 
Ich vermute mal ganz einfach dein Tag ist außerhalb der Prozedur/Funktion definiert, welche bestimmt och noch 'ner Ereignisprozedur ist.

Tag gibt's auch als Eigenschaft (siehe OH).

also am einfachsten wird es sein die Variable Lokal zu machen, umzubenennen, oder als qualifizieren Bezeichner aufzurufen ^^

PASST 3. Jul 2006 12:39

Re: Decodedate(..) und IntToStr(Tag) = 0 >>> Warum?
 
Argh :oops: natürlich!
Da das ganze innerhalb eines With-Statements stattfindet, wird meine Variable als Objekt-Eigenschaft verstanden.
Normalerweise habe ich auch immer ein Präfix vor jeder Variable, das den Typ der Variable erkennen lässt. Damit habe ich jetzt das Problem umgangen.

Gruß und schönen Dank für die Hilfe.

Peter


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