![]() |
Re: datetimepicker wochentag?
Hallo Tom,
lege dir eine Unit DateUtilsEx an und packe deine Kalenderfunktionen dort rein:
Delphi-Quellcode:
Wenn du IsNationalHoliday() geschickt erweiterst, dann hast du eine lokalisierbare Allgemeinlösung. Die lokalisierten Wochentagsnamen findest du in der Unit SysUtils (ShortDayNames bzw. LongDayNames).
function IsNationalHoliday(dt: TDateTime): Boolean;
begin Result := DayOfTheYear(dt) = 1; end; function IsWorkDay(dt: TDateTime): Boolean; begin Result := (DayOfWeek(dt) in [2..6]) and not IsNationalHoliday(dt); end; function NextWorkDay(dt: TDateTime): TDateTime; begin Result := Trunc(dt); repeat Result := Result + 1; until IsWorkDay(Result); end; function NextWeekDay(dt: TDateTime): TDateTime; var wd: Integer; begin wd := DayOfWeek(dt); Result := Trunc(dt) + Succ(Ord(wd > 5) + Ord(wd = 6)); end; function NextMonday(dt: TDateTime): TDateTime; begin Result := dt + (7 - Pred(DayOfTheWeek(dt))) mod 7; end; Guten Rutsch |
Re: datetimepicker wochentag?
danke marabu, das ist natürlich das Ideale. Muss dies aber in Ruhe angehen, dann habe ich natürlich ein flexbiles System wo man die Wochenende und Urlaubstage miteinbeziehen kann.
Momentan genügt die einfach Schlaufenversion mit while, die Chinesen arbeiten ja jeden Tag (einschl. Sonntag), haben auch kaum Feren, so dass jeder Tag ein Arbeitstag ist. Ich benutze ja den Datetimepicker für ein tägliches Update mit Timer und will halt ein Query immer für den nächsten Montag beginnend machen, und so mit der while-Schleife funktioniert es fürs Erste prima. Werde aber in Ruhe deinen Vorschlag mit der Kalenderfunktion angehen. auch dir guten Rutsch von Portugal aus... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz