救助!delpi中用IDSNMP控件查询OID值,没能得到正确结果!
代码如下:
begin
SNMP.Community := Community.Text;
SNMP.Host := IPaddress.Text;
SNMP.Query.Clear;
origOID := '1.3.6.1.2.1.1.1.0';
SNMP.Query.MIBAdd(origOID, '');
SNMP.Query.PDUType := PDUGetRequest;
while SNMP.SendQuery do
begin
for I := 0 to SNMP.Reply.ValueCount - 1 do
memo1.Lines.Add(SNMP.Reply.Value[I]);
SNMP.Query.Clear;
SNMP.Query.MIBAdd(SNMP.Reply.ValueOID[0], '');
SNMP.Query.PDUType := PDUGetNextRequest;
end;
end;
以上代码以实现查询,但有些结果不正确,例如设备总运行时间,只是显示形如"24825"这样的一串数字,但我用其它MIB浏览器除了能看到这串数字外,还能看到运行小时,分,秒等内容;还有查询设备MAC地址时,内容为空,用其它MIB浏览器查看时内容是分两行显示,第一行内容为空,第二行内容才是MAC地址,不知如何修改控件代码才能正确读取到OID-VALUE值的第二行内容呢?按照我的观察,以上问题都是程序只读取的是VALUE值的第一行内容,没有读取第二行内容而造成的,还有如果我想读取OID的描述,还有OID的对像名称(不是OID的值)该如何实现呢?希望各位高手给我帮助!xiejifa@163.com,或者直接回复,谢谢!