- 超级版主
- 1228894
- 26975
- 25
- 8050 朵
- 36129 个
- 4746 个
- 421340
- 2012-07-18
|
1#
t
T
发表于 2022-02-14 15:49
|
|只看楼主
问:Sub、Function存在的意义? 答:将重复度高的代码做成Sub,达到减少代码量、维护简便。 问:Sub、Function存在的区别? 答:Function可设置返回值,多线程一般是调用Sub。 问:本文章存在意义? 答:讲解Sub演变,让更多人学会编写一套自己的Sub、Function(模板);其他人的模板再好,除非可以直接调用不用参数,否则还是不顺手。
以安卓代码为例: - Dim intX, intY
- FindPic 0, 0, 0, 0, "Attachment:QQ.png", "050505", 0, 0.9, intX, intY
- If intX > -1 And intY > -1 Then
- Tap intx,inty
- End If
复制代码
- 当找的到图片点击位置需要偏差时 例如 需要往又5像素 往上4像素
- Dim intX, intY
- FindPic 0, 0, 0, 0, "Attachment:QQ.png", "050505", 0, 0.9, intX, intY
- If intX > -1 And intY > -1 Then
- Tap intx+5,inty-4
- End If
复制代码- Dim 图片名称="QQ"
- Dim intX, intY
- FindPic 0, 0, 0, 0, "Attachment:"&图片名称&".png", "050505", 0, 0.9, intX, intY
- '注:当字符串连接变量时使用& "Attachment:"与.png”为字符串 图片名称 为变量
- If intX > -1 And intY > -1 Then
- Tap intx+5,inty-4
- End If
复制代码- Dim intX, intY
- Call 找图("QQ")
- Sub 找图(图片名称)
- FindPic 0, 0, 0, 0,"Attachment:"&图片名称&".png", "050505",0, 0.9, intX, intY
- '注:当字符串连接变量时使用& "Attachment:"与.png”为字符串 图片名称 为变量
- If intX > -1 And intY > -1 Then
- Tap intx+5,inty-4
- End If
- End Sub
复制代码- Dim intX, intY
- Call 找图(0,0,0,0,"QQ",5,-4)
- Sub 找图(X1,Y1,X2,Y2,图片名称,偏x,偏y)
- FindPic X1,Y1,X2,Y2,"Attachment:"&图片名称&".png","050505", 0, 0.9, intX, intY
- '注:当字符串连接变量时使用& "Attachment:"与.png”为字符串 图片名称 为变量
- If intX > -1 And intY > -1 Then
- Tap intx+偏x,inty+偏y
- End If
- End Sub
复制代码- Dim intX, intY
- Call 找图(0,0,0,0,"QQ")
- Sub 找图(X1, Y1, X2, Y2, 图片名称)
- Do
- FindPic X1,Y1,X2,Y2,"Attachment:"&图片名称&".png","050505", 0, 0.9, intX, intY
- '注:当字符串连接变量时使用& "Attachment:"与.png”为字符串 图片名称 为变量
- If intX > -1 And intY > -1 Then '如果找到
- Tap intx + 5, inty - 4
- Exit Do'退出死循环
- End If
- Delay 1000'死循环必要延迟
- Loop
- End Sub
复制代码
- 若当我们需要找图1 找到图1 才找图2 又该如何写
- Dim intX, intY
- Call 找图(0,0,0,0,"1")
- Call 找图(0,0,0,0,"2")
- Sub 找图(X1, Y1, X2, Y2, 图片名称)
- Do
- FindPic X1,Y1,X2,Y2,"Attachment:"&图片名称&".png","050505", 0, 0.9, intX, intY
- '注:当字符串连接变量时使用& "Attachment:"与.png”为字符串 图片名称 为变量
- If intX > -1 And intY > -1 Then '如果找到
- Tap intx + 5, inty - 4
- Exit Do'退出死循环
- End If
- Delay 1000'死循环必要延迟
- Loop
- End Sub
复制代码===================================================================================== - TracePrint 找图(0,0,0,0,"QQ")
- Dim intX,intY
- Function 找图(X1, Y1, X2, Y2, 图片名称)
- 找图=False'设置初始返回值
- FindPic X1,Y1,X2,Y2,"Attachment:"&图片名称&".png","050505", 0, 0.9, intX, intY
- If intX > -1 And intY > -1 Then
- Tap intx + 5, inty - 4
- 找图=True'设置找到的返回值
- End If
- Delay 1000
- End Function
复制代码Dim 返回值= 找图(0,0,0,0,"QQ") TracePrint 返回值["X"],返回值["Y"] Dim intX,intY Function 找图(X1, Y1, X2, Y2, 图片名称) FindPic X1,Y1,X2,Y2,"Attachment:"&图片名称&".png","050505", 0, 0.9, intX, intY If intX > -1 And intY > -1 Then Tap intx + 5, inty - 4 End If 找图={"X":intX,"Y":intY} Delay 1000 End Function
|