Что нового

[Сеть, интернет] Информация о принтере по SNMP

HecZ

Новичок
Сообщения
7
Репутация
0
Добрый день, делаю скрипт который бы показывал информацию о сетевых принтерах(основная цель уровень тонера) И вот после поисков и танцев насобирал вот такой скрипт:
Код:
#include <string.au3>
#include <Excel.au3>
#include <Array.au3>


$sFilePath1 = @ScriptDir & "\printer.xls"
$oExcel = _ExcelBookOpen($sFilePath1, 0)
If @error = 1 Then
    MsgBox(16, "Ошибка!", "Невозможно создать объект Excel")
    Exit
ElseIf @error = 2 Then
    MsgBox(16, "Ошибка!", "Файл " & $FilePath & " не существует")
    Exit
EndIf
$oExcel1 = _ExcelBookAttach($sFilePath1)
$aStr = _ExcelReadSheetToArray($oExcel1)
$RowCnt = $aStr [0] [0]
$aArray = _ExcelReadArray($oExcel, 2, 1, $RowCnt, 1)
$aArray4 = _ExcelReadArray($oExcel, 1, 2, $RowCnt, 1)
$aArray5 = _ExcelReadArray($oExcel, 1, 3, $RowCnt, 1)
$aArray2 = _ArrayToString($aArray)
$aArray3 = StringSplit($aArray2, '|')
Dim $IP_ADDRESS
For $i = 1 to UBound($aArray3)-2
   Dim $IP_ADDRESS
   $IP_ADDRESS = $aArray3[$i]
   $printLoc = $aArray5[$i]
   $printName = $aArray4[$i]
   $pin = Ping($IP_ADDRESS,250)
If $pin Then 
$PORT = "161"
$TONER_MAX = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010801010500"
$TONER_MAX_RESULT_LENGHT = 4
$TONER_CURRENT = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010901010500"
$TONER_CURRENT_RESULT_LENGHT = 4
$result_max_toner=getsnmp($IP_ADDRESS,$TONER_MAX,$TONER_MAX_RESULT_LENGHT)
$result_current_toner=getsnmp($IP_ADDRESS,$TONER_CURRENT,$TONER_CURRENT_RESULT_LENGHT)
$CAPACITY_PER_CENT = Round((($result_current_toner * 100) / $result_max_toner),2)
 
MsgBox(1,"IP Address : " &$IP_ADDRESS, $printName & ' ' & $printLoc & @CRLF & 'Toner: ' & $CAPACITY_PER_CENT & "%")
Else
   MsgBox(0, 'Ошибка', 'Подключение к ' & $IP_ADDRESS & ' не удалось! ' & @CRLF & 'Проверьте сетевое подключение')
		 EndIf
	  next
	  $data11 = ConsoleRead()
  If $data11 <> "" Then   MsgBox(0, "", $data11)
	 
_ExcelBookClose($oExcel, 0)	  
	  

Func getsnmp($IP_ADDRESS,$CMD,$MAXRESULT)
UDPStartUp()
$Start = 1
$Socket = UDPopen($IP_ADDRESS, $Port)
UDPSend($Socket, $CMD)
While (1)
$srcv = UDPRecv($Socket, 2048)
If ($srcv <> "") Then 
$result_getsnmp=Dec(stringright($srcv,$MAXRESULT))
Return $result_getsnmp
ExitLoop
EndIf
sleep(100)
WEnd
UDPCloseSocket($Socket)
UDPShutdown()
EndFunc


у меня есть список принтеров в екселе первый столбик ip адреса, 2-ой название и третий где стоит, вот всё показывает хорошо, но только для чёрно белых принтеров. и вывод каждый принтер в отдельный msgbox

Итак вопрос :smile:
Кто нибудь вообще занимался этим, можно ли вывести весь массив в один msgbox, и если кто знает как тоже самое сделать с цветными принтерами xerox.
 

Neldezheil

B like Bee
Сообщения
27
Репутация
3
Насчет принтеров не подскажу, но для вывода всего содержимого массива на экран есть библиотечная функция
Код:
_ArrayDisplay($Array)

