小编Ets*_*liv的帖子

如何从TDateTimePicker读取日期和时间

我真的很困惑.我想做的事情(看起来很简单)是在TDateTimePicker中显示日期+时间,并集成日历,并且能够在其值发生变化后读取它.

我想使用dd/MM/yyyy hh:mm格式.

由于TDateTimePicker不是TDateOrTimePicker,因此使用的是:

  • 种类:dtkDate(显示日历)
  • 格式:'dd/MM/yyyy hh:mm'

看起来很好,现在让我们读一读:

showmessage(DateTimeToStr(DateTimePicker1.Date)); 
Run Code Online (Sandbox Code Playgroud)

仅正确显示日期.不考虑hh:mm部分的变化.我总是得到默认值.然后我想:还有一个Time属性,也许我需要读取2次的值.

 showmessage(DateTimeToStr(DateTimePicker1.Time));
 showmessage(DateTimeToStr(DateTimePicker1.Date));
Run Code Online (Sandbox Code Playgroud)

但我有与以前完全相同的输出(和问题).所以现在,让我们尝试将此Kind属性更改为dtkTime,然后读取时间,然后将其切换回dtkDate,然后读取日期.

但不,它仍然无效.将Kind属性从dtkDate切换到dtkTime会删除hh:mm部分的输入.


我知道我实际上应该使用2个TDateTimePickers:一个用于日期,一个用于时间.

所以我的问题是:

  • 有没有一种简单的方法来解决我的简单和非常常见的问题(一个真正的DateTimePicker)?

还有一个Delphi设计问题:

  • 为什么Format属性基本上没用且误导?拥有TimeFormat,DateFormat和正确的格式验证过程并不难.

请注意,我发布这个问题主要是为了避免初学者做同样的调试和挫折的过程.

delphi datetime datetimepicker datetime-format delphi-xe7

1
推荐指数
1
解决办法
9908
查看次数

SQL*Plus 脚本执行两次

我正在尝试使用 sqlplus 运行脚本。我的脚本是一个简单的删除语句。我通过将以下内容放入我的 ksh 终端来执行它:

sqlplus username/'password' @../sql/delete_societes.sql
Run Code Online (Sandbox Code Playgroud)

../sql/delete_societes.sql 是

DELETE FROM f2020.SOCIETES;
/
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它运行了两次,导致输出“0 行被删除”被打印两次并在我尝试执行插入而不是删除时导致错误。

oracle ksh sqlplus

1
推荐指数
1
解决办法
460
查看次数