1

我试图在 Lazarus Pascal 上理解这一点

注: dtWeekEnding是类型TDateEdit

ShowMessage( LongDayNames[DayOfTheWeek( dtWeekEnding.Date) ]);

我的预期输出是dtWeekEnding 中给定值的日期名称。但我必须提出问题:

  1. 我收到一条警告说LongDayNames已被弃用。那我应该用什么?
  2. 返回的日期名称不正确。在(下拉)日历上,它清楚地显示了这一天,但消息框是它的前一天。

我错过了什么吗?请指教。

编辑:为了它的价值,我试过这个:

ShowMessage( LongDayNames[DayOfTheWeek( dtWeekEnding.Date) +1 ]); //Added 1 to the answer.

当我尝试上述更改时,所有日子都正确显示,但不是星期天。周日根本没有出现。例如,选择 9 月 1 日不会显示任何内容作为当天的名称。

谢谢!

4

1 回答 1

0
  1. 在后来的 Delphis 中,这些设置移到了名为“FormatSettings”的 TFormatsettings 记录中。FPC 多年来一直采用这种结构,并且弃用了旧的(就像最近的 Delphi 版本一样)。

  2. 这是 dayofTHEweek() 与 dayofweek() 对一周的第一天的定义不同。

在dayofweek帮助中有一个注释,但我现在还添加了来自帮助主题的短日名称和长日名称的参考希望能更清楚地说明这一点(将在下一个版本的文档中可见)

于 2013-09-08T17:49:34.383 回答