Tema: Indy 9
Ver Mensaje Individual
  #2  
Antiguo 08-06-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Reputación: 22
DarkByte Va por buen camino
Cita:
Empezado por Alessan
puedo leer perfectamente cualquier OID,
Si no es mucha molestia, ¿Qué es un OID?-

Intenta usar las etiquetas [ Delphi ] y [/ Delphi ] (sin espacios) cuanod vayas a utilizar código delphi

Ej:
Código Delphi [-]
function TfrmMainSNMP.GetOID(OID: String; var Reply, Error: String): Boolean;
var
  Tmp: String;

begin
  Result := False;
  try
      if SNMP = Nil then begin
          SNMP := TIdSNMP.Create(nil);
      end;

      if not LeerIni(RutaIni, 'HOST', 'Address', Tmp, '', Error) then begin
          GrabarLog(RutaLog, Error, Error);
      end;
      IP := Tmp;
      
      SNMP.Community := 'public';
      SNMP.Host := IP;
      SNMP.Query.Clear;
      SNMP.Query.PDUType := PDUGetRequest;
      SNMP.Query.MIBAdd(OID, '');

      snmp.Active := True;
      if not SNMP.SendQuery then begin
          Error := 'Error al consultar OID(' + IntToStr(SNMP.Query.ErrorStatus) + '): ' + OID;
          memo1.Lines.Add(Error);
        end else begin
          Reply := SNMP.Reply.Value[0];
          memo1.Lines.Add(Trim(SNMP.Reply.MIBOID.Text) + ': ' + Trim(SNMP.Reply.MIBValue.Text));
      end;
      Result := True;
  Except On E: Exception do begin
      Error := 'Error en la función (TfrmMainTPVSNMP)ConsultarOID. ' + E.Message;
  end;
  end;
end;


function TfrmMainSNMP.SetOID(OID: String; Value: String; var Error: String): Boolean;
var
  Tmp: String;

begin
  Result := False;
  try
      if SNMP = Nil then begin
          SNMP := TIdSNMP.Create(nil);
      end;

      if not LeerIni(RutaIni, 'HOST', 'Address', Tmp, '', Error) then begin
          GrabarLog(RutaLog, Error, Error);
      end;
      IP := Tmp;

      SNMP.Community := 'public';
      SNMP.Host := IP;
      SNMP.Query.Clear;
      SNMP.Query.MIBAdd(OID, Value);
      SNMP.Query.PDUType := PDUSetRequest;
      if not SNMP.SendQuery then begin
          Error := 'Error al Escribir en OID: ' + OID + '(' + Value + ')';
      end else begin
          snmp.Reply.MIBGet(OID);
          memo1.Lines.Add('OID ' + OID + ' = ' + Value + '.');
      end;
      Result := True;
  Except On E: Exception do begin
      Error := 'Error en la función (TfrmMainTPVSNMP)ConsultarOID. ' + E.Message;
  end;
  end;
end;
__________________
:)
Responder Con Cita