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

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

Операции с датой [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.
А какие операции Вас интересуют?


Наверх

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