Веб-информер (Delphi 7, исходники)
Совместимость
Среда: Delphi 6-7
OS: XP+Vista
Обязательно
- Код должен быть хорошо откомментирован на каждую из функций и легко читаться (иначе не приму, предупреждаю сразу)
Принцип работы
При запуске софтины проверяется наличие интернет-соединения (lan, gprs, wifi, dialup, bluetooth). Если соединение отсутствует - загружаются данные из temp-папки. Если соединение есть - запрашивается ini-файл. В ini файле указаны несколько URL-ов, с которых может грузиться информация. Обрабатываются по цепочке. Если один урл не отвечает - софт пытается взять данные с другого урла. Урлов может быть сколько угодно. Если все урлы пройдены, но ответ от сервера не получен - берутся данные из temp-папки.
Если соединение состоялось - данные отображаются на интерфейсе программы + складываются в temp-папку, замещая прошлые данные (текст и баннеры). Сам инишник хранится в папке с проектом.
Также в ini файле присутствует строка дефолтной задержки в секундах.
Интерфейс: Состоит из двух независимых зон. Слева текстовая, справа графическая.
В первую зону грузится текст. Зона текста должен иметь возможность отображения стилей и ссылок.
Если в загружаемом текстовике больше двух строк - происходит цикличная ротация с задержкой, задаваемой в textinfo-файле в секундах.
Во вторую зону грузятся графические баннеры в jpg или png или gif (в т.ч. анимированные). Если баннеров больше одного - происходит цикличная ротация с задержкой, задаваемой в graphinfo-файле в секундах
Данные:
Два типа - текстовые и графические соответственно зонам.
Текстовый файл представляет собой построчно разбитый текст с разметкой, допускающей использование цвета, стилей (жирный, подчеркнутый, курсив), ссылок. Также в конце каждой строки стоит задержка в секундах, например в формате [10]
Графический файл - построчно разбитый текст с именами банеров, которые надо запросить с хоста
Файлы лежат в пути, указанном в ini файле и имеют имена
textinfo
graphinfo
Т.е. например на хосте яндекса в папке yandex.ru/adv программа должна запрашивать 2 файла textinfo+graphinfo
Пример файлов
Файл textinfo:
Лучшие колобки от компании "Старик и старуха inc." [10]
Лучшие варежки от компании Япона варежка [7]
Пластмассовые вертолеты на деревянных педалях [15]
...
Свежие новости от сайта Novosti.ru
Файл graphinfo:
/banner1.jpg [5]
/banner16.gif [12]
/bannerlapti.png [7]
...
/edtfrwer.gif [8]
Если в конце строк отсутствует параметр задержки, берется дефолтная задержка из ini-файла.
Ротация происходит все время, пока запущен проект. Если в текстовом файле меньше трех строк, а в графическом один баннер - ротация соответственно не нужна и данные висят статично.
Если что не понятно - пишите в личку. Постарался максимально полно и понятно описать проект, от чего он может показаться большим и страшным.