在打开时以单行编辑设置日期

时间:2013-07-09 16:43:28

标签: date powerbuilder

我正在使用PowerBuilder 10.5,我的窗口中有两个单行编辑(SLE)字段 - sle_date1sle_date2

打开程序后,我需要填写这两个字段。 sle_date2必须具有今天的值(例如 - 09.07.13),sle_date1必须具有(sle_date2 - 30天)的值(例如09.06.13)。

所以,正如我所说,一旦我打开我的程序,这两个字段将立即填入今天的日期值和一个月前的日期值。

我怎么能这样做?有什么建议只是为了让我去?

2 个答案:

答案 0 :(得分:1)

  • 您可以添加一些代码来填充窗口open()事件中的修改
  • 指定的日期可以是today(),您可以使用RelativeDate()
  • 计算新日期加上/减去天数

以下代码只回答了您的问题(虽然最好使用一些editmask控件而不是singlelineedit,因为它可以简化用户输入的处理方式):

date ld_now, ld_previousmonth
string ls_datefmt

ls_datefmt = "dd.mm.yy"
ld_now = today()
sle_1.text = string(ld_now, ls_datefmt)
ld_previousmonth= RelativeDate(ld_now, -30)
sle_2.text = string(ld_previousmonth, ls_datefmt)

此时显示09.07.1309.06.13

答案 1 :(得分:1)

首先你需要打开你的窗口。您可以将此代码放入应用程序打开事件中(假设您的窗口是w_main):

open(w_main)

之后将此代码放入窗口的开放事件中:

sle_date1.text  = string(today())
sle_date2.text  = string(RelativeDate(Today(), -30))

我认为这可以解决您的问题。这是RelativeDate的一点帮助:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.pocketbuilder_2.0.pkpsref/html/pkpsref/pkpsref662.htm

最诚挚的问候 的Gabor