nein ist es eben nicht.
1.) bei häufigen Aufrufen, zb. in Calendarcontrols, spielt die Performance eine große Rolle
2.) die Frage der Gültigkeit deiner Funktion ist entscheidend, denn deine kann nur in einem Bruchteil (Jahr muß 1200 bis 2700 sein), angewendet werden. DayOfWeek() der
RTL arbeitet mit jedem Datum was per TDateTime möglich sein kann -> Jahr = -2^47 bis +2^47. Das ist eine rießige Menge mehr.
3.) dein Source sagt einem erfahrenen Programmierer das du garnicht weist wie TDateTime funktioniert. Denn wenn du es wüsstest würdest du eingestehen das dein Source "von hinten in den Kopf und dann durch die Brust" programmiert ist.
Schau mal, dein Posting soll in eine CodeLib, das heist das ich annehmen muß das du der Meinung bist, das andere Programmierer deine Funktion nutzen sollen, als Ersatz für eine optimale DayOfWeek() Funktion der
RTL ??
Wenn du diesen Thread in der Delphi Sparte gepostet hättest, zb. mit dem Titel "eine andere Möglichkeit den Wochentag zu berechnen" dann hätte ich es noch verstehen können.
Baue deine Funktion so um das du als Parameter keinen TDateTime erwartest sondern das Jahr,Monat und Tag als Integer. Denn exakt dann, also wenn man in seinem Code eben keinen TDateTime hat sondern nur diese 3 Werte, macht deine Funktion einen Sinn. Zb. als Referenz für Mikrocontroller oder andere Systeme die kein TDateTime kennen. Auf solchen Plattformen wird nämlich meistens mit Jahr,Monat,Tag gerechnet. Aber für einen Anwender der Delphi
RTL ist deine Wochentagfunktion schlichtweg sinnlos.
Ich weis das meine Worte eine harte Kritik sind, aber besser die Tatsachen auf den Tisch gelegt als drumherum geredet.
Gruß Hagen