![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Операции с датой [D7]
NonProgrammer © (2004-07-09 04:26:00)Здравствуйте,
есть база хранящая информацию о входящей почте, на каждое письмо нужно ответить, по умолчанию через 10 дней, но это число изменяется пользователем. Нужно сделать окно в котором будут отражаться письма, на которые нужно ответить, например через 2 дня, как напоминание для оператора. Ни в одной имеющейся у меня книге об операциях с датой я не нашел :( Подскажите пожалуйста, хотябы натолкните на мысль
Anatoly Podgoretsky (2004-07-12 09:00:00) [1]NonProgrammer (12.07.04 03:06) [9]
А это ты сам решил или тебе сказали?
KilkennyCat (2004-07-12 03:19:00) [2]
> NonProgrammer (12.07.04 03:06) [9]
не может этого быть. число можно прибавить даже к строке.
Изучите справку по TDateTime... там же все очень просто!
NonProgrammer (2004-07-12 03:06:00) [3]Дело в том, что делфи не позволяет прибавлять число к дате
KilkennyCat (2004-07-12 03:01:00) [4]
> NonProgrammer (12.07.04 02:54) [7]
сложный вопрос... две делимитры... ну, в любом случае, три варианта всего:
22.07.2004
12.17.2004
12.07.2014
хотя, может, прибавится каждому... тогда
22.17.2014
NonProgrammer (2004-07-12 02:54:00) [5]И сколько же получится 12.07.2004 + 10?
Anatoly Podgoretsky (2004-07-09 07:42:00) [6]Прибавлять количество дней надо оператором +
KADAN (2004-07-09 07:27:00) [7]Returns the number of whole days between two specified TDateTime values.
Unit
DateUtils
Category
date/time routines
function DaysBetween(const ANow, AThen: TDateTime): Integer;
Description
Call DaysBetween to obtain the difference, in days, between two TDateTime values.
DaysBetween counts only whole days that have elapsed. Thus, DaysBetween reports the difference between Dec 31, 1999 11:59 PM and Jan 1, 2000 11:58 PM as 0 because the difference is one minute short of an entire day.
NonProgrammer (2004-07-09 06:46:00) [8]так как прибавить к дате integer (количество дней) чтобы в результате получилась дата
ЮЮ (2004-07-09 05:44:00) [9]>на каждое письмо нужно ответить, по умолчанию через 10 дней, но это число изменяется пользователем
Меняется для всех сразу (типа глобальная константа) или для конкретного письма (типа есть поле "Ответить через N дней)?
в первом случае
WHERE
(Letter.AnswerDate IS NULL) and
(Letter.ReсeiveDate + <дней на ответ> - <два дня> >= <сегодня>)
во втором
(Letter.AnswerDate IS NULL) and
(Letter.ReсeiveDate + Letter.DaysPerAnswer - <два дня> >= <сегодня>)
MIGUR (2004-07-09 05:01:00) [10]Чтобы не маяться ху*ней используй LMD Tools 7.0 в нем есть такой компанент как lmdalarmcomponent, то что тебе и надо.
для D7: http://www.torry.net/vcl/packs/huge/setupt7d7.zip
и незабуть найти crack, забыл откуда качал, если ненайдеш сообщи на мыло вышлю.
Fay (2004-07-09 04:57:00) [11]F1 нажимали? Если Вы москвич, то могу одолжить (на небольшой срок) клавиатуру у которой эта кнопка исправна.
P.S.
А какие операции Вас интересуют?