Avatar billede erve Nybegynder
11. oktober 2000 - 10:32 Der er 9 kommentarer og
1 løsning

DayOfYear

Jeg står og mangler en stump Delphi 5 kode, der kan give dagens nummer i året. 1 - 366. Der skal naturligvis tages hensyn til skudår.
Avatar billede borrisholt Novice
11. oktober 2000 - 10:34 #1
prøv den her :

Function DayOfYear : Integer;
var
  Year, Month, Day: Word;
  Months : Array [1..12] of Integer;
  i : Integer;
begin
DecodeDate(Now, Year, Month, Day);

Months[1]  := 31;
if IsLeapYear(Year) then
  Months[2]  := 29
else
  Months[2]  := 28;
Months[3]  := 31;
Months[4]  := 30;
Months[5]  := 31;
Months[6]  := 30;
Months[7]  := 31;
Months[8]  := 31;
Months[9]  := 30;
Months[10] := 31;
Months[11] := 30;
Months[12] := 31;
Result:=0;

for i:=1 to Pred(Month) do
  Inc(Result, Months[i]);
Inc(Result, Day);
end;


Jens B
Avatar billede borrisholt Novice
11. oktober 2000 - 10:40 #2
eventuelt kan du også skrive :

Months[2]  := 28 + Integer(IsLeapYear(Year));

istedet for den if sætning.

Jens B
Avatar billede pellelil Nybegynder
11. oktober 2000 - 10:47 #3
Borrisholt> Du er alt \"for aktiv\", du ved nok at du som programmør \"skal være doven\". Hvad med at lave Delphi\'s egen TDateTime gøre alt arbejdet?

<SNIP>
Function DayOfYear : Integer;
var
  Year, Month, Day : Word;
  FoersteDag      : TDateTime;
begin
  DecodeDate(Now, Year, Month, Day);    // Få årstallet
  EncodeDate(FoersteDag, Year, 1, 1);  // Sæt til 1. Januar dette år
  Result := (Trunc(Now) - Trunc(FoersteDag)) + 1;
end;
</SNIP>
Avatar billede erve Nybegynder
11. oktober 2000 - 10:49 #4
Strålende
Avatar billede borrisholt Novice
11. oktober 2000 - 10:51 #5
fordelen vedden anden er at det var en jeg havde på lager .....

Jens B
Avatar billede erve Nybegynder
11. oktober 2000 - 10:52 #6
.. og så kom du hurtigt og først :o)
Avatar billede pellelil Nybegynder
11. oktober 2000 - 10:57 #7
Borrisholt> så opfyldt du også (til fulde) \"opgaven med at være Doven\"  :-)
Avatar billede hkramer Nybegynder
11. oktober 2000 - 12:15 #8
Det er da fuldstændigt umuligt at komme til her.
Inden jeg får set mailen har borrisholt eller pellelil svaret. Er det at være doven ?
I sidder garanteret og overvåger eksperten.dk !
;-)
Avatar billede pellelil Nybegynder
11. oktober 2000 - 12:17 #9
hkramer>  LOL
Avatar billede borrisholt Novice
11. oktober 2000 - 12:18 #10
Hmmmn .....

Jeg har meldt mig til at jeg gerne vil abbonere på bla. denne kategori .. betyder at jeg får e-mails når der sker nyt. Da min e-mail står online, modtager jeg dem når de kommer og kigger på det der fra ....

Jens B
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