有更好的方法防止很多if出现吗?
$flag0 = 1$flag1 = 1
$flag2 = 0
if $flag0 = 1 Then
msgbox(0, 0, "flag0")
;这里有更多代码,所有不能放在一行,省略掉endif
Endif
if $flag1 = 1 Then
msgbox(0, 0, "flag1")
;这里有更多代码,所有不能放在一行,省略掉endif
Endif
if $flag2 = 1 Then
msgbox(0, 0, "flag2")
;这里有更多代码,所有不能放在一行,省略掉endif
Endif 方法应该有很多,根据情况来定。
Select...Case...EndSelect
--------------------------------------------------------------------------------
条件运行语句.
Select
Case <表达式>
语句1
...
[Case <表达式>
语句2
...]
[Case Else
语句N
...]
EndSelect 这个是不行的。。。
因为我的判断是三个变量。有三种结果。
而不是一个变量,有三个结果中的唯一结果。 哦!嘿嘿!不好意思啊!:face (27): 貌似LZ想用表驱动 IF ELSEIF ELSEIF ELSE 也可以实现的。 每个都是独立的标示,该判断就必须判断,IF不怕多,怕的更多的条件没被判断。 貌似LZ想用表驱动
afan 发表于 2010-3-2 13:41 http://www.autoitx.com/images/common/back.gif
表驱动?听过,但不了解,前辈能否举例说明下呢? 回复 8# 水木子
练习001 - 计算字符串长度 --- 出题目的:“表驱动法”的初步认识。
http://www.autoitx.com/thread-11432-1-3.html 回复 6# zuiyi
你好,我有三个变量,每个变量有两种可能。所以,这个是没有办法的。
这个如果第一个条件满足,第二个elseif就不会再判断直接到endif了。 最好还是放进数组 实在不行名字有规律 就用Execute("$flag"&?) 回复 9# afan
谢谢!前辈,抽空研究研究:face (29): 本帖最后由 rolaka 于 2010-3-2 16:11 编辑
回复水木子
练习001 - 计算字符串长度 --- 出题目的:“表驱动法”的初步认识。
afan 发表于 2010-3-2 15:53 http://www.autoitx.com/images/common/back.gif
好像严格来说 这不能算表驱动...表驱动不应该是这样的 在数组里搜索 拥有完整的index概念才能说是表驱动法把- -
这只能说是迭代把
= = 这算表驱动法 算= =+ 好像严格来说 这不能算表驱动...表驱动不应该是这样的 在数组里搜索 拥有完整的index概念才能说是表驱动法 ...
rolaka 发表于 2010-3-2 16:02 http://www.autoitx.com/images/common/back.gif
我瞎猜的…… :face (32): 我瞎猜的……
afan 发表于 2010-3-2 16:04 http://www.autoitx.com/images/common/back.gif
= = 我可能矫情了....
页:
[1]
2