Шаг 44.
Компонент TNMNNTP

    На этом шаге мы перечислим основные свойства и методы компонента TNMNNTP.

    Компонент TNMNNTP используется для чтения и публикации сообщений в телеконференциях Интернет (NetNews, NewsGroups) в соответствии с протоколом NNTP (Network News Transfer Protocol). Протокол описан в стандарте RFC 977.

    Наряду с электронной почтой и серверами FTP телеконференции являются классическим сервисом Интернет. Ветераны Интернет продолжают пользоваться им весьма активно, но новые пользователи, ввиду засилья WWW, знают этот сервис плохо, хотя работу с новостями поддерживают не только специальные программы, но и Microsoft Outlook Express и Netscape Navigator. Телеконференции имеют иерархическую структуру. Название конференции состоит из нескольких слов, разделенных точками. Чтобы получить доступ к этому сервису, вам нужно подключиться к одному из серверов новостей. Обычно поставщики услуг Интернет наряду с электронной почтой предоставляют доступ к своему серверу новостей. Если у вашего провайдера нет своего сервера, то вам придется найти его с помощью поисковых систем Интернет. В отличие от WWW, для доступа к которой не требуется использования какого-то специфического сервера, с электронными новостями нужно работать именно так - через сервер. Подключившись к серверу, вы должны сначала загрузить полный список конференций, который он поддерживает. Сервер, к которому вы подключитесь, возможно, будет иметь не полный список, а какой-то ограниченный набор телеконференций Интернет. После этого вам нужно подписаться на какое-то количество конференций и загрузить из них заголовки сообщений. Ваша подписка будет сохраняться на все последующие сеансы связи, пока вы не откажетесь от нее. Размещение сообщений в конференции часто называется публикацией (posting), а само сообщение называется словом статья (article).

    Итак, прежде, чем начинать работу с сервером новостей, вам нужно подключиться к одному из таких серверов. Это можно сделать, задав нужное имя сервера новостей в свойстве Host и вызвав метод Connect, который подключит вас к выбранному серверу. После этого вам нужно получить список групп новостей этого сервера. Для этой цели вызывается метод GetGroupList, который помещает полученный список в свойство GroupList. После этого нужно выбрать одну из групп новостей, в которой вы будете просматривать сообщения. Для этого вызывается метод SetGroup, которому в качестве параметра передается имя выбранной вами группы новостей.

    Чтение статей в выбранной группе новостей осуществляется при помощи вызова метода GetArticle. Но перед этим нужно загрузить список сообщений из группы методом GetArticleList. После этого для каждой интересующей вас статьи нужно вызывать метод GetArticle, который будет помещать в свойство Body текст статьи, а в свойство Header - заголовок выбранной статьи.

    Для того, чтобы отправить статью в группу новостей, сначала нужно заполнить свойство PostBody текстом сообщения, в свойстве PostHeader разместить заголовок сообщения, и после этого вызвать метод PostArticle.

    После обсуждения порядка работы с компонентом поговорим о его свойствах, методах и событиях. Основными свойствами являются свойства GroupList, SelectedGroup, Body, Header, CurrentArticle, HiMessage, LoMessage, PostBody и PostHeader. В свойстве GroupList типа TStringList размещается список групп новостей выбранного сервера. Свойство заполняется в случае успешного вызова метода GetGroupList. После успешного вызова метода SetGroup в свойство SelectedGroup помещается имя выбранной группы. Метод GetArticleList имеет два параметра: АН типа boolean и ArticleNumber - целого типа. Если первый параметр выставляется в True, то считываются все статьи группы, в противном случае второй параметр задает номер сообщения, с которого нужно начинать загрузку. При загрузке очередной статьи происходит событие OnHeaderList. В свойстве CurrentArticle помещается номер текущей статьи. Это свойство получает значение после вызова одного из методов GetArticle, GetArticleBody или GetArticleHeader. Можно сказать, что в этом свойстве помещается номер той статьи, текст и заголовок которой находятся в свойствах Body и Header. В свойствах HiMessage и LoMessage прописываются максимальный и минимальный номера сообщений, доступных в выбранной группе. В свойства PostBody и PostHeader помещаются тело и заголовок отправляемого в группу сообщения. Возможность или невозможность публикации сообщения в выбранной группе определяется значением свойства Posting типа boolean. Среди свойств компонента имеются составные свойства HeaderRecord и PostHeader, куда записываются тема сообщения, электронный адрес отправителя и электронный адрес для ответа, имя группы или групп, в которых опубликовано данное сообщение, время и дата публикации и другие данные. В первом свойстве размещаются данные полученного сообщения, а во втором - отправляемого. В технологии электронных новостей, как и в электронной почте, применяется присоединение или вложение в сообщение одного или нескольких файлов. Свойства AttachFilePath, Attachments, PostAttachments и ParseAttachments служат для работы с вложенными файлами. Значение логического свойства ParseAttachments, равное True, задает режим разбора вложенных файлов, при котором файлы будут декодироваться. После этого они будут помещаться с именами, под которыми они перечислены в свойстве Attachments, в каталоге, заданном в свойстве AttachFilePath. Если в ParseAttachments записано False, то файлы просто остаются в теле сообщения. Если вы присоединяете к отправляемому сообщению некоторое количество файлов, то их имена перечисляются в свойстве PostAttachments. В случае если требуется регистрация пользователя на сервере новостей, в свойства UserID и Password помещаются имя пользователя и пароль.

    На следующем шаге мы рассмотрим пример использования этого компонента.




Предыдущий шаг Содержание Следующий шаг