Avatar billede koonz Nybegynder
14. oktober 2001 - 20:07 Der er 4 kommentarer og
1 løsning

De 7 datoer

Jeg skulle gerne have de 7 dato et uge nummer indeholder. Nogen der har en ide til en funktion der kunne gøre sådan noget. Jeg forstiller mig den kaldes med et ugenummer, og retunerer 7 datoer i et array.
Avatar billede zerohero Nybegynder
14. oktober 2001 - 20:13 #1
Hvad snakker du om? Vil du gerne have en dato-funktion?
Avatar billede speedy Nybegynder
14. oktober 2001 - 20:20 #2
Denne kan vel hjælpe dig på vej :)

function UgeTilDato(Ugenr,Aar:Integer):TDateTime;
begin
  Result:=EncodeDate(Aar,1,FirstWeekDate);
  Result:=Result+(Ugenr-1)*7-((DayOfWeek(Result)+(7-FirstWeekDay)) mod 7);
end;

Den returnerer den første dato i ugen.

/SpEeDy
Avatar billede speedy Nybegynder
14. oktober 2001 - 20:23 #3
glemte lige variablerne :)


function UgeTilDato(Ugenr,Aar:Integer):TDateTime;
var
  FirstWeekDay  : Integer = 2;
  FirstWeekDate : Integer = 4;
begin
  Result:=EncodeDate(Aar,1,FirstWeekDate);
  Result:=Result+(Ugenr-1)*7-((DayOfWeek(Result)+(7-FirstWeekDay)) mod 7);
end;

/SpEeDy
Avatar billede speedy Nybegynder
14. oktober 2001 - 20:24 #4
ups, jeg mente konstanterne  :)

function UgeTilDato(Ugenr,Aar:Integer):TDateTime;
const
  FirstWeekDay  : Integer = 2;
  FirstWeekDate : Integer = 4;
begin
  Result:=EncodeDate(Aar,1,FirstWeekDate);
  Result:=Result+(Ugenr-1)*7-((DayOfWeek(Result)+(7-FirstWeekDay)) mod 7);
end;

/SpEeDy
Avatar billede speedy Nybegynder
14. oktober 2001 - 20:32 #5
Og her en færdig som returnerer et array med datoer:

type
    TDatoer = array of TDateTime;

function UgeTilDatoer(Ugenr,Aar:Integer): TDatoer;
const
  FirstWeekDay  : Integer = 2;
  FirstWeekDate : Integer = 4;
begin
  SetLength(Result, 7);
  Result[0]:=EncodeDate(Aar,1,FirstWeekDate);
  Result[0]:=Result[0]+(Ugenr-1)*7-((DayOfWeek(Result[0])+(7-FirstWeekDay)) mod 7);
  Result[1]:=Result[0] + 1;
  Result[2]:=Result[0] + 2;
  Result[3]:=Result[0] + 3;
  Result[4]:=Result[0] + 4;
  Result[5]:=Result[0] + 5;
  Result[6]:=Result[0] + 6;
end;


/SpEeDy
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester