Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск фразы в данных, получаемых с сервера 
:(
    Опции темы
Allbert
Дата 9.4.2009, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



Добрый день!
Подскажите, пожалуйста, как в потоке данных, получаемых с сервера можно прочитать конкретную фразу? Я использую telnet-клиент. Нужно, чтобы при получении определенной фразы выводилось соответствущее сообщение (ShowMessage).
PM MAIL   Вверх
Allbert
Дата 9.4.2009, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



все сообщения, получаемые с сервера, у меня отображаются в Memo1. Может, как-нибудь оттуда можно находить конкретные фразы?
PM MAIL   Вверх
mapple
Дата 17.4.2009, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.7.2008

Репутация: нет
Всего: нет



Может уже поздно отвечаю, но вдруг еще мучаешся
Конечно можно, я так понимаю что используешь Get метод, который в memo.text бросает полученные данные и уже работаешь с memo,  тоесть парсиш все данные там и все (это обобщенно, а конкретно написать тебе код - надо видеть как обращаешься к серверу) Парсить можно любыми функциями нахождения подстроки в строке.

PM MAIL   Вверх
Allbert
Дата 30.4.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 20.3.2009

Репутация: нет
Всего: нет



С поиском более менее разобрался:
Код

var
...
   S,S1: string;
begin
...
 S := StringReplace(Memo1.Lines.Text, #13#10, ' ', [rfReplaceAll]);
            S1 := StringReplace(Memo1.Lines.Text, #13#10, ' ', [rfReplaceAll]);
if (Pos('exsci:name='+NameConnect+',dev='+dev_BSC+';', S) > 0) and (Pos('ORDERED', S1) > 0) then
  Application.MessageBox ('Подключено', 'Результат', mb_Ok)
    else Application.MessageBox ('Не подключено', 'Результат', mb_Ok);
...
end;

Мне нужно вывести сообщение об удачном подключении при наличии обеих строк в Memo1. Проблема в том, что поиск для обеих строк осуществляется по всему Memo1. А мне надо, чтобы для S1 поиск начинался со строки, следующей за S.. Просто слово ORDERED встречается и до появления строки S..
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0988 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.