Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi WeekOfTheYear - Gegenfunktion CalendarWeekToDate (https://www.delphipraxis.net/137992-weekoftheyear-gegenfunktion-calendarweektodate.html)

Wolfgang Mix 1. Aug 2009 17:30


WeekOfTheYear - Gegenfunktion CalendarWeekToDate
 
Aktualisierte Fassung hier

Die Gegenfunktion habe ich wieder 'mal nicht im Netz gefunden,
deshalb wieder selbst gecodet. Habe einige Daten getestet,
der Code scheint sicher zu sein.
Wäre nett, wenn einige von Euch mittesten würden.
Optimiert wird dann später ...
BTW, das Einbinden von DateUtils nicht vergessen.
CalendarWeekToDate benötigt meine schon eimal vorgestellte Funktion
FirstDayOfYear, deshalb hier noch einmal.

Delphi-Quellcode:
//Wolfgang Mix - Delphi-Praxis
//Returns Monday before NewYear or NewYear itsself as date
function FirstDayOfYear(year:integer):TDate;
var mydate: TDate;temp:extended;
begin
  Mydate:= EncodeDate(year,1,1);
  temp:=DayOfTheWeek(mydate);
  mydate:= mydate-temp+1;
  result:=mydate;
end;


//Wolfgang Mix - Delphi-Praxis
// ----- Needs function FirstDayOfYear -----
//Returns the first day of calendar week as date
function CalendarWeekToDate(cw,year:word): TDate;
var temp1:TDate;
    temp2:word;
begin
  temp1:=FirstDayOfYear(year);
  temp2:=WeekOfTheYear(temp1);
  if temp2 = 1 then result:=7*(cw-1)+temp1 
  else result:=7*cw+temp1;end;

Label1.Caption:=DateToStr(CalendarWeekToDate(31,2009));
//Label1.Caption:=DateToStr(CalendarWeekToDate(31,2010));
//Label1.Caption:=DateToStr(CalendarWeekToDate(31,2011));

Blup 7. Aug 2009 13:56

Re: WeekOfTheYear - Gegenfunktion
 
In der Jedi-CodeLibrary -> JclDateTime.pas finden sich eine ganze Reihe nützlicher Datums- und Zeitfunktionen.
z.B. auch ISOWeekToDateTime

Wolfgang Mix 7. Aug 2009 15:09

Re: WeekOfTheYear - Gegenfunktion
 
@Blup

Zitat:

JclDateTime.pas
Hast du einen Link, wo ich mir die Datei direkt saugen kann?

Gruß

Wolfgang

DeddyH 7. Aug 2009 15:16

Re: WeekOfTheYear - Gegenfunktion
 
http://www.delphi-jedi.org/

Wolfgang Mix 7. Aug 2009 15:31

Re: WeekOfTheYear - Gegenfunktion
 
@ Blup

Habe mir da schon alles Mögliche gefunden, z.B. help\JclHelp.pdf, in dem die Funktionen beschrieben sind. Den Quelltext .pas finde ich nicht.

Gruß

Wolfgang

Die Muhkuh 7. Aug 2009 15:36

Re: WeekOfTheYear - Gegenfunktion
 
http://sourceforge.net/projects/jcl/...0.zip/download

Da ist alles drin.

Wolfgang Mix 7. Aug 2009 15:47

Re: WeekOfTheYear - Gegenfunktion
 
@ Blup

Danke, jetzt hab' ich's ;-)

Gruß

Wolfgang

Wolfgang Mix 31. Aug 2009 08:57

Re: WeekOfTheYear - Gegenfunktion
 
Post #1 entwanzt.

Gruß

Wolfgang


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