Доброго времени суток.
Ситуация следующая нужен простой телнет клиент в задачи которого входит залогониться на устройство, выполнить там набор команд и отключиться от него при этом происходящее надо выводить на экран.
Код:
Telnet: TIdTelnet;
Data: TMemo;
SndTxt: TEdit;
Обработка OnDataAvailable выглядит так:
Код:
procedure TForm1.TelnetDataAvailable(Sender: TIdTelnet;
const Buffer: String);
begin
Data.Lines.Add(Buffer);
end;
Проблема такая если символы на устройство отправлять так:
Код:
Procedure TForm1.SndTxtKeyPress(Sender: TObject; var Key: Char);
var i: integer;
Begin
Telnet.SendCh(key);
End;
То все хорошо в Мемо появляются вводимые символы и ответ от устройства
А если так:
Код:
if key=#13 then
Begin
s:=SndTxt.Text;
for i :=1 to length(SndTxt.Text) do
begin
Telnet.SendCh(s[i]);
end;
Telnet.SendCh(#13);
sndtxt.Clear;
end;
End;
то в Мемо я не вижу ни вводимых символов ни ответов и судя по логам устройства команды он не получает.
Кто-нибудь может мне сказать что я делаю не так? И как нужно?
