找回密码
 加入
搜索
查看: 7934|回复: 21

[AU3基础] 有更好的方法防止很多if出现吗?

 火.. [复制链接]
发表于 2010-3-2 12:55:38 | 显示全部楼层 |阅读模式
$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
发表于 2010-3-2 13:20:00 | 显示全部楼层
方法应该有很多,根据情况来定。

Select...Case...EndSelect
--------------------------------------------------------------------------------

条件运行语句.


Select
    Case <表达式>
        语句1
        ...
    [Case <表达式>
        语句2
        ...]
    [Case Else
        语句N
        ...]
EndSelect
 楼主| 发表于 2010-3-2 13:23:50 | 显示全部楼层
这个是不行的。。。
因为我的判断是三个变量。有三种结果。
而不是一个变量,有三个结果中的唯一结果。
发表于 2010-3-2 13:25:29 | 显示全部楼层
哦!嘿嘿!不好意思啊!
发表于 2010-3-2 13:41:31 | 显示全部楼层
貌似LZ想用表驱动
发表于 2010-3-2 14:34:18 | 显示全部楼层
IF ELSEIF ELSEIF ELSE 也可以实现的。
发表于 2010-3-2 14:51:09 | 显示全部楼层
每个都是独立的标示,该判断就必须判断,IF不怕多,怕的更多的条件没被判断。
发表于 2010-3-2 15:49:28 | 显示全部楼层
貌似LZ想用表驱动
afan 发表于 2010-3-2 13:41


表驱动?听过,但不了解,前辈能否举例说明下呢?
发表于 2010-3-2 15:53:05 | 显示全部楼层
回复 8# 水木子

练习001 - 计算字符串长度 --- 出题目的:“表驱动法”的初步认识。
    http://www.autoitx.com/thread-11432-1-3.html
 楼主| 发表于 2010-3-2 15:56:37 | 显示全部楼层
回复 6# zuiyi


    你好,我有三个变量,每个变量有两种可能。所以,这个是没有办法的。
这个如果第一个条件满足,第二个elseif就不会再判断直接到endif了。
发表于 2010-3-2 15:57:35 | 显示全部楼层
最好还是放进数组 实在不行名字有规律 就用Execute("$flag"&?)
发表于 2010-3-2 16:01:12 | 显示全部楼层
回复 9# afan

谢谢!前辈,抽空研究研究
发表于 2010-3-2 16:02:55 | 显示全部楼层
本帖最后由 rolaka 于 2010-3-2 16:11 编辑
回复  水木子

练习001 - 计算字符串长度 --- 出题目的:“表驱动法”的初步认识。
afan 发表于 2010-3-2 15:53

好像严格来说 这不能算表驱动...表驱动不应该是这样的 在数组里搜索 拥有完整的index概念才能说是表驱动法把- -

这只能说是迭代把


= = 这算表驱动法 算= =+
发表于 2010-3-2 16:04:20 | 显示全部楼层
好像严格来说 这不能算表驱动...表驱动不应该是这样的 在数组里搜索 拥有完整的index概念才能说是表驱动法 ...
rolaka 发表于 2010-3-2 16:02



    我瞎猜的……
发表于 2010-3-2 16:05:19 | 显示全部楼层
我瞎猜的……
afan 发表于 2010-3-2 16:04



    = = 我可能矫情了....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-19 06:18 , Processed in 0.084121 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表