AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Arbeitstage berechnen

Ein Thema von LogoPie · begonnen am 25. Jan 2005 · letzter Beitrag vom 23. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#1

Arbeitstage berechnen

  Alt 25. Jan 2005, 15:57
Hallo Leutz

Ich möchte anhand von von zwei Daten sprich z.B. 02.01.05 und 12.02.05
die Arbeitz bzw. die Urlaubstage Berechnen.
Wie stelle ich das an hat jemand ein Beispiel.
Natürlich ohne Wochendende und Feiertage.
Used Advantage Database Server
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Arbeitstage berechnen

  Alt 25. Jan 2005, 15:59
Hai LogoPie,

als erstes brauchst Du eine Liste aller Feiertage (abhängig vom Bundesland) Dann könntest Du einfach in einer Schleife prüfen ob das Datum X ein Arbeitstag ist.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Arbeitstage berechnen

  Alt 25. Jan 2005, 16:00
Delphi-Quellcode:
Function NumWorkDays( StartDate,EndDate:TDateTime):LongInt;
Var Workdays:LongInt;
Begin
  WorkDays := 0;
  While StartDate <= EndDate do Begin
    If DayOfWeek(StartDate) in [2..6] Then
       Inc( WorkDays );
    StartDate := StartDate + 1;
  End;
  Result := WorkDays;
End;
(Feiertag Pruefung muss noch eingebaut werden)
Thomas
  Mit Zitat antworten Zitat
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#4

Re: Arbeitstage berechnen

  Alt 26. Jan 2005, 10:11
schon mal vielen dank,
Aber wie krieg ich das in mein Programm.
Habe drei TEdit felder.
In die ersten beiden soll der Benutzer das Datum von bis eingeben (12.01.05 bis 29.01.05)
Die Rechnung soll durch einen Button ausgelöst werden.
Ergebnis soll im dritten Edit angezeit werden.
Ergebnis wäre 13 Urlaubstage ohne Wochenende [2..6]
gruß LogoPie
Used Advantage Database Server
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Arbeitstage berechnen

  Alt 26. Jan 2005, 10:15
Hai LogoPie,

ich würde für die Datumseingabe keine Edits nehmen sonder TDateTiemPicker. Dann einfach mit dem Code von toms:

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
  EditTage.Text := IntToStr (NumWorkDays (DateTimePicker1.Date,DateTimePicker2.Date));
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
LogoPie

Registriert seit: 7. Okt 2003
106 Beiträge
 
Delphi 5 Professional
 
#6

Re: Arbeitstage berechnen

  Alt 26. Jan 2005, 11:43
Juhu klappt wunder bar
Hier mal das Gesamtergebnis für alle anderen.
Delphi-Quellcode:
Function Arbeitstage( Beginn,Ende:TDateTime):LongInt;
Var Tage:Integer;
    i :Integer;
Begin
  Tage := 0;
  i := 1;
  While Beginn <= Ende do Begin
    If DayOfWeek(Beginn) in [2..6] Then
    Inc( Tage );
    Beginn := Beginn + i;
  End;
  Result := Tage;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
     EditTage.Text := IntToStr (Arbeitstage (Beginn.Date,Ende.Date));
end;

end.
Nun stehe ich schon vor dem nächsten Problem
das heißt es ist nur ein kleines.
Das einbinden von Feiertagen.
Bei festen Tagen wie Silvester oder Weihnachten sollte es keine Probleme geben,
aber wie berechne ich z.B Pfingsten oder Ostern.
Used Advantage Database Server
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#7

Re: Arbeitstage berechnen

  Alt 26. Jan 2005, 11:49
Für Ostern gibt es hier eine Funktion von Flomei. Pfingsten lässt sich glaube ich aus Ostern berechnen ( + 40 Tage oder so? ). Karfreitag ist Ostersonntag - 2, Ostermontag ist logischerweise Ostersonntag + 1 ( ).
Heiligabend, Weihnachten, Silvester, 1.Mai sind dagegen wahnsinnig kompliziert

*edit* mir fällt gerade ein, dass das mit den 40 Tagen die Fastenzeit war, und 40 Tage nach Ostern auch gar kein Wochenende ist, aber Pfingsten ist afair auch irgendwie abhängig von Ostern.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#8

Re: Arbeitstage berechnen

  Alt 26. Jan 2005, 11:55
schau bei den schweizern

http://www.swissdelphicenter.ch/de/showcode.php?id=1278

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Arbeitstage berechnen

  Alt 26. Jan 2005, 11:56
Hai,

wie Treffnix schon sagte sind die meisten Kirchlichen-Feiertage von Ostern abgeleitet. Dafür findest Du sicher eine Liste.
Aber wie ich schon sagte: Du musst die Regelungen der einzelnen Bundesländer beachten.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#10

Re: Arbeitstage berechnen

  Alt 26. Jan 2005, 12:01
und hier noch ne erweiterung

http://www.swissdelphicenter.ch/de/f...sche+feiertage

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz