在查看System.pas时,TDate和TDateTime定义如下:
TDateTime = type Double;
TDate = type TDateTime;
TTime = type TDateTime;
Run Code Online (Sandbox Code Playgroud)
显然TDate和TDateTime是一样的.
我只是努力与TDate和TDateTime合作,因为我预计TDate只包含日期部分,而不是时间部分.
现在我想知道:这背后的意义是什么?当我将变量声明为TDate时,它应该包含一个日期,而不是一个数据和一个时间值.
他们不一样.如果声明已经
TDate = TDateTime;
TTime = TDateTime;
Run Code Online (Sandbox Code Playgroud)
他们曾经是相同的.除了type它们之外,虽然它们在技术上仍然相同,即它们仍然double是s,但它们可以分开讲述.例如,这使得可以在Object Inspector中为两种类型(分别是日期选择器和时间选择器)使用不同的属性编辑器,而您可以使用"日期时间"选择器TDateTime.
此外,即使不是这样,为不同的目的使用不同的"别名"也许是好的.这可能会使您的源代码更容易理解.例如,如果你这样做
var
StartTime: TDate;
Run Code Online (Sandbox Code Playgroud)
然后你知道StartTime它只包含有关日期的信息,而不包含时间(除非你滥用规范).
| 归档时间: |
|
| 查看次数: |
3920 次 |
| 最近记录: |