首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么在function里停止执行

2013-10-05 
如何在function里停止执行function 里如何按下esc停止执行Private Sub command1_Click()runend subPublic

如何在function里停止执行
function 里如何按下esc停止执行


Private Sub command1_Click()
run
end sub

Public Function run() As Long
On Error Resume Next
Dim I As Integer
Dim Script1 As String
Dim ScriptLen As Integer
Dim MousePos() As String
Dim MouseCurPos As POINTAPI
Dim ptime As Long
For I = 0 To List1.ListCount - 1 '从 ListBox 的第一个开始
    
    Script1 = List1.List(I) '获得脚本
    ScriptLen = Len(Script1) '获得脚本字符长度
Select Case Mid(Script1, 1, 2) '选择脚本字符前两个字符
Case "坐标"
    Script1 = Mid(Script1, 4, ScriptLen - 3) '获得后面的字符
    MousePos = Split(Script1, "-") '通过 - 来分割获得坐标,并放到 MousePos(数组)里面
    SetCursorPos CLng(MousePos(0)), CLng(MousePos(1)) '设置鼠标位置
 End Select
Next I

End Function

[解决办法]
本帖最后由 bcrun 于 2013-09-26 10:59:42 编辑 窗口上加一个模块变量,bStop

按键事件检测按键,设置这个变量 bStop=true

循环体里使用这个变量

Private Sub command1_Click()
run
end sub

Public Function run() As Long
On Error Resume Next
Dim I As Integer
Dim Script1 As String
Dim ScriptLen As Integer
Dim MousePos() As String
Dim MouseCurPos As POINTAPI
Dim ptime As Long

bStop=false
For I = 0 To List1.ListCount - 1 '从 ListBox 的第一个开始
    
    Script1 = List1.List(I) '获得脚本
    ScriptLen = Len(Script1) '获得脚本字符长度
Select Case Mid(Script1, 1, 2) '选择脚本字符前两个字符
Case "坐标"
    Script1 = Mid(Script1, 4, ScriptLen - 3) '获得后面的字符
    MousePos = Split(Script1, "-") '通过 - 来分割获得坐标,并放到 MousePos(数组)里面
    SetCursorPos CLng(MousePos(0)), CLng(MousePos(1)) '设置鼠标位置
 End Select

    doevents '使得有机会相应键盘或其它事件
    if bStop then 
exit for

end if
Next I

End Function

热点排行