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.