Что нового

[Массивы] Запись в массив времени отклика Ping и данных с ini файла

SET777

Новичок
Сообщения
51
Репутация
3
Здравствуйте! Никак не получается разобраться с массивом. Возвращаемое значение функции _Ping в цикле For Next нужно записать в массив и проверять его на работает\не работает. И с переменной $sIni в функции _Ping почти аналогичная ситуация - не знаю как правильно записать в массив и сделать так что бы в цикле While WEnd данные с Ini файла не считывались при каждом пинге с диска, а считывались так что бы не было обращения к жесткому диску при каждом пинге... Или при считывании данных с ini в этом случае обращения к жесткому диску не происходит?
Код:
Global $gsPath = @ScriptDir & "\Inetchek.ini"
Global $gnInterval = IniRead($gsPath, "TIME", "IntervalSec", "60")
Global Const $gnValue = 5
Local $li, $lNumber
Dim $result[5]

While 1
	For $i = 1 To $gnValue
		$result[0] += _Ping($i)
	Next
	If $result[0] > 0 Then
		MsgBox(0, "", "Работает")
	Else
		MsgBox(0, "", "Не работает")
	EndIf
	Sleep($gnInterval * 1000)
WEnd

Func _Ping($lNumber)
$sIni = IniRead($gsPath, "SITES", "URL" & $lNumber, "")
	If $sIni = "" Then
		Return 0
	Else
		Return Ping($sIni)
	EndIf
EndFunc   ;==>_Ping
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
Код:
Global $gsPath = @ScriptDir & "\inetchek.ini"
Global $gnInterval = IniRead($gsPath, "TIME", "IntervalSec", "60")
Const $GN_VALUE = 5


While 1

    For $i = 1 To $GN_VALUE
        $iPing = _Ping($i)

		If $iPing > 0 Then
			MsgBox(0, "", "Работает")
		Else
			MsgBox(0, "", "Не работает")
		EndIf
	Next

    Sleep($gnInterval * 1000)
WEnd

Func _Ping($lNumber)

	$sIni = IniRead($gsPath, "SITES", "URL" & $lNumber, "")

	$iPing = Ping($sIni)

	If @error Then _
		Return SetError(@error, 0 , 0)
		
	Return SetError(0, 0 , $iPing)
EndFunc   ;==>_Ping
 
Верх