Delphi和Outlook TaskItem:如何知道DueDate是否为空?

时间:2010-05-06 19:42:10

标签: delphi outlook automation date

这看起来很简单,但我找不到任何东西。

如何检测Outlook中的日期变量是否为“空”?例如,TaskItem.DueDate - 不必填充duedate。

如果没有填写Outlook返回“4501.01.01”。 - 我可以测试这个值,但这似乎不够“优雅”。

谢谢!

2 个答案:

答案 0 :(得分:4)

1/1/4501是Outlook用于DATE_NONE的值。 MSDN上的Many documents参考此实现细节。

答案 1 :(得分:2)

如果这是未填充日期时返回的内容,那么这可能是测试它的最简单方法。如果这意味着你的代码变得不那么优雅,(我同意,那就是),这是微软的错,而不是你的。

使代码看起来更好的一件事是将4501.01.01声明为 const 。将其称为EMPTY_DATE或类似的内容,然后针对EMPTY_DATE而不是文字对代码进行测试。这样,当您阅读代码时,您正在检查的内容很明显。