Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

IdTelnet и получение ответов   Найти похожие ветки 

 
fishka   (2006-12-20 11:27) [0]

Использую компонет IdTelnet. В цикле посылаю команду (например, dir). Думаю, что после каждой команды должен быть ответ, т.е. должно происходить событие IdTelnet1DataAvailable(Sender: TIdTelnet; const Buffer: String); В данном событии данные буфера записываются в текстовый файл с именем, определяемым в цикле.
Но почему-то файл получается только после последненго прохода цикла.
Вопрос: почему не происходит событие IdTelnet1DataAvailable после посылки команды IdTelnet1.SendCh? И как сделать, чтобы после выполнения IdTelnet1.SendCh(CR) можно было получить данные, посланные сервером Telnet?


 
Сергей М. ©   (2006-12-20 11:43) [1]

Что за цикл ? Показывай ...


 
fishka   (2006-12-20 11:47) [2]

ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("select distinct DNID, id_LES_region from DNID" );
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
var_dnid:="dnid "+ADOQuery1.FieldByname("DNID").AsString+" "+ADOQuery1.FieldByname("id_LES_region").AsString;
varr:="dir";
for i:=1 to length(varr) do
  begin
   IdTelnet1.SendCh(varr[i]);
  end;
   IdTelnet1.SendCh(CR);
 ADOQuery1.Next;
end;
ADOQuery1.Close;


 
Сергей М. ©   (2006-12-20 11:57) [3]

Понятно.

И зачем тут цикл по символам ком.строки ?
Посылай всю команду одним вызовом метода:

varr:="dir"#13;

IdTelnet1.SendStr(varr);

и тут же жди ответ сервера на команду:

IdTelnet1.ReadXXXX(...);

А еще лучше использовать метод SendCmd - он сочетает в себе и отправку команды и ожидание/получение рез-та ее выполнения.

Тогда и событие не нужно будет.



Страницы: 1 вся ветка

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.065 c
15-1168916009
Юнит
2007-01-16 05:53
2007.02.11
Как прописать {$DEFINE UseBox}, чтобы она была видна во всех юнит


2-1168454367
serko
2007-01-10 21:39
2007.02.11
Помогите сделать запрос...


15-1169034260
Зм1й
2007-01-17 14:44
2007.02.11
Длительность арифметических операций


2-1169432755
viper03
2007-01-22 05:25
2007.02.11
Повторное использование данных SQL запроса


3-1164137692
DillerXX
2006-11-21 22:34
2007.02.11
Помогите составить SQL запрос...