Hi,
ich schlage mich gerade etwas mit Telnet herum und benutze da TIdTelnet aus den Indys.
Jetzt hab ich aber ein Problem. Wenn ich einen Befehl vom Client zum Server schicken will und mache dies, wie in der Demo, über eine Eingabezeile, dann funktioniert Alles wie es soll! Wenn ich aber das Gleiche über einen Button, dem ich einen Befehl hinterlegt habe, machen will, dann macht er nach jedem übertragenen Zeichen scheinbar ein <CR> und nichts funktioniert.
Ich will mich übrigens auf einem Linux-Host einloggen.
So funktioniert es:
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
i : integer;
s : string;
begin
if IdTelnet1.Connected then
if (key = #13) then
begin
s := edit1.text;
for i := 1 to length(s) do
IdTelnet1.SendCh(s[i]);
IdTelnet1.SendCh(#13);
edit1.Clear;
end;
end;
und so komischerweise nicht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i:integer;
begin
s := 'root';
if IdTelnet1.Connected then
for i := 1 to length(s) do
begin
IdTelnet1.SendCh(s[i]);
IdTelnet1.SendCh(#13);
end;
end;
Wenn ich nun in die Eingabezeile meinen Anmeldenahmen eingebe(in diesem Fall root) und alles mit <ENTER> bestätige, dann kommt es am Server richtig an:
Wenn ich den Button klicke, dann kommt am Server folgendes an:
Ich benutze Turbo Delphi Professional.
Hoffe irgendjemand kann mir da weiter helfen.
Gruß