Hvad med helligdage skal der tages højde for dem?
Men ellers har jeg søgt lidt her og der og det ser ikke ud til at der findes en færdig function til det, så man må nok i gang selv.
Her er en procedure der beregner arbejdsdage, der er muligvis nogle dage der ikke normalt er arbejdsdage men som alligevel tælles med, men dem kan du så selv ligge ind i proceduren. Den skulle regne rigtig mht. helligdage fra nu af og til the end of days.
Husk DateUtils i din uses.
--------------------
function AntalArbejdsdage(Fra, Til : TDate) : integer;
function GetPaaskeDag(AYear : Integer) : TDateTime;
var
a,b,c,e,f,g,
h,i,k,l,o,q : integer;
begin
a:=(AYear mod 19);
b:=(AYear div 100);
c:=(AYear mod 100);
o:=(b div 4);
e:=(b mod 4);
f:=((b+8) div 25);
g:=((b-f+1) div 3);
h:=((19*a+b-o-g+15) mod 30);
i:=(c div 4);
k:=(c mod 4);
l:=((32+2*e+2*i-h-k) mod 7);
q:=((a+11*h+22*1) div 451);
Result:=EncodeDate(AYear,((h+l-7*q+114) div 31),(((h+l-7*q+114) mod 31)+1));
end;
function IsHelligDag(Dato : TDate) : boolean;
var
dd,mm,yy : word;
PaaskeDag : TDate;
begin
Result:=true;
if DayOfTheWeek(Dato)=7 then //Søndage
exit;
DecodeDate(Dato,yy,mm,dd);
PaaskeDag:=GetPaaskeDag(yy);
if (dd=1) and (mm=1) then // Nytårsdag (1/1)
exit;
if (dd=25) and (mm=12) then // Julen (25/12) + (26/12)
exit;
if (dd=26) and (mm=12) then // Julen (25/12) + (26/12)
exit;
if (PaaskeDag-3=Dato) then // Påskedag-3 Skærtorsdag
exit;
if (PaaskeDag-2=Dato) then // Påskedag-2 Langfredag
exit;
if (PaaskeDag=Dato) then // Påskedag
exit;
if (PaaskeDag+1=Dato) then // Påskedag+1 2. Påskedag
exit;
if (PaaskeDag+26=Dato) then // Store bededag : Påskedag+26
exit;
if (PaaskeDag+39=Dato) then // Kristi himmelfart : Påskedag+39
exit;
if (PaaskeDag+49=Dato) then // Pinsen : Påskedag+49
exit;
if (PaaskeDag+50=Dato) then // 2. Pinsedag : Påskedag+50
exit;
Result:=false;
end;
begin
Result:=0;
while Fra<=Til do
begin
if (DayOfTheWeek(Fra)<6) and (not IsHelligDag(Fra)) then
inc(Result);
Fra:=Fra+1;
end;
end;
Hej Harald.
Tak for svar. Point til dig som mange tak for hjælpen.
De bedste hilsener
Michael Sørensen