Правда оформления текста через нее не добьешься
 
Автор
H

HecZ

Новичок
Сообщения
7
Репутация
0
Вот именно что оформления там нет, и не получается чтобы вывести все три массива в три столбика, только в всё в один столбик по порядку записывает....
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
список принтеров в студию
 
Автор
H

HecZ

Новичок
Сообщения
7
Репутация
0
Address printer location
xx.xx.xx.xx Xerox WorkCentre 5330 xxx
xx.xx.xx.xx Xerox Phaser 3600 xxx
xx.xx.xx.xx Xerox WorkCentre 3325 xxx
xx.xx.xx.xx Xerox WorkCentre 3325 xxx
xx.xx.xx.xx Xerox WorkCentre 3325 xxx
xx.xx.xx.xx Xerox WorkCentre 3325 xxx
xx.xx.xx.xx Xerox Phaser 3600 xxx



Добавлено:
Сообщение автоматически объединено:

кстати с выводом нормального видя я уже разобрался
вот это дописать в первый:
Код:
ConsoleWrite($IP_ADDRESS & ' ' & $printName & '  ' & $printLoc & ' Toner: ' & $CAPACITY_PER_CENT & "%" & @CRLF)


И сделать из него 1.exe а потом у меня есть основной скрипт и в него добавил:

Код:
$PID= Run("1.exe","",@SW_SHOW,3)
		 $ConsoleData = ""
	  Do
    If StdoutRead($PID,1,True) Then
        $ConsoleData &= StdoutRead($PID)
        If @error Then ExitLoop
    EndIf
Until Not ProcessExists($PID)

MsgBox(0, 'Уровень тонера в Ч/Б Xerox', $ConsoleData)


Тогда выводит нормально всё в один MsgBox
Только остался вопрос как опросить цветные принтеры, т.к. скрипт берёт только первый картридж из цветного а остальные не показывает
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
зачем такие сложности..формируй массив цикле и все
 
Автор
H

HecZ

Новичок
Сообщения
7
Репутация
0
дак я до этого и формировал его в цикле, и он мне выводил много msgbox(сколько принтеров в спеске) а я хотел чтобы всё в одном выводилось :whistle:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
Dim $IP_ADDRESS
Local $array[здесь количество принтеров][4]
For $i = 1 To UBound($aArray3) - 2
	Dim $IP_ADDRESS
	$IP_ADDRESS = $aArray3[$i]
	$printLoc = $aArray5[$i]
	$printName = $aArray4[$i]
	$pin = Ping($IP_ADDRESS, 250)
	If $pin Then
		$PORT = ""
		$TONER_MAX = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010801010500"
		$TONER_MAX_RESULT_LENGHT = 4
		$TONER_CURRENT = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010901010500"
		$TONER_CURRENT_RESULT_LENGHT = 4
		$result_max_toner = getsnmp($IP_ADDRESS, $TONER_MAX, $TONER_MAX_RESULT_LENGHT)
		$result_current_toner = getsnmp($IP_ADDRESS, $TONER_CURRENT, $TONER_CURRENT_RESULT_LENGHT)
		$CAPACITY_PER_CENT = Round((($result_current_toner * 100) / $result_max_toner), 2)
		$array[$i][0] = $IP_ADDRESS
		$array[$i][1] = $printName
		$array[$i][2] = $printLoc
		$array[$i][3] = 'Toner: ' & $CAPACITY_PER_CENT & "%"
		;	MsgBox(1, "IP Address : " & $IP_ADDRESS, $printName & ' ' & $printLoc & @CRLF & 'Toner: ' & $CAPACITY_PER_CENT & "%")
	Else
		MsgBox(0, 'Ошибка', 'Подключение к ' & $IP_ADDRESS & ' не удалось! ' & @CRLF & 'Проверьте сетевое подключение')
	EndIf
Next
_ArrayDisplay($array)
 
Автор
H

HecZ

Новичок
Сообщения
7
Репутация
0
(44) : ==> Expected a "=" operator in assignment statement.:
$array[$i][0] = $IP_ADDRESS
$array^ ERROR


Добавлено:
Сообщение автоматически объединено:

