Creat0R
Цитата:
Имхо, возвращаемое значение не должно быть -1 в подобной функции, чтобы это не отобразилось случайно
|
если проверять на ошибки, то случайностей не будет
Цитата:
как это засикается скорость обработанных файлов
|
Код:
#include <Constants.au3>
Global $ProcessCount, $ProcessLines=0
$pid = Run (@ComSpec & ' /C DIR /B /S *.*', 'C:\', @SW_HIDE, $STDOUT_CHILD)
_GetProgressSpeed ($ProcessCount, -1, 100)
While 1
Sleep(100)
$text = StdoutRead($pid)
If @error Then ExitLoop
$count = StringLen($text)-StringLen(StringStripCR($text))
$ProcessLines+= $count
$files = StringFormat('Processed %i files', $ProcessLines)
$speed = StringFormat('Speed: %i Files/Sec',_GetProgressSpeed($ProcessCount, $ProcessLines)*1000)
TrayTip('', $files & @CRLF & $speed, 10, 16)
ConsoleWrite ($text)
Wend
Цитата:
или что ещё более удивитеьнее (для меня), как это работает на “произведенных кликов мышки”?
|
Код:
#include <GUIConstants.au3>
Global $ProcessCount, $ProcessClicks=0
Opt("GUIOnEventMode", 1)
GUICreate("My GUI")
GUISetOnEvent($GUI_EVENT_CLOSE, "_Quit")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_AddClick")
_GetProgressSpeed ($ProcessCount, -1, 50)
GUISetState (@SW_SHOW)
While 1
Sleep(100)
$clicks = StringFormat('Processed %i clicks', $ProcessClicks)
$speed = StringFormat('Speed: %.2f Clicks/Sec',_GetProgressSpeed($ProcessCount, $ProcessClicks)*1000)
TrayTip('', $clicks & @CRLF & $speed, 10, 16)
Wend
Func _AddClick()
$ProcessClicks+=1
EndFunc
Func _Quit()
Exit
EndFunc
Цитата:
Функция для подсчёта скорости, в оригинале возвращает байты/мс, или байты/с ?
|
как и AutoIT - миллисекунды
Цитата:
как поправить чтобы возвращались именно байты в секунду, это нужно для ещё одной функции подсчёта... функция подсчитывает приблизительно оставшиеся время до закачки (в секундах)
|
Код:
Func _InetGetRemained($Bytes, $TotalBytesSize, $SpeedByBytes)
Local $RemainedSecs = ($TotalBytesSize - $Bytes) / ($SpeedByBytes * 1000)
If $RemainedSecs < 0 Then $RemainedSecs = 0
Return $RemainedSecs
EndFunc