如何让自定义函数返回多个值,并且返回值可以赋值给变量?
本帖最后由 fjw18 于 2011-3-20 18:11 编辑我的意思是自定义一个函数,这个函数可以返回多个值,并且这些值可以赋值给外部变量。
就像软件集成的WinGetPos函数一样,可以返回多个数组值,谢谢! 自定义函数返回多个值示例
#Include <WinAPI.au3>
$Get = WinGetEX("输入窗口标题",'')
MsgBox(0, "鼠标状态 (X坐标,Y坐标", $Get & ", " & $Get)
MsgBox(0, "活动窗口状态 (宽度,高度):", $Get & ", " & $Get)
MsgBox(0, "活动窗口文本", $Get& " "&$Get)
Func WinGetEX($x,$y)
Dim $EX
$EX ='自定义数组文字'
$EX =_WinAPI_GetMousePosX()
$EX =_WinAPI_GetMousePosy()
$EX =_WinAPI_GetWindowWidth(WinGetHandle($x,$y))
$EX =_WinAPI_GetWindowHeight(WinGetHandle($x,$y))
$EX =_WinAPI_GetWindowText(WinGetHandle($x,$y))
Return $EX
EndFunc
更详细资料请参考帮助文档:Func...Return...EndFunc
或 return如何返回多个变量
没看懂你的意思,貌似你知道开始运行一遍你的这个WinGetEX($x,$y)
定义 一下全局变量
不需要返回什么 你的函数变量就都被赋值了啊
不用返回的
是我没理解你的意思吗 另外 你确定你这个函数能运行起来吗?
我怎么看到那么多不规范的地方呢 没看懂你的意思,貌似你知道开始运行一遍你的这个WinGetEX($x,$y)
定义 一下全局变量
不需要返回什么 你的 ...
love5173 发表于 2011-3-20 20:32 http://www.autoitx.com/images/common/back.gif
这是在说中文吗?让人百思不得其解啊.
貌似机器翻译的对白. 另外 你确定你这个函数能运行起来吗?
我怎么看到那么多不规范的地方呢
love5173 发表于 2011-3-20 20:34 http://www.autoitx.com/images/common/back.gif
呵呵
你测试一下就知道能否运行了
另外
在下请教一下您:代码哪些地方有不规范? 回复 6# lynfr8
有啊~~Dim 改为 Local {:face (356):} 请来解决楼主的问题,不要拿我说事可以吗
我看帖子的时候不知道怎么一下就看见2楼的函数了,发现不需要返回什么
至于说不规范,我想是我表达有误,因为输出效果看起来不美观
因为是错把2楼看成1楼 函数没测试,我的失误 回复 8# love5173
呵呵,原来如此.
这就难怪了.SORRY 回复 9# 3mile
一笑泯恩仇啦{:face (356):}
以后大家看帖都要认真 请来解决楼主的问题,不要拿我说事可以吗
我看帖子的时候不知道怎么一下就看见2楼的函数了,发现不需要返回 ...
love5173 发表于 2011-3-20 21:44 http://www.autoitx.com/images/common/back.gif
我是故意打过几个空格的,否则标题看不完整
测试就得再费力气对比代码才理解输出的结果
至于那个Dim,呵呵....谢谢7楼提醒。 我是故意打过几个空格的,否则标题看不完整
测试就得再费力气对比代码才理解输出的结果
至 ...
lynfr8 发表于 2011-3-20 22:12 http://www.autoitx.com/images/common/back.gif
你们都是高手,本来我也是热心肠,想多帮人的,结果因为不仔细犯错,希望以后能得到大家的帮助,我主要是着急赚查看权限,sorry 自定义函数返回多个值示例
更详细资料请参考帮助文档:Func...Return...EndFunc
或
lynfr8 发表于 2011-3-20 20:08 http://www.autoitx.com/images/common/back.gif
这点我还真不清楚。au3是否跟C/C++一样,返回的名空间外的数组变量(这里是返回的局域变量数组),是否存在隐在的问题。反正在C里,这样返回肯定会在特别情况下出问题的。当然把$EX数组设为全局变量肯定没有问题。一直想问这样的问题呢 谢谢各位热心的帮助,我现在明白了,我看了帮助了,不过,真的没有看太清楚,现在我明白了,其实就是这样的:
定义函数,定义数组,给数组赋值,返回数组,最后把函数值赋值给数组。 func function( , $itype)
switch $istyle
case 1
return $ret
case 2
.....
endswitch
endfunc
$ret可以定义为数组,返回就是了
页:
[1]