Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Probleme mit StrToDate Funktion (https://www.delphipraxis.net/3935-probleme-mit-strtodate-funktion.html)

[TP]Hawk274 6. Apr 2003 21:26


Probleme mit StrToDate Funktion
 
folgendes wollte ich machen:
Delphi-Quellcode:
dtDate := StrToDate(GetOfDate + IntToStr(CurrentYear));
//Ergebnis vom Typ String: z.B. '06.04.2003'

dtDate := StrToDate(GetOfDate + IntToStr(FYear));
//Ergebnis vom Typ String: z.B. '31.03.1680932708'
Habe nur als Unterscheid festgestellt das FYear vom Typ Integer ist und CurrentYear vom Typ Word ist. Trotzdem verstehe ich nicht warum dabei zwei verschiedene Ergebnisse erhalten. Wahrscheinlich liegt es an den verschieden Typen Word und Integer. Doch erklären kann ich mir das nicht.

Ich habe das Problem dann folgendermaßen gelöst:
Delphi-Quellcode:
dtDate := StrToDate(GetOfDate + IntToStr(CurrentYear));
//Ergebnis vom Typ String: z.B. '06.04.2003'

strDate := GetOfDate + IntToStr(FYear);
dtDate := StrToDate(strDate);
//Ergebnis vom Typ String: z.B. '31.03.2003'
Klappt auch wunderbar, aber warum der vorherige Source solch ein komisches Ergebnis ergeben hat kann ich mir nicht erklären. Wo liegt den der Unterschied zwischen Word und Integer in diesem Fall?

Chewie 6. Apr 2003 22:03

Ein Auszug aus der Delphi-Hilfe:
Zitat:

Word 0..65535 16 Bit, ohne Vorzeichen
Integer -2147483648..2147483647 32 Bit mit Vorzeichen
Agesehen davon, dass Word 16 Bits hat und Integer 32, ist das Vorzeichenn der maßgebliche Unterschied. Sobald ein Integerwert (2^32):2 übersteigt (der Wert im Speicher), ist die Zahl,die in der Integer-Varialen gespeichert ist, negativ. Eine Word-Variable mit dem Speicherinhalt 2^16 hat dagegen wirklich den Wert 65535.

[TP]Hawk274 10. Apr 2003 11:51

Aber das Jahr 2003 ist doch nicht größer als 65535?
Ich glaube ich erkenne den Wald voller Bäume nicht mehr :?:


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