а ещё почему у тебя ?
Код:
$PORT = "192.168.0.10_3"
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
Local $array[1][2]
Local $x = 0, $y = 1
For $i = 1 To UBound($aArray3) - 2
	Dim $IP_ADDRESS
	$IP_ADDRESS = $aArray3[$i]
	$printLoc = $aArray5[$i]
	$printName = $aArray4[$i]
	$pin = Ping($IP_ADDRESS, 250)
	If $pin Then
		$PORT = "161"
		$TONER_MAX = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010801010500"
		$TONER_MAX_RESULT_LENGHT = 4
		$TONER_CURRENT = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010901010500"
		$TONER_CURRENT_RESULT_LENGHT = 4
		$result_max_toner = getsnmp($IP_ADDRESS, $TONER_MAX, $TONER_MAX_RESULT_LENGHT)
		$result_current_toner = getsnmp($IP_ADDRESS, $TONER_CURRENT, $TONER_CURRENT_RESULT_LENGHT)
		$CAPACITY_PER_CENT = Round((($result_current_toner * 100) / $result_max_toner), 2)
		ReDim $array[$y][2]
		$array[$x][0] = $IP_ADDRESS
		$array[$x][1] = $printName
		$array[$x][2] = $printLoc
		$array[$x][3] = 'Toner: ' & $CAPACITY_PER_CENT & "%"
		$x += 1
		$y += 1
		;	MsgBox(1, "IP Address : " & $IP_ADDRESS, $printName & ' ' & $printLoc & @CRLF & 'Toner: ' & $CAPACITY_PER_CENT & "%")
	Else
		MsgBox(0, 'Ошибка', 'Подключение к ' & $IP_ADDRESS & ' не удалось! ' & @CRLF & 'Проверьте сетевое подключение')
	EndIf
Next
_ArrayDisplay($array)

у меня твой скрипт не работает. это надо свою книгу эксель создавать и прочее. поэтому точно проверить не могу.
 
Автор
H

HecZ

Новичок
Сообщения
7
Репутация
0
Спасибо так всё получилось :laugh:
только ещё исправил
Код:
ReDim $array[$y][2]

на
Код:
ReDim $array[$y][4]



Добавлено:
Сообщение автоматически объединено:

а теперь осталось разобраться с snmp и с чем его едят и как ему сказать чтобы он опрашивал все картриджи цветного принтера а не только первый :scratch:


Добавлено:
Сообщение автоматически объединено:

Вот прибрался немного и всё работает
Код:
#include <string.au3>
#include <Excel.au3>
#include <Array.au3>

Local $array[1][2]
Local $x = 0, $y = 1
$sFilePath1 = @ScriptDir & "\printer.xls"
$oExcel = _ExcelBookOpen($sFilePath1, 0)
If @error = 1 Then
    MsgBox(16, "Ошибка!", "Невозможно создать объект Excel")
    Exit
ElseIf @error = 2 Then
    MsgBox(16, "Ошибка!", "Файл " & $FilePath & " не существует")
    Exit
EndIf
$oExcel1 = _ExcelBookAttach($sFilePath1)
$aStr = _ExcelReadSheetToArray($oExcel1)
$RowCnt = $aStr [0] [0]
$aArray = _ExcelReadArray($oExcel, 2, 1, $RowCnt, 1)
$aArray4 = _ExcelReadArray($oExcel, 1, 2, $RowCnt, 1)
$aArray5 = _ExcelReadArray($oExcel, 1, 3, $RowCnt, 1)
$aArray2 = _ArrayToString($aArray)
$aArray3 = StringSplit($aArray2, '|')
Dim $IP_ADDRESS
For $i = 1 to UBound($aArray3)-2
   Dim $IP_ADDRESS
   $IP_ADDRESS = $aArray3[$i]
   $printLoc = $aArray5[$i]
   $printName = $aArray4[$i]
   $pin = Ping($IP_ADDRESS,250)
