ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 мая
709127 Топик полностью
Гудвин, волшебник (28.10.2016 18:14, просмотров: 144) ответил AlexG на Как бы попроще сделать серию технологических программ-терминалок для управления различным железом по SNMP? Т.е. с одной стороны, надо иметь возможность прочитать параметр/записать параметр/принять трап, но чтобы настройщик видел обычные виндовые
Блин, а чем delphi не угодил? Накидал в форму полей/memo и фпирёт. Обязательно какую-нить рыбу и жабу... Компоненты для SNMP имеются, примеров в сети море: { Функция SNMP опроса принтера } Function SNMPQuery (Host, Mib: string) : string; var s: String; i, j: Integer; SNMP: TIdSNMP; begin SNMP := TIdSNMP.Create(nil); SNMP.Query.Host := Host; SNMP.Query.Port := 161; SNMP.Query.Community := 'public'; SNMP.Query.PDUType := PDUGetRequest; SNMP.Query.MIBAdd(Mib,''); try if SNMP.SendQuery then for i := 0 to SNMP.Reply.ValueCount - 1 do SNMPQuery:= SNMP.Reply.Value[i]; finally SNMP.Free; end; end; { Опрос SNMP принтера } procedure TForm1.Button3Click(Sender: TObject); var Host, t: string; Begin Memo1.Clear; host:= '192.168.137.3'; mib1:= '1.3.6.1.2.1.43.11.1.1.8.1.1'; mib2:= '1.3.6.1.2.1.43.5.1.1.17.1'; mib3:= '1.3.6.1.2.1.25.3.5.1.1.1'; mib4:= '1.3.6.1.2.1.43.16.5.1.2.1.1'; mib5:= '1.3.6.1.2.1.1.5.0'; mib6:= '1.3.6.1.2.1.2.2.1.6.2'; mib7:= '1.3.6.1.2.1.43.10.2.1.4.1.1'; Memo1.Lines.Add('Объем картриджа' + ': ' + SNMPQuery(host, mib1)); Memo1.Lines.Add('Серийный номер' + ': ' + SNMPQuery(host, mib2)); Memo1.Lines.Add('Printing status' + ': ' + SNMPQuery(host, mib3)); Memo1.Lines.Add('Device status' + ': ' + SNMPQuery(host, mib4)); Memo1.Lines.Add('Host name' + ': ' + SNMPQuery(host, mib5)); Memo1.Lines.Add('Mac adress' + ': ' + SNMPQuery(host, mib6)); Memo1.Lines.Add('Page' + ': ' + SNMPQuery(host, mib7)); end;