Dynamic Powerbuilder语法。如何在此语句中使用FOR i=1到3循环替换这些数字
CBX代表复选框,我想尽量减少使用for循环的代码,但不知道PB识别语句连接的语法Dynamic Powerbuilder语法。如何在此语句中使用FOR i=1到3循环替换这些数字,dynamic,powerbuilder,Dynamic,Powerbuilder,CBX代表复选框,我想尽量减少使用for循环的代码,但不知道PB识别语句连接的语法 IF cbx_1.Checked = TRUE THEN fw_generate(1, cbx_1.Text) END IF IF cbx_2.Checked = TRUE THEN fw_generate(2, cbx_2.Text) END IF IF cbx_1.Checked = TRUE THEN fw_generate(3, cbx_3.Text) END
IF cbx_1.Checked = TRUE THEN
fw_generate(1, cbx_1.Text)
END IF
IF cbx_2.Checked = TRUE THEN
fw_generate(2, cbx_2.Text)
END IF
IF cbx_1.Checked = TRUE THEN
fw_generate(3, cbx_3.Text)
END IF
您需要构建一个复选框对象数组,然后可以循环使用。比如说, 在窗口上声明一个实例变量
CheckBox boxes[]
在窗口打开事件中添加代码以收集要循环的对象:
integer i
for i = 1 to UpperBound(this.control)
if TypeOf(this.control[i]) = CheckBox! Then
boxes[UpperBound(boxes) + 1] = this.control[i]
end if
next
注意,您可以使用希望在列表中包括(或不包括)给定控件的任何逻辑。在这里我添加了每个复选框,如果您只需要一些复选框,您可能需要在IF条件下进行更多测试
在控制数组中循环以执行任何需要的操作。例如,在按钮单击事件中,以下内容将翻转选中状态。
integer i
for i = 1 to UpperBound(boxes)
boxes[i].Checked = NOT boxes[i].Checked
next
顺便说一下,
如果cbx_1.Checked=TRUE,那么
是多余的。。。选中的Checked
属性是布尔属性,因此如果选中cbx_1.Checked,则
就足够了。您需要构建一个复选框对象数组,然后可以循环使用。比如说,
在窗口上声明一个实例变量
CheckBox boxes[]
在窗口打开事件中添加代码以收集要循环的对象:
integer i
for i = 1 to UpperBound(this.control)
if TypeOf(this.control[i]) = CheckBox! Then
boxes[UpperBound(boxes) + 1] = this.control[i]
end if
next
注意,您可以使用希望在列表中包括(或不包括)给定控件的任何逻辑。在这里我添加了每个复选框,如果您只需要一些复选框,您可能需要在IF条件下进行更多测试
在控制数组中循环以执行任何需要的操作。例如,在按钮单击事件中,以下内容将翻转选中状态。
integer i
for i = 1 to UpperBound(boxes)
boxes[i].Checked = NOT boxes[i].Checked
next
顺便说一下,如果cbx_1.Checked=TRUE,那么
是多余的。。。选中的Checked
属性是布尔属性,因此如果选中了cbx_1