Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не правильно работает MonthsBetween [D7, WinXP]


Страницы:   1 2 3 4

kyn66 ©   (2009-02-06 11:42:00) 

Добрый день. Использую RX компонент function MonthsBetween(Date1, Date2: TDateTime): Double;
Впервые пришлось его применить . Однако после применения обнаружил неверно выдаваемые результаты. Вот оригинальная функция:

function MonthsBetween(Date1, Date2: TDateTime): Double;
var
 D, M, Y: Word;
begin
 DateDiff(Date1, Date2, D, M, Y);
 Result := 12 * Y + M;
 if (D > 1) and (D < 7) then Result := Result + 0.25
 else if (D >= 7) and (D < 15) then Result := Result + 0.5
 else if (D >= 15) and (D < 21) then Result := Result + 0.75
 else if (D >= 21) then Result := Result + 1;
end;


У меня разница в датах 22 дня. Т.е. по идее функция перемещается на строку else if (D >= 21) then Result := Result + 1; и получается на выходе 1. Т.е. разница в датах = 1 мес. Это в корне неверно. 22 дня и 2 мес. Почему так? В чем дело? Как лечить?


Jeer   (2009-02-06 12:22:00) [61]


> Однако после применения обнаружил неверно выдаваемые результаты.


Это с твоей точки зрения.
Напиши свою - "правильную" реализацию.
Там все прозрачно.


Сергей М.   (2009-02-06 12:10:00) [62]


> дальше будем по делу обсуждать?


Будем, если ты приведешь оригинальный текст всего того, что скрывается за DateDiff, а также конкретные Double-значение, которые ты передаешь вх.параметрами в метод MonthsBetween


kyn66   (2009-02-06 12:07:00) [63]

>Сергей М
Ну мастер такого класса мог догадаться, что это опечатка была, ессно метод. Я думаю дальше будем по делу обсуждать? ;)


Сергей М.   (2009-02-06 11:59:00) [64]


> Использую RX компонент function MonthsBetween


Это что,так компонентназывается ?
Или это методкакого-то оригинального классаиз RXLib ?


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо