Lo más aconsejable para automatizar la interacción con una sesión telnet es colocar un
sniffer para "ver" el flujo de caracteres que se intercambian con el servidor a medida que se ejecutan las diferentes acciones y así poder duplicar eso mismo desde nuestra aplicación. La mayoría de los servidores telnet inmediatamente, después de establecer la conexión, quedan esperando que se le envíe el usuario, a lo que el servidor responde con una petición de contraseña; es solo en este momento en que se puede enviar la contraseña.
En algunos servidores telnet es posible enviar el usuario y la contraseña separando ambos con el ascii 9 (caracter tab). En el caso de tu código sería:
Código Delphi
[-]
procedure TForm1.TelnetConnect(Sender: TObject);
begin
Log.Lines.Add( 'Conectando con ' + Telnet.Host + '.' );
Log.Lines.Add( '' );
Telnet.WriteLn(Trim(Edit1.Text) + #9 +Trim(Edit2.Text));
end;
Pero que lo anterior funcione o no depende de la implementación del servidor.