If $pin Then 
$PORT = "161"
$TONER_MAX = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010801010500"
$TONER_MAX_RESULT_LENGHT = 4
$TONER_CURRENT = "0x302B02010004067075626C6963A01E0202014402010002010030123010060C2B060102012B0B01010901010500"
$TONER_CURRENT_RESULT_LENGHT = 4
$result_max_toner=getsnmp($IP_ADDRESS,$TONER_MAX,$TONER_MAX_RESULT_LENGHT)
$result_current_toner=getsnmp($IP_ADDRESS,$TONER_CURRENT,$TONER_CURRENT_RESULT_LENGHT)
$CAPACITY_PER_CENT = Round((($result_current_toner * 100) / $result_max_toner),2)
	  ReDim $array[$y][4]
        $array[$x][0] = $IP_ADDRESS
        $array[$x][1] = $printName
        $array[$x][2] = $printLoc
        $array[$x][3] = $CAPACITY_PER_CENT & "%"
        $x += 1
        $y += 1
Else
   MsgBox(0, 'Ошибка', 'Подключение к ' & $IP_ADDRESS & ' не удалось! ' & @CRLF & 'Проверьте сетевое подключение')
		 EndIf
	  next
	  _ArrayDisplay($array,"Статус Принтеров",-1,0,"","|","№|IP адресс|Принтер|Расположение|Уровень Тонера")
	 
	 
_ExcelBookClose($oExcel, 0)	  
	

Func getsnmp($IP_ADDRESS,$CMD,$MAXRESULT)
UDPStartUp()
$Start = 4
$Socket = UDPopen($IP_ADDRESS, $Port)
UDPSend($Socket, $CMD)
While (1)
$srcv = UDPRecv($Socket, 2048)
If ($srcv <> "") Then 
$result_getsnmp=Dec(stringright($srcv,$MAXRESULT))
;~ ConsoleWrite($srcv &@CRLF)
Return $result_getsnmp
ExitLoop
EndIf
sleep(100)
WEnd
UDPCloseSocket($Socket)
UDPShutdown()
EndFunc


Ещё кстати почемуто ексель долго висит в процессах после запуска скрипта и иногда это плохо влияет на то что пока он там висит другие не всегда открываются


Добавлено:
Сообщение автоматически объединено:

Вот нашёл :ok: как опросить цветной принтер только вопрос как теперь их вместе связать чтобы они в один _ArrayDisplay выводились?? :scratch:

Код:
#include <string.au3>
#include <Excel.au3>
#include <Array.au3>
#Include 'SNMP_UDF-v1.7.4.au3'

Global $SNMP_Version = 2					; SNMP v2c (1 for SNMP v1)
Global $SNMP_Community = "private"			; SNMPString(Community) - you need the "write" community string to test this.
Global $SNMP_ReqID = 1
Global $SNMP_Command
Global $Start = 1
Global $result

Dim $IP_ADDRESS

$IP_ADDRESS = '10.0.61.183'

$pin = Ping($IP_ADDRESS,250)
If $pin Then 
$PORT = "161"
$TONER_MAX_1 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010801010500"
$TONER_MAX_4 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010801040500"
$TONER_MAX_RESULT_LENGHT = 4
$TONER_1 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901010500"
$TONER_2 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901020500"
$TONER_3 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901030500"
$TONER_4 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901040500"
$TONER_CURRENT_RESULT_LENGHT = 4
$result_max_toner1=getsnmp($IP_ADDRESS,$TONER_MAX_1,$TONER_MAX_RESULT_LENGHT)
$result_max_toner4=getsnmp($IP_ADDRESS,$TONER_MAX_4,$TONER_MAX_RESULT_LENGHT)
$result_current_toner1=getsnmp($IP_ADDRESS,$TONER_1,$TONER_CURRENT_RESULT_LENGHT)
$result_current_toner2=getsnmp($IP_ADDRESS,$TONER_2,$TONER_CURRENT_RESULT_LENGHT)
$result_current_toner3=getsnmp($IP_ADDRESS,$TONER_3,$TONER_CURRENT_RESULT_LENGHT)
$result_current_toner4=getsnmp($IP_ADDRESS,$TONER_4,$TONER_CURRENT_RESULT_LENGHT)
$CAPACITY_PER_CENT1 = Round((($result_current_toner1 * 100) / $result_max_toner1),2)
$CAPACITY_PER_CENT2 = Round((($result_current_toner2 * 100) / $result_max_toner1),2)
$CAPACITY_PER_CENT3 = Round((($result_current_toner3 * 100) / $result_max_toner1),2)
$CAPACITY_PER_CENT4 = Round((($result_current_toner4 * 100) / $result_max_toner4),2)
ConsoleWrite($IP_ADDRESS & ' Toner: '& @CRLF)
ConsoleWrite('Голубой:   ' & $CAPACITY_PER_CENT1 & '%' & @CRLF)
ConsoleWrite('Пурпурный: ' & $CAPACITY_PER_CENT2 & '%' & @CRLF)
ConsoleWrite('Желтый:    ' & $CAPACITY_PER_CENT3 & '%' & @CRLF)
ConsoleWrite('Черный:    ' & $CAPACITY_PER_CENT4 & '%' & @CRLF)
Else
   MsgBox(0, 'Ошибка', 'Подключение к ' & $IP_ADDRESS & ' не удалось! ' & @CRLF & 'Проверьте сетевое подключение')
		 EndIf

