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

AU3脚本中能调用子程序吗,我似乎没看到这方面的命令啊?

[复制链接]
发表于 2008-12-24 11:32:31 | 显示全部楼层 |阅读模式
AU3脚本中能调用子程序吗,我似乎没看到这方面的命令啊?我想自己编个脚本,读取屏幕色点和鼠标键盘控制的命令都查到了,但是没有关于子程序的调用及无条件转移命令(如goto )呢?哪位高手能解答一下吗?

[ 本帖最后由 ahphsautoit 于 2008-12-29 09:54 编辑 ]
发表于 2008-12-24 14:00:40 | 显示全部楼层
Call ( "函数" [, 参数1[, 参数2 [, 参数N ]]] )
 楼主| 发表于 2008-12-24 16:05:45 | 显示全部楼层

关于2楼的回答,再问得详细点

我把我的问题举个例子吧(比如用按键精灵编的脚本类):
1 如果  什么什么 为真,
2 则 调用 子程序A
3 否则
4 goto(无条件转移)1(脚本的第一行的命令)
5 ifend
6...
7...
85 ....(语句行85到96为子程序A的全部语句行)
96....


我想问的是,像这个按键的脚本里,能够实现从语句行4直接跳转到语句行1执行,或者从语句行2跳到语句行85(子程序)执行,
在AU3中,
怎么实现这样的动作????
百思不得其解,烦请高手多多指教!!!
 楼主| 发表于 2008-12-24 16:17:35 | 显示全部楼层
再补充一点:
我要判断几个坐标点的颜色,再根据坐标点的颜色还判断该执行什么样的鼠标动作,如果某点的颜色不符合预期的值,就将检测下一个点的颜色,如果是预期的值,那么执行相应的鼠标动作后也将检测某一个新坐标的值,如此循环,如果不能实现3楼所述的那种跳转到某一条语句行执行的话,那岂不是编写出的源码将变得庞大且杂乱无章了?(请原谅我现在还实在是理解不到,请多多指教,不胜感谢!)
发表于 2008-12-24 18:14:37 | 显示全部楼层
au3里 没有goto了

4. "goto"命令哪去了?
失踪了,呵呵.很不幸.噢不,您不能问为什么——反正就是这样. 这就像是在电影 时间劫匪(Time Bandits)结尾时他们在微波发现的那块石头:)


AutoIt v3 以使用现今大部分常用的"循环"为特色,因此Goto不再是必需的. 请查看 While, Do, For, ExitLoop, ContinueLoop 以及 函数 了解更加先进的解决方式:) 另外当你看帮助文档的时候, 请查看 循环(loops), 条件语句 和 函数 部分的说明. 我向您保证,一旦您熟悉了它们的用法,实际上您将能在几分钟内用其它语言编写程序.


为了让你开始了解这一点,下面演示在2.64版中Goto的最基本用法,同时也是个无限循环:

:mylabel
...执行一些任务...
...其它任务...
goto, mylabel


v3 版中一个总是"true(表达式成立)"的简单的While循环

While 1 = 1
   ...执行一些任务...
   ...其它任务...
Wend
 楼主| 发表于 2008-12-24 22:37:37 | 显示全部楼层
感谢2楼、5楼朋友的回答,虽然暂时还是不甚明了,但也如黑暗中突然看见了一丝光亮,略带沮丧的心中又燃起莫名的希望。呵呵,好好睡一觉啦,明天,明天再把帮助文档仔仔细细看个明白,希望能有所顿悟吧!
再次感谢,晚安!
发表于 2008-12-25 09:48:39 | 显示全部楼层
多看看帮助吧,au3已经不再需要goto了。
 楼主| 发表于 2008-12-25 11:14:13 | 显示全部楼层
正在潜心研读各种资料,多谢各位前辈指引!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-6 19:04 , Processed in 0.071653 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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