5735988 发表于 2025-10-27 19:54:06

Case 终止,是不是有个命令,符合条件退出当前段【已解决】

本帖最后由 5735988 于 2025-12-29 03:59 编辑

Case 终止,是不是有个命令,符合条件退出当前段,运行一半符合条件,就退出

UBound($5_bei_shu) > 0   这个符合条件了,就不执行后面的,
只执行其中一个。
$bei_shu = "6" 他的结果一共20个,   运行到符合6的时候, 就退出, 后面的不运行了。
Select


Func Example_mi()
      $nOffset = @extended
      Select
                Case UBound($6_bei_shu) > 0
                        $bei_shu = "6"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($5_bei_shu) > 0
                        $bei_shu = "5"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($4_bei_shu) > 0
                        $bei_shu = "4"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($3_bei_shu) > 0
                        $bei_shu = "3"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($2_bei_shu) > 0
                        $bei_shu = "2"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)

                Case UBound($1_bei_shu) > 0
                        $bei_shu = "1"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                        
                Case UBound($10_bei_shu) > 0
                        $bei_shu = "10"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($9_bei_shu) > 0
                        $bei_shu = "9"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($8_bei_shu) > 0
                        $bei_shu = "8"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($7_bei_shu) > 0
                        $bei_shu = "7"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)

                Case UBound($20_bei_shu) > 0
                        $bei_shu = "20"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($19_bei_shu) > 0
                        $bei_shu = "19"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($18_bei_shu) > 0
                        $bei_shu = "18"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($17_bei_shu) > 0
                        $bei_shu = "17"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($16_bei_shu) > 0
                        $bei_shu = "16"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($15_bei_shu) > 0
                        $bei_shu = "15"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($14_bei_shu) > 0
                        $bei_shu = "14"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($13_bei_shu) > 0
                        $bei_shu = "13"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($12_bei_shu) > 0
                        $bei_shu = "12"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case UBound($11_bei_shu) > 0
                        $bei_shu = "11"
                        MsgBox(4096, "多少元", $bei_shu & " 元", 0.5)
                Case Else
                        Beep(400, 350)
                        $bei_shu = " "
      EndSelect
      IniWrite(@ScriptDir & "\临时文件.ini", "临时文件", "直", $bei_shu);"写入组倍数
EndFunc   ;==>Example_mi

邪恶海盗 发表于 2025-10-27 20:18:24

你这个运行逻辑有问题,请看case的帮助说明:

Case <表达式>如果表达式(第一个)为真则执行从下一行开始一直到下一个 Case 或 EndSelect 为止的所有语句.如果有多个Case表达式都成立则只执行第一个Case语句.

二○二五年十月二十七日

3131210 发表于 2025-10-27 20:21:57

显然你的表达就有问题
你如果是希望满足任意条件就返回,那你当前的代码就已经达到你的需求

5735988 发表于 2025-10-28 01:25:23

本帖最后由 5735988 于 2025-10-28 01:27 编辑

邪恶海盗 发表于 2025-10-27 20:18
你这个运行逻辑有问题,请看case的帮助说明:

二○二五年十月二十七日
如果表达式(第一个)为真则执行从下一行开始一直到下一个Case 或 EndSelect 为止的所有语句

我的理解为   ,他运行第一个 Case为真,就是符合条件了,   他还继续运行后面的所有语句,Case...就会浪费时间

haijie1223 发表于 2025-10-28 10:10:21

5735988 发表于 2025-10-28 01:25
如果表达式(第一个)为真则执行从下一行开始一直到下一个Case 或 EndSelect 为止的所有语句

我的理解为...

后面的不会再执行

邪恶海盗 发表于 2025-10-28 13:59:33

5735988 发表于 2025-10-28 01:25
如果表达式(第一个)为真则执行从下一行开始一直到下一个Case 或 EndSelect 为止的所有语句

我的理解为...

所以说你设计的运行逻辑有问题,需要重新设计...


二○二五年十月二十八日
页: [1]
查看完整版本: Case 终止,是不是有个命令,符合条件退出当前段【已解决】