Func getsnmp($IP_ADDRESS,$CMD,$MAXRESULT)
UDPStartUp()
;~ $Start = 4
$Socket = UDPopen($IP_ADDRESS, $Port)
UDPSend($Socket, $CMD)
While (1)
$srcv = UDPRecv($Socket, 2048)
If ($srcv <> "") Then 
$result_getsnmp=Dec(stringright($srcv,$MAXRESULT))
;~ ConsoleWrite($result_getsnmp &@CRLF)
Return $result_getsnmp
ExitLoop
EndIf
sleep(100)
WEnd
UDPCloseSocket($Socket)
UDPShutdown()
EndFunc
 
Автор
H

HecZ

Новичок
Сообщения
7
Репутация
0
Вообщем всё сам доделал, спсибО ;)
Вот если кому будет интересно...собирает информацию с принтеров в моём случае с ксероксов, но по идеи должно и на других работать пока кроме струйных.
Код:
#include <string.au3>
#include <Excel.au3>
#include <Array.au3>

Global $SNMP_Version = 2					; SNMP v2c (1 for SNMP v1)
Global $SNMP_Community = "private"			; SNMPString(Community) - you need the "write" community string to test this.
Global $SNMP_ReqID = 1
Global $SNMP_Command
Global $Start = 1
Global $result

Local $array[1][4]
Local $x = 0, $y = 1
$sFilePath1 = @ScriptDir & "\printer.xls"
$oExcel = _ExcelBookOpen($sFilePath1, 0)
If @error = 1 Then
    MsgBox(16, "Ошибка!", "Невозможно создать объект Excel")
    Exit
ElseIf @error = 2 Then
    MsgBox(16, "Ошибка!", "Файл " & $FilePath & " не существует")
    Exit
EndIf
$oExcel1 = _ExcelBookAttach($sFilePath1)
$aStr = _ExcelReadSheetToArray($oExcel1)
$RowCnt = $aStr [0] [0]
$aArray = _ExcelReadArray($oExcel, 2, 1, $RowCnt, 1)
$aArray4 = _ExcelReadArray($oExcel, 1, 2, $RowCnt, 1)
$aArray5 = _ExcelReadArray($oExcel, 1, 3, $RowCnt, 1)
$aArray2 = _ArrayToString($aArray)
$aArray3 = StringSplit($aArray2, '|')
Dim $IP_ADDRESS
For $i = 1 to UBound($aArray3)-2
   Dim $IP_ADDRESS
   $IP_ADDRESS = $aArray3[$i]
   $printLoc = $aArray5[$i]
   $printName = $aArray4[$i]
   $pin = Ping($IP_ADDRESS,250)
