2

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

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

因此,正如我所说,一旦我打开我的程序,两个字段都会立即填充今天日期和一个月前日期的值。

我怎么能那样做?有什么建议可以让我继续前进吗?

4

2 回答 2

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在这个时候。

于 2013-07-09T17:34:26.617 回答
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

最好的问候加博尔

于 2013-07-09T17:39:13.570 回答