当前位置:首页 > 技能相关 > PowerBuilder > 正文内容

PB PowerBuilder中流程控制语句

admin1年前 (2024-01-01)PowerBuilder4890 修订时间:2024-01-01 12:29:55

PB 基本的流程控制语句主要有:

If .... Else

For
While
Choose Case
goto
Break
Continue

1、If基本形式有:

If ( i > 0 ) Then
     //i > 0 时的处理
ElseIf( i = 0 ) Then
   //ElseIf 非必须存在的,可以有也可以没有
Else
   //也非必须存在的
End If
If i > 0 Then
  //处理
   //这个就是没有 ElseIf ,Else 字句的
End If
If ( i > 0 ) Then // 处理

//这个语句只适用这种情况,没有end If ,且处理只有一条语句,这些语句也必须要写在后面才行,不可另起一行

2. For

这个是pb中用的最多的循环了 ,基本形式

For i = 1 To 10
    //循环10次, 这里可以直接引用i ,i会自动累加1
    //其实这个For是有点省略的,它和For i = 1 To 10 Step 1是等同的,也就是默认的Step 是1
    //For i = 1 To 10 Step 2 也就是每次跳2个,i取值 1 ,3,5,7,9 也就是循环5次 ,其他类似
    //For i = 10 To 1 这个是不执行的循环的
    //For i = 10 To 1 Step -1 这个就是倒序了,i的取值依次是 10,9,8,7,6,5,4,3,2,1
 
    i = 4
    //在程序中也可以改变i的值,第一次循环i = 1 ,执行到这句后i=4,第一次循环后自动i累加 i = 5
    //也就是这个循环i的取值依次是 1,5,6,7,8,9,10
Next

3. Choose Case

这个功能和If有点类似,直接看实例

i = 3
Choose Case i
    Case 1
        //如果i = 1 执行这里
    Case 2
        //如果i = 2 执行这里
    Case 3
        //如果i = 4 执行这里
    Case 4
        //如果i = 4 执行这里
    Case 10 To 20
        //如果i 取值在 [10,20] ,那么执行这里
    Case Is > 100
        //如果i > 100 执行这里
        //这里Is作为一个关键字出现的,他代表 Choose Case 后面的表达式
    Case Else
        //以上都没满足的就执行这里
        //这个也不是必须有的,也可以不用Case Else
End Choose

4. Break 跳出

主要针对循环用得比较多,也就是跳出循环,例如:

For i = 1 To 10
    If i = 4 Then
       Break
    End If
Next

i = 4时直接就跳出这个for循环了,继续执行下面的代码 ,也就是这个循环就执行了4次 ,i取值依次是1,2,3,4

5. Continue 

For循环中使用 ,跳出本次循环

j = 0
For i = 1 To 10
   If i = 4 Then
      Continue
   End If
   j ++
Next
i = 4 时执行Continue,就跳出了本次循环,也就是不执行j++了,直接下一次循环也就是执行i=5那次循环了
i取值一次是 1,2,3,4,5,6,7,8,9,10 。但是J++就执行了9次,i=4那次没执行

6. Goto

跳转,可以实现执行时的跳跃,也就是现在正执行第10行代码,下次应该执行11行,只用goto就可以直接跳到20行,30行类似。。

j = 0
If i = 1 Then
    goto Retn
Else
    j ++
End If
j = j + 10
Return // 这个return是阻止代码向下执行,如果没有这句,那么不管i等于几 ,j的值都会是3
Retn:
j = 3
//如果 i=1 ,那么就不执行 j = j+10 这一步了,因为直接跳过去了

7. While ,Until

integer A = 1, B = 1
DO UNTIL A > 15
  Beep(A)
  A = (A + 1) * B
LOOP
integer A = 1, B = 1
DO WHILE A <= 15
  Beep(A)
  A = (A + 1) * B
LOOP
integer A = 1, B = 1
DO
  Beep(A)
  A = (A + 1) * B
LOOP UNTIL A > 15
integer A = 1, B = 1
DO
  Beep(A)
  A = (A + 1) * B
LOOP WHILE A <= 1
 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/?id=375

分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。