![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 13.04.2015
Сообщений: 3
|
![]()
Добрый день, уважаемые знатоки!
Возникла передо мной нетипичная задача - переделать код формирования отчета. Условия: Каждое утро происходит формирование отчета о потреблении электроэнергии в период с 00:00 01 числа текущего месяца по 00:00 сегодняшнего дня. 30 апреля произойдет формирование отчета в период 00:00 01.04.2015г по 00:00 30.04.2015. А 1 мая отчет не сформируется, т.к. "dtStart = dtEnd then Exit; end;". А есть желание, чтобы 1 мая отчет сформировался за 00:00 01.04.2015 - 00:00 01.05.2015г. Даю вводные: Код:
Код:
Заранее, спасибо! Последний раз редактировалось WhiteSadKat; 14.04.2015 в 08:29. |
![]() |
![]() |
![]() |
#2 |
Регистрация: 13.04.2015
Сообщений: 3
|
![]()
Разве никто не может подсказать?
|
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Я вот не смог понять что за отчет, и чего ты хочешь.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Нельзя жестко забить константы на месяца?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,370
|
![]()
Так понимаю, что надо формировать отчет с первого числа предыдущего месяца по первое число текущего месяца.
В этом случае при формировании (кодировании) даты старта надо отнимать 1 из месяца. Вместе с тем, если это только в середине года, то и все, а если, например, надо будет посчитать и за период с первого декабря предыдущего года по 1-е января текущего, то следует вычитать и из года. Аватар Цитата:
dtEnd - это кодированная дата, которая декодируется и значения сохраняются в переменных dtYear, dtMonth, dtDay. И какой у нее формат? Можно ли в этом случае писать dtEnd-1. А если формат DDMMYYYY ? Как-то так, ...
Как-то так, ...
|
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
dtEnd обыкновенный TDateTime, из которого DecodeDate выдергивает год и прочее. А формат у TDateTime - вещественное, точнее Double, целая часть - порядковый номер дня от 30 декабря 1899г., дробное - время, 0.5 - 12 часов. Так что отнимая единицу от 01/01/2015 неизбежно получим 31/12/2014
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 12.05.2015 в 22:13. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,370
|
![]()
Спасибо за пояснение. Так понял, что дата - это Юлианские дни.
Самому не приходилось использовать такие процедуры. Как-то так, ...
Как-то так, ...
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 13.04.2015
Сообщений: 3
|
![]()
Ребята, спасибо, буду пробовать. В начале следующего месяца отпишусь))
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Формирование отчета | Simply-Art | SQL, базы данных | 3 | 30.07.2014 04:39 |
Формирование отчета в Rave. | lovetolaugh | БД в Delphi | 2 | 11.06.2011 20:43 |
Формирование отчета | Jenikj | Microsoft Office Access | 2 | 15.04.2011 13:15 |
Формирование отчета по условию | timesoon | Microsoft Office Access | 0 | 28.05.2010 21:44 |