Einzelnen Beitrag anzeigen

Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#1

WeekOfTheYear - Gegenfunktion CalendarWeekToDate

  Alt 1. Aug 2009, 18:30
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));
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat