+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 91.69 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Windows RSS Platform в Delphi. Интерфейс IFeed.

18.04.2011 16:52
lad

Сегодня мы рассмотрим методы и свойства интерфейса IFeed, который предоставляет нам всё необходимое для работы с RSS-каналом сайта.

Интерфейс IFeed предназначен в первую очередь именно для работы с каналом, а не отдельным элементом фида, соответственно сегодня не пойдет речи о том как прочитать заголовки постов и т.д. - только основа работы с каналами.

Вначале рассмотрим методы.

Методы интерфейса IFeed

Методы AsyncDownload и CancelAsyncDownload

procedure AsyncDownload; safecall
procedure CancelAsyncDownload; safecall

AsyncDownload начинает, а CancelAsyncDownload прерывает асинхронную загрузку содержимого RSS-канала.

Метод Delete

procedure Delete
Удаляет канал из списка в IFeedsManager'e.

Метод Download

procedure Download
Начинает синхронную загрузку содержимого фида.

Метод GetItem

function GetItem(itemId: Integer): IDispatch; safecall
Возвращает из фида отдельнй элемент (IFeedItem) по его itemId или nil , если элемент не найден.

Метод MarkAllItemsRead

procedure MarkAllItemsRead; safecall
Отмечает все элементы фида как "прочитанные".

Метод Merge

procedure Merge(const feedXml: WideString; const feedUrl: WideString); safecall
Объединяет указанный XML-код с указанным URL.

feedXML - XML-код, подлежащий объединению;

feedURL - URL с которого будет грузиться новый фид для объединения.

XML-должен быть составлен по всем правилам RSS 2.0., а URL должен начинаться либо с http, либо https.

Метод Move

procedure Move(const newParentPath: WideString); safecall
Переносит канал в новую директорию newParentPath . Перед тем как воспользоваться методом необходимо проверить существование пути.

Метод Rename

procedure Rename(const Name: WideString); safecall
Изменяет имя канала на Name . Новое имя канала не должно содержать слэшей - эти символы зарезервированы как разделители пути.

Метод XML

function Xml(Count: Integer; sortProperty: FEEDS_XML_SORT_PROPERTY
sortOrder: FEEDS_XML_SORT_ORDER; filterFlags: FEEDS_XML_FILTER_FLAGS
includeFlags: FEEDS_XML_INCLUDE_FLAGS): WideString; safecall
Возвращает XML RSS-канала.

Count - количество элементов фида, которое должно быть загружено.

sortProperty - способ сортировки содержимого. Может принимать одно из следующих значений:

  • FXSP_NONE - не сортировать.
  • FXSP_PUBDATE - сортировать по дате публикации.
  • FXSP_DOWNLOADTIME - сортировать по времени загрузки.

sortOrder - направление сортировки элементов. Может принимать одно из следующих значений:

  • FXSO_NONE - не применять направление сортировки.
  • FXSO_ASCENDING - сортировать от первого до последнего, или от меньшего к большему.
  • FXSO_DESCENDING сортировать с последнего к первому, или в порядке убывания.

filterFlags - параметр, указывающий стоит ли включать в содержимое элементы по их метке о прочтении. Может принимать одно из следующих значений:

  • FXFF_ALL - включать все элементы.
  • FXFF_UNREAD - включать в содержимое только непрочитанные элементы.
  • FXFF_READ - включать только прочитанные элементы.

includeFlags - параметр, указывающий на то, стоит ли включать в исходник пространства имен для канала. Принимает одно из следующих значений:

  • FXIF_NONE - вернуть только XML-разметку.
  • FXIF_CF_EXTENSIONS - возвращать разметку и дополнительное содержимое канала.

Свойства интерфейса IFeed

Свойство Copyright

property Copyright: WideString read Get_Copyright
Возвращает копирайт фида.

Свойство Description

property Description: WideString read Get_Description
Возвращает описание RSS-канала.

Свойство DownloadEnclosuresAutomatically

property DownloadEnclosuresAutomatically: WordBool read Get_DownloadEnclosuresAutomatically
write Set_DownloadEnclosuresAutomatically
Указывает будет ли содержимое RSS-канала обновляться автоматически.

Свойство DownloadStatus

property DownloadStatus: FEEDS_DOWNLOAD_STATUS read Get_DownloadStatus
Возвращает текущий статус загрузки фида или его части. Может принимать одно из следующих значений:

  • FDS_NONE - попыток загрузить фид не было.
  • FDS_PENDING - скачивание поставлено в очередь.
  • FDS_DOWNLOADING - загрузка продолжается.
  • FDS_DOWNLOADED - загрузка завершена.
  • FDS_DOWNLOAD_FAILED - произошла ошибка.

Свойство DownloadUrl

property DownloadUrl: WideString read Get_DownloadUrl
Возвращает URL с которого производится загрузка канала.

Свойство Image

property Image: WideString read Get_Image
Возвращает URL на изображение для RSS-канала.

Свойство Interval

property Interval: Integer read Get_Interval write Set_Interval
Возвращает или устанавливает промежуток времени (в минутах) через который будет производится автоматическое обновление фида.

Свойство IsList

property IsList: WordBool read Get_IsList
Возвращает True , если фид является списком.

Свойство ItemCount

property ItemCount: Integer read Get_ItemCount
Возвращает количество элементов канала.

Свойство Items

property Items: IDispatch read Get_Items
Возвращает перечислитель (IFeedEnum) для элементов фида (IFeedItem).

Свойство Language

property Language: WideString read Get Language
Возвращает язык для RSS-канала.

Свойство LastBuildDate

property LastBuildDate: TDateTime read Get_LastBuildDate;
 

