AGB  ·  Datenschutz  ·  Impressum  







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

datetimepicker wochentag?

Ein Thema von tom_po · begonnen am 30. Dez 2006 · letzter Beitrag vom 31. Dez 2006
Antwort Antwort
Seite 2 von 2     12   
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#11

Re: datetimepicker wochentag?

  Alt 31. Dez 2006, 11:26
Hallo Tom,

lege dir eine Unit DateUtilsEx an und packe deine Kalenderfunktionen dort rein:

Delphi-Quellcode:
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;
Wenn du IsNationalHoliday() geschickt erweiterst, dann hast du eine lokalisierbare Allgemeinlösung. Die lokalisierten Wochentagsnamen findest du in der Unit SysUtils (ShortDayNames bzw. LongDayNames).

Guten Rutsch
  Mit Zitat antworten Zitat
tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: datetimepicker wochentag?

  Alt 31. Dez 2006, 12:20
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...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 22:04 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