函数返回的问题 Topic is solved

遇到了问题?请先进行搜索(中文和英文),然后在此提问

Moderators: tmplinshi, arcticir

sdzph

函数返回的问题

15 Sep 2023, 00:55

刚学了几天,现学现用,在函数返回的地方遇到了问题,弄了好久有没弄好,还请各位老师指点。
代码如下,函数PPP()列出运行的程序ID,目前是返回不了。。。。

Code: Select all

ppp()
{
WinGet, id, list
return id
}
ggg :=ppp()

msgbox, % ggg[1] "," ggg[2]


修改代码如下可以显示一个

Code: Select all

ppp()
{
WinGet, id, list
return id1
}
ggg :=ppp()

msgbox, % ggg
所以想在这问一下,怎么返回所有的程序ID,并用MSGBOX显示出来呢?
garry
Posts: 3771
Joined: 22 Dec 2013, 12:50

Re: 函数返回的问题  Topic is solved

15 Sep 2023, 02:53

Code: Select all

WinGet, id, List,,,
Loop, %id%
{
	idx := id%A_Index%
	WinGetTitle, Title, ahk_id %idx%
	e .=title . "`r`n"
}
msgbox,%e%
return
sdzph

Re: 函数返回的问题

15 Sep 2023, 03:22

garry wrote:
15 Sep 2023, 02:53

Code: Select all

WinGet, id, List,,,
Loop, %id%
{
	idx := id%A_Index%
	WinGetTitle, Title, ahk_id %idx%
	e .=title . "`r`n"
}
msgbox,%e%
return
你这个方法是可以实现,但是我现在想学习的是函数返回,怎样把这样的数据通过函数返回的方式获得。
garry
Posts: 3771
Joined: 22 Dec 2013, 12:50

Re: 函数返回的问题

15 Sep 2023, 10:09

function

Code: Select all

#warn
setworkingdir,%a_scriptdir%
var:=ppp()
msgbox,% var
return
;----
ppp()
{
e:=""
WinGet, id, List,,,
Loop, %id%
  {
  idx := id%A_Index%
  WinGetTitle, Title, ahk_id %idx%
  if (title="")
     continue
  e .=title . "  >> `r`n"
  }
return e
}
;---
esc::exitapp
;===========
ahkisreallyawesome
Posts: 1
Joined: 21 Sep 2023, 18:27

Re: 函数返回的问题

21 Sep 2023, 18:29

Code: Select all

f1::   
    ggg :=ppp()
    msgbox, % ggg[1] "`n" ggg[2] 
return


ppp()
{
    id1:=[]
    WinGet, id2, list
    loop %id2%
        id1[A_Index]:=id2%A_Index%
    return id1
}
[Mod edit: + [code][/code] tags.]

Return to “请求帮助”

Who is online

Users browsing this forum: No registered users and 56 guests