Topic: К дате прибавить год

procedure si_DateTimePicker1_OnChange (Sender: string);
var
     i,m,y : integer;
     c : real;
     DD, MM, YY, YYNow: word;
begin

     // проверяем корректность ввода количества дней
     try
         i := StrToInt(si.Edit5.Text); // межповерочный интервал
         c := i/12*365  // преобразуем месяци в дни
     except
         i := 0; // если например в Edit5 ввели текст, то возникла ошибка преобразования в число
     end;

     si.DateTimePicker2.Date := si.DateTimePicker1.Date + c; // прибавляем i дней

     DecodeDate(si.DateTimePicker2.DateTime, YY, MM, DD);  // декодируем дату поверки
     si.Edit6.Text := (IntToStr(MM));  // извлекаем месяц
     si.Edit8.Text := (IntToStr(YY));  // извлекаем год
     m := StrToInt (si.Edit6.Text);
     y := StrToInt (si.Edit8.Text);

     if  (m >=1) and (m <=3)  then si.Edit7.Text := '1'; // определяем квартал
     if  (m >=4) and (m <=6)  then si.Edit7.Text := '2';
     if  (m >=7) and (m <=9)  then si.Edit7.Text := '3' ;
     if  (m >=10) and (m <=12)  then si.Edit7.Text := '4';

end;

Нашел такой скрипт, считает дату следующей поверки приборов и записывает год и квартал поверки. Очень удобно, но межповерочный интервал у автора считается в днях (месяцы преобразует в дни). Мне же надо чтобы прибавлялись не дни, а месяцы, или годы. Если подредактировать этот скрипт, то это можно сделать, но так как в году не всегда 365 дней, то данные получаются некорректные.

2 (edited by k245 2019-10-29 15:54:32)

Re: К дате прибавить год

Используйте функцию IncMonth() - она возвращает исходную дату, увеличенную  на нужное количество месяцев.

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=5925&amp;download=0

Post's attachments

Attachment icon inc.png 29.98 kb, 127 downloads since 2019-10-29 

Визуальное программирование: блог и телеграм-канал.

3 (edited by Nilaus_1 2019-10-30 05:04:58)

Re: К дате прибавить год

k245 Спасибо!
Почему-то в наборе функций у меня такой нет. Это с программы скриншот? У совсем по другому.

4 (edited by k245 2019-10-30 07:47:38)

Re: К дате прибавить год

Возможно, требуется обновление до последней версии:


http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&amp;item=5926&amp;download=0

Post's attachments

Attachment icon версия.png 73.92 kb, 155 downloads since 2019-10-30 

Визуальное программирование: блог и телеграм-канал.