chamlien 发表于 2012-12-28 11:44:38

谁能帮我优化一下这段代码

Dim $NStart =InputBox("提示您", @CRLF&"请输入开始点(1~69999)")
Dim $Recycle = $NStart
$R = StringIsDigit($NStart)
If($R = 0)Then
   MsgBox(48,"警告","你没有输入数字"& @CRLF & @CRLF &"程序已退出")
   Exit
EndIf
$NOver =InputBox("提示您", @CRLF&"请输入结束点(1~69999)")
$R1 = StringIsDigit($NOver)
If($R1 = 0)Then
   MsgBox(48,"警告","你没有输入数字"& @CRLF & @CRLF &"程序已退出")
   Exit
EndIf
MsgBox(64,"提醒您", "程序即将开始"&@CRLF&"程序执行过程中可以最小化窗口")
While 1
   $msg = GUIGetMsg()
   Select
   Case $msg = 0
      _IENavigate($oIE,"http://172.21.3.8/as?id="&$Recycle &"&hit=1")
       $Recycle = $Recycle + 1
      $saythanks = _IEGetObjById ($oIE,"saythanks")
   _IEAction($saythanks, "click")
      If $NOver = $Recycle Then                       
   MsgBox(64,"提醒您","本次从"& $NStart &"开始" & @CRLF&"退出程序结束点为"& $Recycle &@CRLF&"完成时间为"& @HOUR & ":" & @MIN & ":" & @SEC)
   Exit
EndIf
      Case $msg = $GUI_EVENT_CLOSE
   MsgBox(64,"提醒您","本次从"& $NStart &"开始" & @CRLF&"退出程序结束点为"& $Recycle &@CRLF&"完成时间为"& @HOUR & ":" & @MIN & ":" & @SEC)
       Exit
EndSelect
WEnd


以上主要是循环的部分,执行几十个循环还是很快的,但是越往后越慢,而且内存占用越来越多,最后程序会因内存不够而卡死。
有谁能帮我优化一下?或者提供另外一种思路的循环。另外,上面的网址是内网。

netegg 发表于 2012-12-28 13:01:47

本帖最后由 netegg 于 2012-12-28 13:02 编辑

这个最后卡死是ie的事吧,另外$oIE在什么地方?

annybaby 发表于 2012-12-28 13:22:49

贴代码都只贴一部分,还不加入代码标记,郁闷~

chamlien 发表于 2012-12-29 20:07:49

回复 2# netegg

$oIE是在建GUI的时候定义的,现在最主要的是看那一段循环有没有可以优化的地方
页: [1]
查看完整版本: 谁能帮我优化一下这段代码