PDA

View Full Version : snmp در دلفی 2009



iamehsan56
پنج شنبه 09 مهر 1388, 10:20 صبح
سلام
من یه بر نامه تو دلفی 7 داشتم که به خوبی با استفاده از idsnmp با snmp ارتباط برقرار می کرد
اما وقتی آوردمش تو دلفی 2009 بی هیچ error ی ارتباط برقرار نمی کنه .
کسی می تونه کمک کنه
ممنون می شم راهنماییم کنید .


procedure TForm1.Button1Click(Sender: TObject);
var
Ok:Boolean;
t,Counter:Integer;
Value:String;
begin
Counter := 0;
IdSNMP1.Active := true;
IdSNMP1.Community := comun.Text;
IdSNMP1.Host := hst.Text; {ie 'localhost'}
IdSNMP1.Query.Host := hst.Text;
IdSNMP1.Query.Community := comun.Text;
IdSNMP1.Query.Clear;
IdSNMP1.Query.PDUType := PDUGetRequest;
IdSNMP1.Query.MIBAdd(oid.Text,''); {ie '1.3.6.1.2.1.1.1.0' }
IdSNMP1.Active := true;
while Counter < 3 do
begin
Ok := IdSNMP1.SendQuery;
if Ok then
begin
getstatus.Caption:='status: Get Successfully' ;

for t := 0 to IdSNMP1.Reply.ValueCount-1 do
begin
Memo1.Lines.Add('Value['+IntToStr(t)+']='+IdSNMP1.Reply.Value[t] );
end;

break;
end
else
begin
Memo1.Lines.Add('Retrying.');
Inc(Counter);
end;
end;

if not Ok then
begin
Memo1.Lines.Add('UDP responses lost or there is no SNMP server responding at that address.');
end;

end;

اینم خود source که تو دلفی 7 کار می کنه .
لطفا کمک

iamehsan56
پنج شنبه 09 مهر 1388, 19:01 عصر
يه توضيح ديگه اين كه mib كه add مي كنم تو reply‌ به يه mib ديگه تبديل مي شه
لطقا كمك كنيد . شايد بايد جاي ديگه اي اينو مطرح كنم . اگه اينطوره راهنمايي بفرماييد
ممنون

iamehsan56
شنبه 11 مهر 1388, 08:26 صبح
اساتید ودوستان یه راهنمایی کوچیک هم راهگشاست . سخت گیر کردم.
جای دیگه ای می شناسید که بهشون سر زد یا از کسی راهنمایی گرفت .
یه راهی چیزی .
اگه توضیحم کافی نیست لطفا بگید .
لطفا کمک کنید . لطفا

iamehsan56
شنبه 11 مهر 1388, 10:05 صبح
من که هنوز نفهمیدم مشکل کجاست
اما دارم دنبال یه component واسه snmp می گردم . اگه کسی کامپوننت خوب می شناسه معرفی کنه لطفا
در ضمن من یه source کامپوننت دارم که موقع نصبش error می ده کسی می تونه بگه مشکل از چیه ؟

error اینه :
[Fatal Error] SNMPSynapse.pas(1): Program or unit 'SNMPSynapse.pas' recursively uses itself

اما تو source :که من چیزی از recrsive شدن نفهمیدم





