找回密码
 加入
搜索
查看: 1775|回复: 7

AU3有没有变量宏替换这种用法的?

  [复制链接]
发表于 2009-12-9 03:37:59 | 显示全部楼层 |阅读模式
比如说我有三个变量$i,$a1,$a2
当$i=1时,操作的对象是$a1,
当$i=2时,操作的对象是$a2,
现在两个变量当然用if...else...可以,但如果有一千几百个,有没其它语言这种直接把$i代入$a?这种操作方式?
谢绝数组。
最主要是了解AU3有没这种用法。
 楼主| 发表于 2009-12-9 07:35:47 | 显示全部楼层
早上再过来顶顶,看有没人知道
发表于 2009-12-9 08:47:17 | 显示全部楼层
本帖最后由 水木子 于 2009-12-9 08:48 编辑

Au3当然也可以。

条件运行语句.
Select
    Case <表达式>
        语句1
        ...
    [Case <表达式>
        语句2
        ...]
    [Case Else
        语句N
        ...]
EndSelect

不过LZ有1千多个,这么多条件用这个显然很繁琐。
不知能不能UDF来写,待高手来帮你解答吧!
 楼主| 发表于 2009-12-9 10:07:20 | 显示全部楼层
呵,楼上的没理解我什么意思,可能是我表达的不好
我的意思象其它语言一样用代入的方式,
并不需要用分叉
例如我给程序的是$d$i+=1,系统就会帮$d1加1
发表于 2009-12-9 10:24:15 | 显示全部楼层
用Eval啊


$a1=1
$a2=2
For $i=1 to 2
        ConsoleWrite(Eval('a'&$i)&@LF)
Next
 楼主| 发表于 2009-12-10 00:46:05 | 显示全部楼层
谢谢楼上的,狠好,单变量可以这样做:
比如说有变量$a1,$a2,$a3......$an
现在根据$i的值来决定上面哪个变量加1
assign("a"&$i,eval("a"&$i)+1)
问题解决!!!

再来一个问题
如果我的变量不是这么简单,
我有N个数组:$a1[0],$a2[0],$a3[0].....$an[0]
我现在要根据$i的值来决定把内容添加到相应的数组中,
比如$i=1,则加到$a1[0]中,
比如$i=3,则加到$a3[0]中,
。。。。。。
发表于 2009-12-10 01:02:34 | 显示全部楼层
dim $a[$i]
 楼主| 发表于 2009-12-10 06:05:00 | 显示全部楼层
dim $a[$n][$x]
好主意
不过,我这里$a1[0]......$an[0]因为实际情况不同,其下标会不一样,如果统一起来的话。。。。只能取最大的,不只浪费内存,而且不好操作。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 14:59 , Processed in 0.092489 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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