Возвращает дату последнего обновления содержимого фида. Может вернуть 0 в случае, если канал только что добавлен или он никогда не загружался.

Свойство LastDownloadError

property LastDownloadError: FEEDS_DOWNLOAD_ERROR read Get_LastDownloadError;
 

Возвращает последнюю ошибку загрузки фида. Может принимать одно из следующих значений:

  • FDE_NONE - канал был загружен успешно.
  • FDE_DOWNLOAD_FAILED - фид не может быть загружена. Попробуйте скачать канал позже..
  • FDE_INVALID_FEED_FORMAT - XML канала является неподдерживаемым форматом. О поддерживаемых форматах см. первый пост.
  • FDE_NORMALIZATION_FAILED - Недействительный XML, или код содержит ошибки.
  • FDE_PERSISTENCE_FAILED - фид не может быть сохранен в локальное хранилище.
  • FDE_DOWNLOAD_BLOCKED - политика безопасности не допускает загрузки с указанного URL.
  • FDE_CANCELED - скачивание было прервано.
  • FDE_UNSUPPORTED_AUTH - сервер возвращает статус 401 Unauthorized, 402, или 403 Forbidden.
  • FDE_BACKGROUND_DOWNLOAD_DISABLED Background Intelligent Transfer Service (BITS) был отключен.
  • FDE_NOT_EXIST - фид больше не существует. Сервер возвращает статус 400 Bad Request, 404 Not Found, 406, 410.
  • FDE_UNSUPPORTED_MSXML - неверная версия Microsoft XML (MSXML). Пользователю необходимо обновлять локальные версии MSXML.
  • FDE_UNSUPPORTED_DTD - Каналы с DTD-ссылками не поддерживаются.
  • FDE_DOWNLOAD_SIZE_LIMIT_EXCEEDED - источник XML превышает максимально допустимый размер. Эта ошибка также относится к фидам, которые не могут быть загружены через BITS (HTTP Range) запросы.Предел размера по умолчанию составляет 15 мегабайт (Мб). Для увеличения или уменьшения значения по умолчанию необходимо изменение значений реестра
  • FDE_ACCESS_DENIED - сервер вернул HTTP 403 Отказано в доступе ошибка.
  • FDE_AUTH_FAILED - аутентификация на сервере не удалось (сервер возвращает 401 статус три раза подряд)
  • FDE_INVALID_AUTH - запрос на аутентификацию не прошел. Windows RSS Platform не поддерживает проверку подлинности прокси.

Свойство LastDownloadTime

property LastDownloadTime: TDateTime read Get_LastDownloadTime;
 

Время последней успешной попытки обновления содержимого фида.

Свойство LastWriteTime

property LastWriteTime: TDateTime read Get_LastWriteTime;
 

Возвращает дату и время последнего изменения фида.

Свойство Link

property Link: WideString read Get_Link;
 

Возвращает URL фида.

Свойство LocalEnclosurePath

property LocalEnclosurePath: WideString read Get_LocalEnclosurePath;
 

Возвращает путь к локальному хранилищу содержимого RSS-канала.

Свойство LocalId

property LocalId: WideString read Get_LocalId;
 

Возвращает GUID для фида.

Свойство MaxItemCount

property MaxItemCount: Integer read Get_MaxItemCount write Set_MaxItemCount;
 

Возвращает или устанавливает максимальное количество элементов фида, которые будут загружены.

Свойство Name

property Name: WideString read Get_Name;
 

Возвращает имя RSS-канала.

Свойство Parent

property Parent: IDispatch read Get_Parent;
 

Возвращает интерфейс родителя RSS-канала ( IFeedFolder ).

Свойство Path

property Path: WideString read Get_Path;
 

Возвращает путь до текущего RSS-канала в Feed-менеджере.

Свойство PubDate

property PubDate: TDateTime read Get_PubDate;
 

Возвращает дату и время публикации фида.

Свойство SyncSetting

property SyncSetting: FEEDS_SYNC_SETTING read Get_SyncSetting write Set_SyncSetting;
 

Возвращает или устанавливает свойства синхронизации содержимого RSS-канала. Может принимать одно из следующих значений:

  • FSS_DEFAULT - использовать определенное системой DefaultInterval значение (24 часа).
  • FSS_INTERVAL - использовать значение интервала определенного в свойстве фида.
  • FSS_MANUAL - не использовать автоматическое обновление фида.
  • FSS_SUGGESTED - использовать значение свойства Ttl для RSS-канала.

Свойство Title

property Title: WideString read Get_Title;
 

Возвращает заголовок RSS-канала.

Свойство Ttl

property Ttl: Integer read Get_Ttl;
 

Возвращает время жизни фида, т.е. время в минутах в течение которого фид будет находиться в кэше до обновления содержимого из источника.

Свойство UnreadItemCount

property UnreadItemCount: Integer read Get_UnreadItemCount;
 

Возвращает количество непрочитанных элементов фида.

Вот, пожалуй основные методы и свойства интерфейса IFeed. Как видите, с помощью этого интерфейса можно вытянуть максимум информации по каналу, начиная от копирайтов и картинок для канала и, заканчивая XML-кодом, приложив к которому свои навыки по работе с NativeXML или MSXML можно на ходу проводить поиск по содержимому всего канала, определенных фраз типа "лимузины санкт-петербург", "программирование в Delphi", "новости" и т.д. Осталось рассмотреть работу ещё одного интерфейса - IFeedItem (элемент фида) и можно будет написать небольшой примерчик иллюстрирующий работу с Windows RSS Platform во всей её красе. Но это уже в следующем посте. Оставайтесь с нами.

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года