Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Idee für Integer.ToString in Win32 (https://www.delphipraxis.net/58107-idee-fuer-integer-tostring-win32.html)

Lemmy1 1. Dez 2005 13:36


Idee für Integer.ToString in Win32
 
Hallo zusammen,

hab gerade einmal eine Idee bekommen und wollte sie gerne einmal diskutieren. Delphi 2006 kann ja bekanntlich Operator Overloading mit inlinging für Records. Für ein Codebeispiel siehe hier.


Da kam mir doch mal eine Idee. Könnte man nicht einen Typ TInteger deklarieren und erst einmal alle seine Operatoren zum Standard durchreichen. Via Implicit-cast kann man den sogar mit einem normaler Integer kompatibel machen.

Via IFDEF könnte man unter Delphi .Net könnte man den Type einfach zum normalen System.Integer durchreichen.

Wozu das ganze? Wenn man den Typen erst einmal hat, könnte man schöne .Net Sachen nachrüsten. ich denke da an .ToString oder auch an statische Funktionen, wie Integer.Parse. (IntToStr finde ich einfach weniger schön als ToString)

Sobald man dann TInteger verwendet hat man dann also Syntaxgleichheit zwischen .Net und Win32 aber verliert keine Performance da alles Record+Inlining ist. Ähnliches geht natürlich dann analog für Float,

Nur mal ein Vorschlag, gibts dazu Meinungen? Überseh ich Nachteile?

Grüße
Daniel

sh17 1. Dez 2005 13:47

Re: Idee für Integer.ToString in Win32
 
Hhm, klingt nicht schlecht. Würde für neue Sachen das spätere portieren nach .Net vereinfachen.

Bernhard Geyer 1. Dez 2005 14:01

Re: Idee für Integer.ToString in Win32
 
Evtl. gibt es noch ein problem wenn du diese Lösung verwendest und dein Integer in ein Stream speichern willst.
Sprich @TInteger und SizeOf(TInteger) sollte wie gewohnt unter Win32 nur den String schreiben und 4 Byte als Size liefern.


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