Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


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
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:23, 16-06-2007 | #29