![]() |
Delphi-Version: XE3
Objekt als tDateTime übergeben?
Moin,
ich möchte mir gerne eine eigene DateTime Klasse bauen. Da TDateTime im Grunde nichts anderes als ein Double ist, hat es natürlich auch keine Funktionen oder ähnliches. Das meiste kann man mit Funktionen aus DateUtils oder mit Trunc und Frac machen... aber ich würde gerne, dass alles was ich so brauche in meinem DateTime Objekt direkt drin ist. Also myDate.getUhrzeit, myDate.getWochentag oder auch Funktionen wo ich direkt einzelne Elemente des Datums oder der Uhrzeit setzen/verändern kann. Also myDate.setMonat(aMonat: tMonatEnum) oder myDate.incHour(aAnzahl: Integer). Ja Die Namen habe ich mir gerade ganz schnell und sehr denglisch aus den Fingern gesaugt. Soweit ist das technisch ja noch kein Problem... aber bekomme ich das irgendwie hin, dass ich Funktionen, die ein tDateTime als Parameter verlangen einfach mein Objekt geben kann? Da TDateTime an sich keine Klasse ist, kann ich ja auch nicht davon ableiten. Natürlich könnte ich auch einfach das interne tDateTime per Property rausholen irgendeineProzedur(myDate.DateTime) aber ich würde es cooler finden einfach stumpf mein Objekt da reinzugeben. |
AW: Objekt als tDateTime übergeben?
Hallo,
Zitat:
nein, genau für seine Typsicherheit/Typstrenge ist Delphi bekannt. Lange Antwort: Es kommt drauf an ... Bsp: DateToStr, erwartet ein TDateTime Du könntest dir eine eigene Unit DateUtilsEx erzeugen, mit je 2 überladenen Methoden drin. function MyDateToStr(ADateTime: TDateTime): String; overload; function MyDateToStr(ADateTime: TDateTimeClass): String; overload; Inwiefern es sogar geht das My wegzulassen, müsstest Du ausprobieren. Ich denke, es geht nicht, weil ja auch die Originalmethode als overload gekennzeichnet werden müsste. |
AW: Objekt als tDateTime übergeben?
Nicht das Rad neu erfinden. Diese Unit einbinden, verwenden und nach belieben erweitern:
![]() |
AW: Objekt als tDateTime übergeben?
Hallo,
XE3 konnte schon record helper? ![]() Tatsächlich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 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