Mi problema radicaba en que al envia datos a la terminal era demasiado rápido y solo ejecutaba el ultimo comando enviado, asi que decidí utilizar el sleep para darle oportunidad de poder conectarme ...
Código Delphi
[-]procedure TForm1.BtnConectarClick(Sender: TObject);
begin
Telnet.Host := IPServidor.Text;
Telnet.Port := StrToInt( Puerto.Text );
try
Telnet.Connect;
log.Lines.Add('Intentando conexión...');
log.Lines.Add('');
except
ShowMessage('No se pudo realizar la conexión..');
Exit;
end;
end;
y una vez conectado envío los los datos de unicio (usuario y contraseña) seguido de los comando que requiero...
Evento OnConnect del componente TidTelnet
Código Delphi
[-]if Telnet.Connected then
begin
log.Lines.Add('Conectado...') ;
log.Lines.Add('') ;
Sleep(1000);
Telnet.WriteLn('root');
Sleep(1000);
Telnet.WriteLn('admin');
Sleep(1000);
Telnet.WriteLn('enable');
Sleep(1000);
Telnet.WriteLn('config');
Sleep(1000);
end
else
begin
log.Lines.Add('Error en la Conección...') ;
log.Lines.Add('') ;
end;
Requerido para que el cursor en la terminal se posicione en la ultima linea de la ultima columna para que este preparado para nuevos comando..
Evento OnDataAvailable del componente TIdTelnet
Código Delphi
[-]procedure TForm1.TelnetDataAvailable(Sender: TIdTelnet;
const Buffer: String);
const
CR = #13;
LF = #10;
var
Start, Stop : Integer;
begin
if Log.Lines.Count = 0 then
Log.Lines.Add('');
Start := 1;
Stop := Pos(CR, Buffer);
if Stop = 0 then
Stop := Length(Buffer) + 1;
while Start <= Length(Buffer) do
begin
Log.Lines.Strings[Log.Lines.Count - 1] :=
Log.Lines.Strings[Log.Lines.Count - 1] +
Copy(Buffer, Start, Stop - Start);
if Buffer[Stop] = CR then
begin
Log.Lines.Add('');
{$IFNDEF Linux}
SendMessage(Log.Handle, WM_KEYDOWN, VK_UP, 1);
{$ENDIF}
end;
Start := Stop + 1;
if Start > Length(Buffer) then
Break;
if Buffer[Start] = LF then
Start := Start + 1;
Stop := Start;
while (Buffer[Stop] <> CR) and (Stop <= Length(Buffer)) do
Stop := Stop + 1;
end;
end;
De alli en adelante ya podré usar desde la aplicación las configuraciones que requiero ...
Saludos !! ..