Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datentyp Word bei Function StartOfAWeek (https://www.delphipraxis.net/97731-datentyp-word-bei-function-startofaweek.html)

kobel 15. Aug 2007 08:38


Datentyp Word bei Function StartOfAWeek
 
Hallo,

ich habe ein Problem mit der Funktion StartOfAWeek.

Ich gebe ein:
Delphi-Quellcode:
showmessage(datetostr(startofaweek(2007,strtoword(combobox1.text))));
und bekomme die Fehlermeldung:
(2007, 53, 1) ist kein gültiger Wert für die Wochenangabe im Datum.

Ich denke es liegt an der Umwandlung strtoword, oder ?

Die Muhkuh 15. Aug 2007 08:41

Re: Datentyp Word bei Function StartOfAWeek
 
Hi kobel,

ich weiß ja nicht, auf welchem Planeten Du lebst, aber hier, auf dem Planeten Erde, gibt es weder einen Monat, noch ein Tag mit der Nummer 53. :zwinker:

Zitat:

Zitat von kobel
und bekomme die Fehlermeldung:
(2007, 53, 1) ist kein gültiger Wert für die Wochenangabe im Datum.


Die Muhkuh 15. Aug 2007 08:47

Re: Datentyp Word bei Function StartOfAWeek
 
Hi nochmal,

was ist StrToWord? Mein Delphi kennt das nicht.

Ich hab es folgendermaßen Versucht:

Delphi-Quellcode:
showmessage(datetostr(startofaweek(2007, StrToInt(ComboBox1.Text))));
Zum Test tippte ich 11 in die ComboBox ein, Ausgabe war 12.03.2007.

raiguen 15. Aug 2007 22:27

Re: Datentyp Word bei Function StartOfAWeek
 
Zitat:

Zitat von Die Muhkuh
Hi kobel,

ich weiß ja nicht, auf welchem Planeten Du lebst, aber hier, auf dem Planeten Erde, gibt es weder einen Monat, noch ein Tag mit der Nummer 53. :zwinker:

:roll: Ähm... hast du die Syntax zu dieser Funktion richtig gelesen :?: Der zweite Parameter ist die Kalenderwoche (1...52) und nicht Tag oder Monat...

Der beschriebene Fehler bzw. die Exception aus der Function StartOfAWeek() ist insofern richtig, als dass es für das Jahr 2007 KEINE 53.KW gibt; der 31. Dezember 2007 ist zwar ein Montag und somit 'Start' der Arbeitswoche, aber kalendarisch gesehen gehört dieses Datum bereits zur 1.KW des folgenden Jahres :wink: (StartOfAWeek ( 2008, 1 ) ->> 31.12.2007 :P
Siehe auch Kalenderwoche nach DIN

[EDIT] Um die 'gültige' Anzahl der (Kalender)Wochen eines Jahres zu ermitteln, bieten sich die Funktionen WeeksInAYear() bzw WeeksInYear() an...

kobel 16. Aug 2007 13:47

Re: Datentyp Word bei Function StartOfAWeek
 
Ok,

da hat mich wohl die Delphi Hilfe etwas verwirrt !
Dort steht dass die function startofaweek nach einem Typ Word verlangt ...
aber mit Integer gehts !

Danke
kobel


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