{ -------------------------------------------------------------------------------------}
{ A "SNMP" component for Delphi32. }
{ Copyright 2000-2002, Jean-Fabien Connault. All Rights Reserved. }
{ This component can be freely used and distributed in commercial and private }
{ environments, provided this notice is not modified in any way. }
{ -------------------------------------------------------------------------------------}
{ Feel free to contact me if you have any questions, comments or suggestions at: }
{ cycocrew@wanadoo.fr (Jean-Fabien Connault) }
{ You can always find the latest version of this component at: }
{ http://perso.wanadoo.fr/cycocrew/delphi/components.html }
{ -------------------------------------------------------------------------------------}
{ Date last modified: 10/06/02 }
{ -------------------------------------------------------------------------------------}

{ -------------------------------------------------------------------------------------}
{ TSNMPSynapse v1.11 }
{ -------------------------------------------------------------------------------------}
{ Description: }
{ A component that encapsulates the Synapse SNMP library }
{ Properties: }
{ Public }
{ property ErrorStatus: integer; }
{ property ErrorIndex: integer; }
{ property HostIP: string; }
{ property LastOid: string; }
{ property LastValueType: TSNMPMibValueType; }
{ property NoResponseList: TStringList; }
{ property ResultList: TStringList; }
{ property Version: integer; }
{ Published }
{ property BlockNoResponse: boolean; }
{ property Community: string; }
{ property Host: string; }
{ property HostList: TStringList; }
{ property Progress: boolean; }
{ property Retry: integer; }
{ property Throttle: integer; }
{ property Timeout: integer; }
{ Procedures and Functions: }
{ function ConvertValueTypeToString(ASNMPMibValueType: TSNMPMibValueType): string; }
{ function ConvertStringToValueType(AString: string): TSNMPMibValueType; }
{ function ConvertStringToHexString(AString: string): string; }
{ function DeleteHostFromNoResponseList(AHost: string); }
{ function IsHostInNoResponseList(AHost: string): boolean; }
{ procedure ResetNoResponseList; }
{ function AddHostToHostList(AHost: string); }
{ function DeleteHostFromHostList(AHost: string); }
{ function IsHostInHostList(AHost: string): boolean; }
{ procedure ResetHostList; }
{ procedure AssignStringListToHostList(AStringList: TStringList); }
{ procedure AssignCheckListBoxItemsToHostList(ACheckListBox: TCheckListBox; ...); }
{ function GetHostResult(AHost: string): string; }
{ function SNMPGet(Oid: string): string; }
{ function SNMPGetNext: string; }
{ function SNMPSet(Oid, Value: string; ValueType: TSNMPMibValueType): string; }
{ function SNMPGetTable(BaseOid: string; Instanced: boolean): string; }
{ function ExtractValueListData(Row, Col: integer): string; }
{ procedure SNMPMibAdd(Oid, Value: string; SNMPMibValueType: TSNMPMibValueType); }
{ procedure SNMPMibClear; }
{ procedure SNMPMibDelete(i: integer); }
{ function SNMPMibSet: string; }
{ Needs: }
{ Synapse package from Lukas Gebauer (geby@volny.cz) }
{ Synapse package available at: http://www.ararat.cz/synapse/ }
{ }
{ See example contained in example.zip file for more details. }
{ -------------------------------------------------------------------------------------}
{ Revision History: }
{ 1.00: + Initial release (08/10/00) }
{ 1.01: + Moved some constants from SNMPSend to SNMPSynapse (08/21/00) }
{ 1.02: + Moved TSNMPMibValueType from SNMPSend to SNMPSynapse (09/17/00) }
{ 1.03: + Added ConvertValueTypeToString function (02/04/01) }
{ + Added SNMPGetNext function (02/04/01) }
{ Thanks to Adrian Gallero (Adrian.Gallero@telefonica-data.com.uy) }
{ + Added HostIP, LastOid, LastValueType and Version properties (02/04/01) }
{ Thanks to Adrian Gallero (Adrian.Gallero@telefonica-data.com.uy) }
{ 1.04: + Added SNMPMibAdd, SNMPMibClear and SNMPMibDelete procedures (03/17/01) }
{ + Added ConvertStringToValueType and SNMPMibSet functions (03/17/01) }
{ 1.05: + Added Retry and Throttle properties (03/28/01) }
{ + Added OnThrottle and OnTimeout events (03/28/01) }
{ + Changed default timeout value to 2000 milliseconds (03/28/01) }
{ 1.06: + Added BlockNoResponse and NoResponseList properties (03/30/01) }
{ + Added OnBlockNoResponse event (03/30/01) }
{ + Added DeleteHostFromNoResponseList procedure (03/30/01) }
{ + Added IsHostInNoResponseList function (03/30/01) }
{ + Added ResetNoResponseList procedure (03/30/01) }
{ + Added ConvertStringToHexString function (03/30/01) }
{ 1.07: + Added HostList, ResultList and Progress properties (05/07/01) }
{ + Added AddHostToHostList function (05/07/01) }
{ + Added DeleteHostFromHostList function (05/07/01) }
{ + Added IsHostInHostList function (05/07/01) }
{ + Added ResetHostList procedure (05/07/01) }
{ + Added AssignStringListToHostList procedure (05/07/01) }
{ + Added AssignCheckListBoxItemsToHostList procedure (05/07/01) }
{ + Added GetHostResult function (05/07/01) }
{ 1.08: + Modified to work with Synapse 23 (08/03/01) }
{ 1.09: + Cosmetic changes (12/08/01) }
{ 1.10: + Added SNMPGetTable function (08/12/02) }
{ + Added ExtractValueListData function (08/12/02) }
{ + Modified to work with Synapse 29 (08/12/02) }
{ 1.11: + Enhanced SNMP throttling (10/06/02) }
{ + Enhanced timeout event (10/06/02) }
{ + Fixed SNMPGetTable function (10/06/02) }
{--------------------------------------------------------------------------------------}

unit SNMPSynapse;

{$IFNDEF WIN32}
ERROR! This unit only available on Win32!
{$ENDIF}

interface

uses
SysUtils, Windows, Classes, StdCtrls, Forms, Dialogs, Controls, checklst,
SNMPSend, SynaUtil, ASN1Util;

type
TSNMPMibValueType = (smvtInteger, smvtOctetString, smvtNull, smvtObjectId,
smvtSequence, smvtIpAddress, smvtCounter, smvtGauge, smvtTimeTicks);

TBlockNoResponseEvent = procedure(Sender: TObject; Host: string) of object;
TProgressEvent = procedure(Sender: TObject; Position, Max: integer) of object;
TThrottleEvent = procedure(Sender: TObject) of object;
TTimeoutEvent = procedure(Sender: TObject; Host: string; Retry: integer) of object;

TSNMPSynapse = class(TComponent)
private
FBlockNoResponse: boolean;
FCommunity: string;
FRequestCount: integer;
FErrorStatus: integer;
FErrorIndex: integer;
FHost: string;
FHostList: TStringList;
FLastOid: string;
FLastValueType: TSNMPMibValueType;
FNoResponseList: TStringList;
FOnBlockNoResponse: TBlockNoResponseEvent;
FOnProgress: TProgressEvent;
FOnThrottle: TThrottleEvent;
FOnTimeout: TTimeoutEvent;
FProgress: boolean;
FResultList: TStringList;
FRetry: integer;
FSNMPMibList: TList;
FSNMPSend: TSNMPSend;
FThrottle: integer;
FTimeout: integer;
FTimeStamp: TTimeStamp;
FValueList: TStringList;
FVersion: integer;
function AddHostToNoResponseList(AHost: string): boolean;
function ConvertValueTypeToInteger(ASNMPMibValueType: TSNMPMibValueType): integer;
function ConvertIntegerToValueType(AInteger: integer): TSNMPMibValueType;
function SNMPGetOp(Oid: string; Op: integer): string;
function GetHostIP: string;
procedure SetHost(Value: string);
procedure SetTimeout(Value: integer);
procedure DoThrottle;
protected
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function ConvertValueTypeToString(ASNMPMibValueType: TSNMPMibValueType): string;
function ConvertStringToValueType(AString: string): TSNMPMibValueType;
function ConvertStringToHexString(AString: string): string;
function DeleteHostFromNoResponseList(AHost: string): boolean;
function IsHostInNoResponseList(AHost: string): boolean;
procedure ResetNoResponseList;
function AddHostToHostList(AHost: string): boolean;
function DeleteHostFromHostList(AHost: string): boolean;
function IsHostInHostList(AHost: string): boolean;
procedure ResetHostList;
procedure AssignStringListToHostList(AStringList: TStringList);
procedure AssignCheckListBoxItemsToHostList(ACheckListBox: TCheckListBox; Checked: boolean);
function GetHostResult(AHost: string): string;
function SNMPGet(Oid: string): string;
function SNMPGetNext: string;
function SNMPSet(Oid, Value: string; ValueType: TSNMPMibValueType): string;
function SNMPGetTable(BaseOid: string; Instanced: boolean = false): string;
function ExtractValueListData(Row, Col: integer): string;
procedure SNMPMibAdd(Oid, Value: string; SNMPMibValueType: TSNMPMibValueType);
procedure SNMPMibClear;
procedure SNMPMibDelete(i: integer);
function SNMPMibSet: string;
property ErrorStatus: integer read FErrorStatus;
property ErrorIndex: integer read FErrorIndex;
property HostIP: string read GetHostIP;
property LastOid: string read FLastOid write FLastOid;
property LastValueType: TSNMPMibValueType read FLastValueType;
property NoResponseList: TStringList read FNoResponseList write FNoResponseList;
property ResultList: TStringList read FResultList write FResultList;
property ValueList: TStringList read FValueList write FValueList;
property Version: integer read FVersion;
published
property BlockNoResponse: boolean read FBlockNoResponse write FBlockNoResponse default false;
property Community: string read FCommunity write FCommunity;
property Host: string read FHost write SetHost;
property HostList: TStringList read FHostList write FHostList;
property Progress: boolean read FProgress write FProgress default false;
property Retry: integer read FRetry write FRetry;
property Throttle: integer read FThrottle write FThrottle;
property Timeout: integer read FTimeout write SetTimeout;
property OnBlockNoResponse: TBlockNoResponseEvent read FOnBlockNoResponse write FOnBlockNoResponse;
property OnProgress: TProgressEvent read FOnProgress write FOnProgress;
property OnThrottle: TThrottleEvent read FOnThrottle write FOnThrottle;
property OnTimeout: TTimeoutEvent read FOnTimeout write FOnTimeout;
end;

procedure Register;

const
SNMP_SUCCESS = 'Success';
SNMP_FAILURE = 'Failure';
SNMP_NONE = 'None';

implementation

{************************************************* **************************}
{ CONSTRUCTOR Create }
{************************************************* **************************}

constructor TSNMPSynapse.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FCommunity := 'public';
FRequestCount := 0;
FSNMPMibList := TList.Create;
FSNMPSend := TSNMPSend.Create;
FNoResponseList := TStringList.Create;
FHostList := TStringList.Create;
FResultList := TStringList.Create;
FValueList := TStringList.Create;
FRetry := 1;
FThrottle := 20;
FTimeout := 2000;
FTimeStamp := DateTimeToTimeStamp(now);
FLastOid := '';
end;

{************************************************* **************************}
{ DESTRUCTOR Destroy }
{************************************************* **************************}

destructor TSNMPSynapse.Destroy;
var
i: Integer;
begin
for i := 0 to FSNMPMibList.Count - 1 do
TSNMPMib(FSNMPMibList[i]).Free;
FSNMPMibList.Clear;
FSNMPMibList.Free;
FSNMPSend.Free;
FNoResponseList.Free;
FHostList.Free;
FResultList.Free;
FValueList.Free;
inherited Destroy;
end;

{************************************************* **************************}
{ FUNCTION AddHostToNoResponseList }
{************************************************* **************************}

function TSNMPSynapse.AddHostToNoResponseList(AHost: string): boolean;
var
itempos: integer;
begin
itempos := FNoResponseList.indexOf(AHost);
if (itempos < 0) then
begin
FNoResponseList.add(AHost);
result := true;
end
else
result := false;
end;

{************************************************* **************************}
{ FUNCTION DeleteHostFromNoResponseList }
{************************************************* **************************}

function TSNMPSynapse.DeleteHostFromNoResponseList(AHost: string): boolean;
var
itempos: integer;
begin
itempos := FNoResponseList.indexOf(AHost);
if (itempos > -1) then
begin
FNoResponseList.delete(itempos);
result := true;
end
else
result := false;
end;

{************************************************* **************************}
{ FUNCTION IsHostInNoResponseList }
{************************************************* **************************}

function TSNMPSynapse.IsHostInNoResponseList(AHost: string): boolean;
var
itempos: integer;
begin
itempos := FNoResponseList.indexOf(AHost);
result := (itempos > -1);
end;

{************************************************* **************************}
{ PROCEDURE ResetNoResponseList }
{************************************************* **************************}

procedure TSNMPSynapse.ResetNoResponseList;
begin
FNoResponseList.Clear;
end;

{************************************************* **************************}
{ FUNCTION AddHostToHostList }
{************************************************* **************************}

function TSNMPSynapse.AddHostToHostList(AHost: string): boolean;
var
itempos: integer;
begin
itempos := FHostList.indexOf(AHost);
if (itempos < 0) then
begin
FHostList.add(AHost);
FResultList.add('');
result := true;
end
else
result := false;
end;

{************************************************* **************************}
{ FUNCTION DeleteHostFromHostList }
{************************************************* **************************}

function TSNMPSynapse.DeleteHostFromHostList(AHost: string): boolean;
var
itempos: integer;
begin
itempos := FHostList.indexOf(AHost);
if (itempos > -1) then
begin
FHostList.delete(itempos);
if (itempos < FResultList.Count) then
FResultList.delete(itempos);
result := true;
end
else
result := false;
end;

{************************************************* **************************}
{ FUNCTION IsHostInHostList }
{************************************************* **************************}

function TSNMPSynapse.IsHostInHostList(AHost: string): boolean;
var
itempos: integer;
begin
itempos := FHostList.indexOf(AHost);
result := (itempos > -1);
end;

{************************************************* **************************}
{ PROCEDURE ResetHostList }
{************************************************* **************************}

procedure TSNMPSynapse.ResetHostList;
begin
FHostList.Clear;
FResultList.Clear;
end;

{************************************************* **************************}
{ PROCEDURE AssignStringListToHostList }
{************************************************* **************************}

procedure TSNMPSynapse.AssignStringListToHostList(AStringLis t: TStringList);
begin
ResetHostList;
FHostList.assign(AStringList);
end;

{************************************************* **************************}
{ PROCEDURE AssignCheckListBoxItemsToHostList }
{************************************************* **************************}

procedure TSNMPSynapse.AssignCheckListBoxItemsToHostList(ACh eckListBox: TCheckListBox; Checked: boolean);
var
i: integer;
begin
ResetHostList;
for i := 0 to ACheckListBox.items.count - 1 do
begin
if (ACheckListBox.checked[i] = Checked) then
FHostList.add(ACheckListBox.items[i]);
end;
end;

{************************************************* **************************}
{ FUNCTION GetHostResult }
{************************************************* **************************}

function TSNMPSynapse.GetHostResult(AHost: string): string;
var
itempos: integer;
begin
itempos := FHostList.indexOf(AHost);
if (itempos > -1) and (itempos < FResultList.count) then
result := FResultList[itempos]
else
result := '';
end;

{************************************************* **************************}
{ PROCEDURE DoThrottle }
{************************************************* **************************}

procedure TSNMPSynapse.DoThrottle;
begin
if (FThrottle > 0) then
begin
if (FRequestCount = FThrottle) then
begin
if ((DateTimeToTimeStamp(now).Time - FTimeStamp.Time) < 1000) then
begin
if Assigned(OnThrottle) then
OnThrottle(Self);
Sleep(1000 - (DateTimeToTimeStamp(now).Time - FTimeStamp.Time));
end;
FRequestCount := 0;
end
else
begin
if (FRequestCount = 0) then
FTimeStamp := DateTimeToTimeStamp(now);
FRequestCount := FRequestCount + 1;
end;
end;
end;

{************************************************* **************************}
{ FUNCTION ConvertValueTypeToInteger }
{************************************************* **************************}

function TSNMPSynapse.ConvertValueTypeToInteger(ASNMPMibVal ueType: TSNMPMibValueType): integer;
begin
result := ASN1_NULL;
if (ASNMPMibValueType = smvtInteger) then
result := ASN1_INT;
if (ASNMPMibValueType = smvtOctetString) then
result := ASN1_OCTSTR;
if (ASNMPMibValueType = smvtNull) then
result := ASN1_NULL;
if (ASNMPMibValueType = smvtObjectId) then
result := ASN1_OBJID;
if (ASNMPMibValueType = smvtSequence) then
result := ASN1_SEQ;
if (ASNMPMibValueType = smvtIpAddress) then
result := ASN1_IPADDR;
if (ASNMPMibValueType = smvtCounter) then
result := ASN1_COUNTER;
if (ASNMPMibValueType = smvtGauge) then
result := ASN1_GAUGE;
if (ASNMPMibValueType = smvtTimeTicks) then
result := ASN1_TIMETICKS;
end;

{************************************************* **************************}
{ FUNCTION ConvertValueTypeToString }
{************************************************* **************************}

function TSNMPSynapse.ConvertValueTypeToString(ASNMPMibValu eType: TSNMPMibValueType): string;
begin
result := 'ASN1_NULL';
if (ASNMPMibValueType = smvtInteger) then
result := 'ASN1_INT';
if (ASNMPMibValueType = smvtOctetString) then
result := 'ASN1_OCTSTR';
if (ASNMPMibValueType = smvtNull) then
result := 'ASN1_NULL';
if (ASNMPMibValueType = smvtObjectId) then
result := 'ASN1_OBJID';
if (ASNMPMibValueType = smvtSequence) then
result := 'ASN1_SEQ';
if (ASNMPMibValueType = smvtIpAddress) then
result := 'ASN1_IPADDR';
if (ASNMPMibValueType = smvtCounter) then
result := 'ASN1_COUNTER';
if (ASNMPMibValueType = smvtGauge) then
result := 'ASN1_GAUGE';
if (ASNMPMibValueType = smvtTimeTicks) then
result := 'ASN1_TIMETICKS';
end;

{************************************************* **************************}
{ FUNCTION ConvertIntegerToValueType }
{************************************************* **************************}

function TSNMPSynapse.ConvertIntegerToValueType(AInteger: integer): TSNMPMibValueType;
begin
result := smvtNull;
if (AInteger = ASN1_INT) then
result := smvtInteger;
if (AInteger = ASN1_OCTSTR) then
result := smvtOctetString;
if (AInteger = ASN1_NULL) then
result := smvtNull;
if (AInteger = ASN1_OBJID) then
result := smvtObjectId;
if (AInteger = ASN1_SEQ) then
result := smvtSequence;
if (AInteger = ASN1_IPADDR) then
result := smvtIpAddress;
if (AInteger = ASN1_COUNTER) then
result := smvtCounter;
if (AInteger = ASN1_GAUGE) then
result := smvtGauge;
if (AInteger = ASN1_TIMETICKS) then
result := smvtTimeTicks;
end;

{************************************************* **************************}
{ FUNCTION ConvertStringToValueType }
{************************************************* **************************}

function TSNMPSynapse.ConvertStringToValueType(AString: string): TSNMPMibValueType;
begin
result := smvtNull;
if (AString = 'ASN1_INT') then
result := smvtInteger;
if (AString = 'ASN1_OCTSTR') then
result := smvtOctetString;
if (AString = 'ASN1_NULL') then
result := smvtNull;
if (AString = 'ASN1_OBJID') then
result := smvtObjectId;
if (AString = 'ASN1_SEQ') then
result := smvtSequence;
if (AString = 'ASN1_IPADDR') then
result := smvtIpAddress;
if (AString = 'ASN1_COUNTER') then
result := smvtCounter;
if (AString = 'ASN1_GAUGE') then
result := smvtGauge;
if (AString = 'ASN1_TIMETICKS') then
result := smvtTimeTicks;
end;

{************************************************* **************************}
{ FUNCTION ConvertStringToHexString }
{************************************************* **************************}

function TSNMPSynapse.ConvertStringToHexString(AString: string): string;
var
i, j: integer;
S: string;
begin
result := '';
for i := 1 to length(AString) do
begin
if not odd(i) then
begin
S := copy(AString, i - 1, 2);
j := strToInt('$' + S);
result := result + char(j);
end;
end;
end;

{************************************************* **************************}
{ FUNCTION SNMPGetOp }
{************************************************* **************************}

function TSNMPSynapse.SNMPGetOp(Oid: string; Op: integer): str

iamehsan56
یک شنبه 12 مهر 1388, 11:41 صبح
خوب سرانجام به چیزایی رسیدم .
اول این که تو بعضی forum ها به این اشاره شده بود که idsnmp با بعضی از دستگاهها نمی تونه ارتباط برقرار کنه . منم هر کاری کردم نتونستم باهاش تو 2009 ارتباط برقرار کنم
دوم این که یه active x خوب واسه این کار هست که من ازش استفاده کردم که البته یه اشکالی توش هست . منم واسه اصلاحش یه readme نوشتم و درنهایت می ذارمش اینجا
امیدوارم به کار کسی بیاد
ممنون

iamehsan56
پنج شنبه 30 مهر 1388, 08:50 صبح
دوستان کسی با این مشکل تو دلفی 2009 برخورد نکرده . احتیاج دارم تو دلفی 7 از همون indySNMP استفاده کنم اما همون برنامه که تو 7 کار می کنه تو 2009 هیچ کاری نمی کنه
کمک لطفا

tadeh2010
جمعه 21 تیر 1392, 11:38 صبح
سلام دوستان
من می خواهم با استفاده از SNMP و mib مقادیری را از مودمی بخوانم
این برنامه های فوق هیچ یک کمکم نکردند
از دلفی 2010 استفاده می کنم
خیلی گشتم ، حتی انگلیسی و روسی
ولی انگار مشکل از ویندوز است!نه؟
لطفا آدرس زیر را نگاه بکنید من مغزم که دیگه داره می پکه ، چیز زیادی ازش نفهمیدم
ولی یه قسمتهایی در مورد رجیستری و ست کردن مقادیر گفته.
http://technet.microsoft.com/en-us/library/cc750391.aspx