Hola amigos, veran estoy desarrollando una aplicacion bastante basica, trabajo en Delphi XE3 Trial(a base de prueba) y Delphi 2010. La aplicacion debe efectuar un Backtup cada 12 Horas y despues de efectuar dicho Backup tiene que actualizar o cambiar la Ip publica del servidor o router.
El problema esta en que he intentado hacerlo de 2 formas y no he logrado obtener ese resultado.
- Desarrolle un cliente Telnet en Delphi (para mas exacto, el que esta en Delphi al Limite, no lo coloco porque no puedo poner enlaces), como prueba, donde le coloco el host del Router y puerto, el problema esta en que los resultados se muestran en un memo, y en este mismo se envian los comandos. Cuando conecto por cmd, me pide Username y Password, sin embargo en el cliente telnet no me muestra nada, si establece la conexion mas no pide usuario y password.
Codigo del Cliente Telnet
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Telnet.Host := IPServidor.Text;
Telnet.Port := StrToInt( Puerto.Text );
Telnet.Connect;
Log.SetFocus;
end;
procedure TForm1.LogKeyPress(Sender: TObject; var Key: Char);
begin
if not Telnet.Connected then
Exit;
if Key = #13 then
begin
Telnet.Socket.WriteLn( sComando );
sComando := '';
end
else
sComando := sComando + Key;
end;
procedure TForm1.TelnetConnected(Sender: TObject);
begin
end;
procedure TForm1.TelnetDataAvailable(Sender: TIdTelnet;
const Buffer: String);
begin
Log.Text := log.Text+Buffer;
Log.SelStart := Length( Log.Text );
end;
Y tambien cree un Script vbs , el cual me funciona perfectamente, el problema es que hay que clickear en el para que haga el cambio de Ip. Intente con
Código Delphi
[-]
ShellExecute (application.handle, 'open', 'directorio/script.vbs', nil, nil, SW_MAXIMIZE);
Pero, unicamente me habre una cmd, pero cuando lanza cada uno de los comandos, me marca que los comandos no son reconocidos.
Comandos como Telnet 127.0.0.1 23 , cosa que es ilogico.
Ya cree una variable de entorno tipo Path con acesso a Telnet de windows y probe tambien otra variable tipo User con acceso a telnet y nada.
Alguien tiene una idea ya sea de como ejecutar el vbs desde la app de Delphi o porque no funciona el Telnet, o alguna solucion adicional.
De antemano muchas gracias.
Saludos.