If $pin Then 
$PORT = "161"
$TONER_MAX_1 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010801010500"
$TONER_MAX_2 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010801020500"
$TONER_MAX_3 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010801030500"
$TONER_MAX_4 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010801040500"
$TONER_MAX_RESULT_LENGHT = 4
$TONER_1 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901010500"
$TONER_2 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901020500"
$TONER_3 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901030500"
$TONER_4 = "0x302C020101040770726976617465A01E0202000102010002010030123010060C2B060102012B0B01010901040500"
$TONER_CURRENT_RESULT_LENGHT = 4
$result_max_toner1=getsnmp($IP_ADDRESS,$TONER_MAX_1,$TONER_MAX_RESULT_LENGHT)
$result_max_toner2=getsnmp($IP_ADDRESS,$TONER_MAX_2,$TONER_MAX_RESULT_LENGHT)
$result_max_toner3=getsnmp($IP_ADDRESS,$TONER_MAX_3,$TONER_MAX_RESULT_LENGHT)
$result_max_toner4=getsnmp($IP_ADDRESS,$TONER_MAX_4,$TONER_MAX_RESULT_LENGHT)
$result_current_toner1=getsnmp($IP_ADDRESS,$TONER_1,$TONER_CURRENT_RESULT_LENGHT)
$result_current_toner2=getsnmp($IP_ADDRESS,$TONER_2,$TONER_CURRENT_RESULT_LENGHT)
$result_current_toner3=getsnmp($IP_ADDRESS,$TONER_3,$TONER_CURRENT_RESULT_LENGHT)
$result_current_toner4=getsnmp($IP_ADDRESS,$TONER_4,$TONER_CURRENT_RESULT_LENGHT)
$CAPACITY_PER_CENT1 = Round((($result_current_toner1 * 100) / $result_max_toner1),2)
$CAPACITY_PER_CENT2 = Round((($result_current_toner2 * 100) / $result_max_toner2),2)
$CAPACITY_PER_CENT3 = Round((($result_current_toner3 * 100) / $result_max_toner3),2)
$CAPACITY_PER_CENT4 = Round((($result_current_toner4 * 100) / $result_max_toner4),2)
 ReDim $array[$y][4]
        $array[$x][0] = $IP_ADDRESS
        $array[$x][1] = $printName
        $array[$x][2] = $printLoc
		if $result_max_toner2 = $result_max_toner3 and $result_max_toner3 = $result_max_toner4 Then
		   $array[$x][3] = $CAPACITY_PER_CENT1 & "% "
		   $x += 1
        $y += 1
			else
        $array[$x][3] = 'Голубой: ' & $CAPACITY_PER_CENT1 & "% " & 'Пурпурный:' & $CAPACITY_PER_CENT2 & "% " & 'Желтый:' &  $CAPACITY_PER_CENT3 & "% " & 'Черный:' & $CAPACITY_PER_CENT4 & "% "
        $x += 1
        $y += 1
			endif
	 Else
		 ReDim $array[$y][4]
        $array[$x][0] = $IP_ADDRESS
        $array[$x][1] = $printName
        $array[$x][2] = $printLoc
        $array[$x][3] = 'Ошибка подключения'
        $x += 1
        $y += 1
		 EndIf
	  next
	 	 
_ExcelBookClose($oExcel, 0)	  

 _ArrayDisplay($array,"Статус Принтеров",-1,0,"","|","№|IP адресс|Принтер|Расположение|Уровень Тонера")

Func getsnmp($IP_ADDRESS,$CMD,$MAXRESULT)
UDPStartUp()
;~ $Start = 4
$Socket = UDPopen($IP_ADDRESS, $Port)
UDPSend($Socket, $CMD)
While (1)
$srcv = UDPRecv($Socket, 2048)
If ($srcv <> "") Then 
$result_getsnmp=Dec(stringright($srcv,$MAXRESULT))
;ConsoleWrite($result_getsnmp &@CRLF)
Return $result_getsnmp
ExitLoop
EndIf
sleep(100)
WEnd
UDPCloseSocket($Socket)
UDPShutdown()
EndFunc
 

SlayerT

Новичок
Сообщения
1
Репутация
0
Добрый день!
Подскажите пожалуйста по вашему скрипту
Когда я его запускаю появляется ошибка
(25) : ==> Subscript used on non-accessible variable.:
$RowCnt = $aStr [0] [0]

$RowCnt = $aStr ^ ERROR

В чем может быть проблема?
 
Верх