|
#1
|
|||
|
|||
Проблемы с 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 через несколько строк останавливается, допустим надо считать лог с сервера, посылаю команду лог пошел появилось несколько строк и все вывод закончился, помогите с данной проблемой как продолжить вывод без остановки. Заранее благодарен Последний раз редактировалось Admin, 27.02.2013 в 13:33. |