Home

Page 173
Page 173
background image

166

Глава 4

//Перенаправление сообщения дальше

 s [1],

//Освобождение строкового потока

StringFormatedStream.Free;

end;

У

 события есть три параметра. Первый присутствует

во всех обработчиках и ничего интересного для нас в себе не несет. Вто-

рой — это данные, которые получены из сети. Третий — в нем хранится

информация о том, откуда пришли данные.

Итак, полученные данные хранятся во втором параметре. Они приходят к нам

как простой неформатированный поток

 Чтобы удобней было работать

с данными, их лучше перегнать в строковый поток

 Вы думаете,

это неудобно? А вдруг вы передаете не текст, а картинку, и компонент

тирует ее в текст? Вот это уже будет не неудобно, а полный облом!

Посмотрите, как легко все превращается в текст. В обработчике объявлена

 Переменная StringFormatedStream

 TStringStream (строковый

поток). Первой строкой кода она инициализируется. Во второй строчке

данные из простого неформатированного потока копируются в строковый

поток. Все!!! Теперь переданный текст находится в свойстве Datastring

строкового ПОТОКа StringFormatedStream. После ЭТОГО МОЖНО

 ВЫВО-

ДИТЬ этот результат в компоненте Memo.

Сообщение

 Считаю

Послать

192.168,100.3Лривет!!!

 Привет

 дела?

 пиво пить?

 Рад слышать

192.168.100.3 Ну всё!!! Считаю гаинг

  4 . 2 4 . Чат в действии

Но мы же пишем чат, и желательно еще вывести информацию о том, кто

передал этот текст. Для примера выводится IP-адрес отправителя данных,
который находится в свойстве

 третьего параметра ABinding. Но это

только для примера, и в реальной программе это будет выглядеть некрасиво.

О чем это господин

 говорит? А может, это вовсе даже госпожа


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.