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/)
-   -   iOS System.DateUtils.TryISO8601ToDate(..) (https://www.delphipraxis.net/200161-system-dateutils-tryiso8601todate.html)

Der schöne Günther 25. Mär 2019 11:04

Delphi-Version: 10 Seattle

System.DateUtils.TryISO8601ToDate(..)
 
Hallo-

Die Implementation von TryIso8601ToDate(..) ist bei 10.0 Seattle:

Delphi-Quellcode:
function TryISO8601ToDate(const AISODate: string; out Value: TDateTime; AReturnUTC: Boolean = True): Boolean;
begin
  Result := False;
  try
    Value := ISO8601ToDate(AISODate, AReturnUTC);
    Result := True
  except

  end;
end;
Mich nervt nicht nur die Exception im Debugger, sondern auch dass unsere Anwendungen alle Exceptions loggen. Meine Frage: Ist das in einer aktuelleren Delphi-Version immer noch so?

sakura 25. Mär 2019 11:09

AW: System.DateUtils.TryISO8601ToDate(..)
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1428637)
Meine Frage: Ist das in einer aktuelleren Delphi-Version immer noch so?

Ja.

Du kannst aber im Debugger bestimmte Exceptions zum Ignorieren hinterlegen, und in Eurer Anwendung könntet Ihr das sicherlich auch so konfigurieren.

...:cat:...

Der schöne Günther 25. Mär 2019 11:16

AW: System.DateUtils.TryISO8601ToDate(..)
 
Doof 😤. Danke für die Antwort.

QuickAndDirty 25. Mär 2019 13:36

AW: System.DateUtils.TryISO8601ToDate(..)
 
Ja habe dafür extra ne leerstring Behandlung eingeführt...
Bzw. ein Eigenes
Delphi-Quellcode:
ISO8601ToDateDef
geschrieben.
Seit ich die XtoYDef funktionen gefunden habe benutze ich nur nich die. Eben weil Exceptions nur um Initialisierungen auszulösen nerven.

Rudy Velthuis 25. Mär 2019 19:53

AW: System.DateUtils.TryISO8601ToDate(..)
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1428656)
Ja habe dafür extra ne leerstring Behandlung eingeführt...
Bzw. ein Eigenes
Delphi-Quellcode:
ISO8601ToDateDef
geschrieben.
Seit ich die XtoYDef funktionen gefunden habe benutze ich nur nich die. Eben weil Exceptions nur um Initialisierungen auszulösen nerven.

Normalerweise sollte zuerst eine TryXY()-Funktion definiert werden, die dann von XY() und XYDef() benutzt werden kann. XY() sollte, wenn TryXY() False zurückgibt, eine Exception auslösen und XYDef() sollte in dem Fall den Default-Wert zurückgeben.

Die Reihenfolge in TryISO8601ToDate ist m.e. Falsch. So sollte man das nie machen.

Der schöne Günther 25. Mär 2019 20:00

AW: System.DateUtils.TryISO8601ToDate(..)
 
Finde ich auch 👍

QuickAndDirty 26. Mär 2019 16:19

AW: System.DateUtils.TryISO8601ToDate(..)
 
Wo kann ich dafür unterschreiben?

dummzeuch 26. Mär 2019 18:12

AW: System.DateUtils.TryISO8601ToDate(..)
 
Zitat:

Zitat von Rudy Velthuis (Beitrag 1428688)
Die Reihenfolge in TryISO8601ToDate ist m.e. Falsch. So sollte man das nie machen.

Ich habe mir mal sagen lassen, das sei die übliche Implementation in JAVA. Damals hatte ich mich über ein Visual Basic 6 Programm beschwert, das durchgehend so programmiert war.

Kann aber auch sein, dass der Typ mich verarscht hat. ;-)

twm

Rudy Velthuis 29. Mär 2019 20:45

AW: System.DateUtils.TryISO8601ToDate(..)
 
Zitat:

Zitat von dummzeuch (Beitrag 1428809)
Zitat:

Zitat von Rudy Velthuis (Beitrag 1428688)
Die Reihenfolge in TryISO8601ToDate ist m.e. Falsch. So sollte man das nie machen.

Ich habe mir mal sagen lassen, das sei die übliche Implementation in JAVA. Damals hatte ich mich über ein Visual Basic 6 Programm beschwert, das durchgehend so programmiert war.

Kann aber auch sein, dass der Typ mich verarscht hat. ;-)

twm

Wusste nicht, dass Java auch solche TryXXX-Funktionen hat. Habe mich mal umgeschaut: hat Java wohl wirklich nicht, also muss man sich die aus den anderen Funktionen basteln und Exceptions abfangen, wie TryISO8601ToDate.

Aber in Delphi wird es normalerweise richtig gemacht. Nur hier nicht.

TurboMagic 30. Mär 2019 08:11

AW: System.DateUtils.TryISO8601ToDate(..)
 
Zitat:

Zitat von QuickAndDirty (Beitrag 1428792)
Wo kann ich dafür unterschreiben?

Du kannst in quality.embarcadero.com einen Eintrag dafür erstellen und dann können wir dafür stimmen, wenn du die Eintragsnummer danach hier postest.


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