Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Word.TryParse(..) (https://www.delphipraxis.net/202769-word-tryparse.html)

Der schöne Günther 6. Dez 2019 12:26

Delphi-Version: 10 Seattle

Word.TryParse(..)
 
Ist das ernst gemeint dass z.B.
Delphi-Quellcode:
Word.TryParse(..)
hier
Delphi-Quellcode:
True
liefert?

Delphi-Quellcode:
uses System.SysUtils;

procedure p();
const
   input = '66000'; // größer als 65535
var
   asWord: Word;
begin
   WriteLn( Word.TryParse(input, asWord) ); // >> "TRUE"
   WriteLn(asWord); // >> "464"
   readln;
end;
Ich finde keine Erklärung weshalb das Sinn machen sollte.

Union 6. Dez 2019 12:34

AW: Word.TryParse(..)
 
Ich habe jetzt kein Seattle installiert. In RIO erfolgt eine Abfrage ob das Ergebnis im Gültigkeitsbereich liegt.

Daniel 6. Dez 2019 12:36

AW: Word.TryParse(..)
 
10.3.3 liefert hier "false" zurück.

Der schöne Günther 6. Dez 2019 12:46

AW: Word.TryParse(..)
 
Ok, in Seattle passiert das nicht. Wieder ein Grund zum updaten.

Kann vielleicht noch jemand testen ob das in Tokyo auch geht? Rio würde ich mich noch nicht trauen aber das ist ein anderes Thema.

Andreas13 6. Dez 2019 12:47

AW: Word.TryParse(..)
 
Delphi XE5 liefert TRUE zurück.
Gruß, Andreas

TiGü 6. Dez 2019 12:58

AW: Word.TryParse(..)
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1452887)
Kann vielleicht noch jemand testen ob das in Tokyo auch geht?

Code:
FALSE
65
Delphi Tokyo 10.2.3 (25.0.29899.2631)

Der schöne Günther 6. Dez 2019 13:20

AW: Word.TryParse(..)
 
Danke an alle

Dennis07 6. Dez 2019 18:57

AW: Word.TryParse(..)
 
10.3.2 liefert
Delphi-Quellcode:
FALSE
und
Delphi-Quellcode:
65
zurück.

Redeemer 7. Dez 2019 21:37

AW: Word.TryParse(..)
 
464 in Seattle ist klar (nur das TRUE nicht), aber warum kommt in Tokyo/Rio 65 raus?

Dennis07 8. Dez 2019 01:24

AW: Word.TryParse(..)
 
Zitat:

Zitat von Redeemer (Beitrag 1452938)
aber warum kommt in Tokyo/Rio 65 raus?

Ist doch völlig egal. Wenn
Delphi-Quellcode:
TryParse
Delphi-Quellcode:
False
zurückgibt, dann ist der Wert in
Delphi-Quellcode:
asWord
doch eh unbrauchbar.

Delphi-Quellcode:
65
ist aus irgend einem Grund nunmal der Wert, den
Delphi-Quellcode:
asWord
von anfang an hat (ab dem Moment, wo das Programm Startet). Das wird wahrscheinlich irgendwo im
Delphi-Quellcode:
initialization
von
Delphi-Quellcode:
System.SysUtils
in den Speicherblock geschrieben und nie verändert.
Nie verändert, denn
Delphi-Quellcode:
TWordHelper.TryParse
setzt
Delphi-Quellcode:
out Value
nur dann, wenn
Delphi-Quellcode:
Result = True
ist.


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