Показать сообщение отдельно
  #1  
Старый 27.02.2013, 13:25
Alex174 Alex174 вне форума
Прохожий
 
Регистрация: 27.02.2013
Сообщения: 1
Репутация: 10
По умолчанию Проблемы с Telnet

День добрый господа!
есть запарка с telnet клиентом
часть кода
___________________________
//авторизация
Код:
procedure TForm1.Button1Click(Sender: TObject);
  procedure Rd;
  var
    S: string;
    procedure Strip0;
    var
      I: Integer;
    begin
      i := 1;
      while i <= Length(S) do
      begin
        if (S[i] = #0) and (S[i - 1] = #13) then
          System.Delete(S, i - 1, 2)
        else
          Inc(i);
      end;
    end;
  begin
    S := TN.RecvString;
    while S <> '' do
    begin
      Strip0;
      srichedit1.Lines.Add(S);
      S := TN.RecvString;
    end;
  end;

begin
     TN := TTelnetSend.Create;
     TN.TargetHost := edit1.text;
     TN.TargetPort := edit4.text;
     TN.Timeout := 500;
     TN.TermType := 'dumb';
         srichedit1.Lines.Clear;
         srichedit1.Lines.Add('connection to host...');
     TN.Login;
     TN.WaitFor('name');
     TN.Send(edit2.text);
     TN.Send(#13#10);
     TN.WaitFor('password');
     TN.Send(edit3.text);
     TN.Send(#13#10);
          rd;
         rd;
        rd;
       rd;
if
     TN.WaitFor(edit6.text) then
           srichedit1.Lines.Add('connection established!')
else
           srichedit1.Lines.Add('connection is interrupted not the correct data!');
           edit5.Focused;
end;
_____________________________________
//отправление комманд

procedure TForm1.Button2Click(Sender: TObject);
  procedure Rd;
  var
    S: string;

    procedure Strip0;
    var
      I: Integer;
    begin
      i := 1;
      while i <= Length(S) do
      begin
        if (S[i] = #0) and (S[i - 1] = #13) then
          System.Delete(S, i - 1, 2)
        else
          Inc(i);
      end;
    end;
  begin

    S := TN.RecvString;
    while S <> '' do
    begin
      Strip0;
      srichedit1.Lines.Add(S);
      S := TN.RecvString;
    end;
  end;
begin

  TN.Send(scombobox1.text);
  TN.Send(#13#10);
  TN.Send(edit5.text);
  TN.Send(#13#10);
      rd;
     rd;
    rd;
   rd;

end;
Админ: Пользуемся тегами для оформления кода.

Проблема заключается в том что вывод в Richedit через несколько строк останавливается, допустим надо считать лог с сервера, посылаю команду лог пошел появилось несколько строк и все вывод закончился, помогите с данной проблемой как продолжить вывод без остановки.
Заранее благодарен
Ответить с цитированием