Thema: Delphi Werktage zählen

Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Werktage zählen

  Alt 9. Jul 2006, 12:57
Zitat von norbert3:
Wie bekommt man das hin, dass die Tage automatisch eventl. in einer Schleife bis zum Enddatum durchlaufen und auf ihren Wert geprüft werden?
Delphi-Quellcode:
function CountWeekDays (Datum1, Datum2 : TDateTime) : integer ;
var
   i : integer ;

   function IstWerkTag (Datum : TDateTime) : boolean ;
   begin
        Result := not (DayOfWeek (Datum) in [1,7]) ; // 1=Sonntag, 7=Samstag
        // Hier kannst Du eventuell noch auf Feiertag prüfen
   end ;

begin
     Result := 0 ;
     for i := trunc(Datum1) to trunc(Datum2) do begin
         if IstWerkTag(i) then
              inc (Result) ;
     end ;
end ;

procedure TForm13.Button1Click(Sender: TObject);
var
  D1, D2 : TDateTime ;
begin
     D1 := EncodeDate (2006,1,1) ;
     D2 := EncodeDate (2006,12,31) ;
     caption := IntToStr (CountWeekDays (D1, D2)) ;
end;
  Mit Zitat antworten Zitat