Что нового

Добавление к функции _TicksToTime миллисекунд (**:**:**.**(МС))

Alexander

Новичок
Сообщения
105
Репутация
2
Как к этой функции добавить миллисекунды:
Код:
Func _TicksToTime($iTicks, ByRef $iHours, ByRef $iMins, ByRef $iSecs)
	If Number($iTicks) > 0 Then
		$iTicks = Int($iTicks / 1000)
		$iHours = Int($iTicks / 3600)
		$iTicks = Mod($iTicks, 3600)
		$iMins = Int($iTicks / 60)
		$iSecs = Mod($iTicks, 60)
		; If $iHours = 0 then $iHours = 24
		Return 1
	ElseIf Number($iTicks) = 0 Then
		$iHours = 0
		$iTicks = 0
		$iMins = 0
		$iSecs = 0
		Return 1
	Else
		Return SetError(1,0,0)
	EndIf
EndFunc

Чтоб было в том стиле как $iHours, $iMins, $iSecs. Миллисекунды чтоб были в формате **. Например, 01:23:15.47
 
Автор
A

Alexander

Новичок
Сообщения
105
Репутация
2
Не заело, а обнаружил, что тот секундомер не правильно считает МС. Потому, что там мс считают отдельно от секунд. И происходит такое 00.17 - 00.74 - 00.16 - 01.24
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
edward_freedom
Тебе предупреждение за флейм.
 
Автор
A

Alexander

Новичок
Сообщения
105
Репутация
2
Вот что я сделал:

Код:
Func _TicksToTime($iTicks, ByRef $iHours, ByRef $iMins, ByRef $iSecs, ByRef $iMs)
	If Number($iTicks) > 0 Then
		$iTicks = Int($iTicks / 100000)
		$iHours = Int($iTicks / 360000)
		$iTicks = Mod($iTicks, 360000)
		$iMins = Int($iTicks / 6000)
		$iTicks = Mod($iTicks, 6000)
		$iSecs = Int($iTicks / 100)
		$iMs = Mod($iTicks , 100)
	Return 1
	ElseIf Number($iTicks) = 0 Then
		$iHours = 0
		$iTicks = 0
		$iMins = 0
		$iSecs = 0
		$iMs = 0
		Return 1
	Else
		Return SetError(1,0,0)
	EndIf
EndFunc


Кто скажет где ошибка? 1с = 1000мс, но так как я хочу в формате **:**:**.**, то 1 ноль я убрал ;)
 
Верх