Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

работа с датами 


[NIKEL]   (2002-03-06 13:10) [0]

Надо так расчтать...
Есть год и месяц, и есть флаг, который сигнализирует о 5-ти дневном рабочем дне или 6-ти дневном. На основании этих данных, нужно расчитать количество рабочих дней в заданном месеце с учётом флага.



McSimm   (2002-03-06 13:41) [1]

Придеться перебирать. Что-то вроде:
function WorkDayCount(Y, M: Word; SatIsWork: Boolean): Integer;
var I: Integer;
W: Word;
begin
Result := 0;
for I := 1 to DaysInAMonth(Y, M) do
begin
W := DayOfWeek(EncodeDate(Y, M, I));
if (W <> 1) and ((W <> 7 ) or SatIsWork) then Inc(Result)
end
end;

Функция DaysInAMonth есть в D6. Для D5 можно написать ее:
function DaysInAMonth(const AYear, AMonth: Word): Word;
begin
Result := MonthDays[(AMonth = 2) and IsLeapYear(AYear), AMonth];
end;



[NIKEL]   (2002-03-06 13:44) [2]

все понятно, спасибо!



Ura   (2002-03-06 14:38) [3]

Совет...
Есть еще сокращенные дни!
Или дополнительное время работы ;-) Добровольно обязательное...




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх








Память: 0.75 MB
Время: 0.018 c
14-66955          VladimirL             2002-02-04 15:18  2002.03.21  
Как сделать, чтобы в меню


1-66891           Vacheslav             2002-03-05 19:09  2002.03.21  
Как обработать событие перекрытия компонентов?


3-66737           dmitriyk              2002-02-19 03:29  2002.03.21  
Неужели никто не встречал TDBGrid, у которого можно было бы вставить картинку.


1-66896           Song                  2002-03-05 10:38  2002.03.21  
мне нужно послать Ctrl+A через WM_CHAR (или ещё как-то). Через SendMessage там есть последний параметр lKeyData.


7-67029           ene                   2001-12-21 18:04  2002.03.21  
ComPort busy???