如何利用IDTELNET登录交换机(200分)

  • 主题发起人 dyck2004
  • 开始时间
D

dyck2004

Unregistered / Unconfirmed
GUEST, unregistred user!
如何利用IDTELNET登录交换机执行交互命令
 
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdTelnet, Mask, RzEdit, RzButton, RzCmboBx, ExtCtrls,
RzPanel;
type
TForm1 = class(TForm)
IdTelnet1: TIdTelnet;
Memo1: TMemo;
RzGroupBox1: TRzGroupBox;
RzButton1: TRzButton;
RzButton2: TRzButton;
Edit1: TRzEdit;
RzComboBox1: TRzComboBox;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure IdTelnet1DataAvailable(Sender: TIdTelnet;
const Buffer: String);
procedure RzButton2Click(Sender: TObject);
procedure RzButton1Click(Sender: TObject);
private
{ Private declarations }
public
//------------配置交换机端口
procedure autoconport(switch,log,pass,port:string;portstat:integer);//portstat=1 禁止 =2 开启
//-----------------------
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
var
i : integer;
s : string;
begin
s := edit1.text;
for i := 1 to length(s)do
IdTelnet1.SendCh(s);
IdTelnet1.SendCh(#13);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
IdTelnet1.Connect();
end;
procedure TForm1.IdTelnet1DataAvailable(Sender: TIdTelnet;
const Buffer: String);
begin
memo1.Lines.Add(buffer);
end;
procedure TForm1.RzButton2Click(Sender: TObject);//发送命令
var
i : integer;
s : string;
begin
if idtelnet1.Connected then
begin
if edit1.Text<>'' then
s := edit1.text else
exit;
for i := 1 to length(s)do
IdTelnet1.SendCh(s);
IdTelnet1.SendCh(#13);
edit1.Text:='';
edit1.SetFocus;
end;

end;
procedure TForm1.RzButton1Click(Sender: TObject);//连接
begin
idtelnet1.Host:=trim(rzcombobox1.Text);
idtelnet1.Connect();
end;
procedure TForm1.autoconport(switch, log, pass,port:string;
portstat: integer);
var s:string;
j,i:integer;
begin
idtelnet1.Host:=switch;
idtelnet1.Port:=23;
idtelnet1.Connect();
sleep(300);
if idtelnet1.Connected then
begin
for j:=1 to 4do
begin
case j of
1: s:=log;
2: s:=pass;
3: s:='en';
4: s:=pass;
end;
for i:=1 to length(s)do
idtelnet1.SendCh(s);
idtelnet1.SendCh(#13);
sleep(300);
end;
if portstat=1 then
s:=控制命令
else
if portstat=2 then
s:=控制命令;
for i:=1 to length(s)do
idtelnet1.SendCh(s);
idtelnet1.SendCh(#13);
sleep(300);
s:='quit';
for i:=1 to length(s)do
idtelnet1.SendCh(s);
idtelnet1.SendCh(#13);
end;
end;
end.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部