Dynamic Powerbuilder语法。如何在此语句中使用FOR i=1到3循环替换这些数字

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

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

您需要构建一个复选框对象数组,然后可以循环使用。比如说,

在窗口上声明一个实例变量

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