Delphi и Outlook TaskItem: Как узнать, является ли DueDate пустым? - PullRequest
2 голосов
/ 06 мая 2010

Это кажется легким делом, но я ничего не мог найти на нем.

Как определить, является ли вариант даты в Outlook «пустым»? Например TaskItem.DueDate - duedate не обязательно заполнен.

Если он не заполнен, Outlook возвращает «4501.01.01». - Я могу проверить это значение, но оно не выглядит достаточно «элегантным».

Спасибо!

Ответы [ 2 ]

4 голосов
/ 07 мая 2010

1/1/4501 - это значение, которое Outlook использует для DATE_NONE. Многие документы в MSDN относятся к этой детали реализации.

2 голосов
/ 06 мая 2010

Если это то, что возвращается, когда дата не заполнена, то это, вероятно, самый простой способ проверить это. Если это означает, что ваш код оказывается менее элегантным, чем должен быть (и я согласен, это так), то это вина Microsoft, а не ваша.

Одна вещь, которая сделала бы код лучше, это объявить 4501.01.01 как const . Назовите это EMPTY_DATE или что-то в этом роде, а затем протестируйте код против EMPTY_DATE вместо литерала. Таким образом, очевидно, что вы проверяете, когда читаете код.

...