C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

стр.: (2) < [1] 2 >
хоцца написать следилку за постами, но нужен минимальный суппорт от админа
Tertium
Отправлено: 15.07.2005, 16:55


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Г-да управленцы!
Не слишком напряжно было бы вам выложить по адресу, к примеру, www.cbuilder.ru/forums/ файлик post_test.php, такой что:
при вызове его post_test.php?post_id=...&how_many он бы возвращал текущее количество релик в посте, а на вызов
post_test.php?post_id=...&name — выдавал бы имя поста?
Всё plain text, разумеется, без всяки х там тагов.
Просто появилась идея следилки за постами.
Программка позволяет ввести 1 или несколько постов для слежения (вводится ид — содержимое переменной t из строки адреса). Она сливает имена постов и раз в пять минут чекает количество ответов. Дёшево и сердито, и трафик по минимуму ест. Если меняется количество — говорит всплывающей окошкой, что поменялось и даёт ссылку, куда тебе идти. И никакого фидбека по почте не надо (да и фидбек по почте вещь ненадёжная). Правда, это только для тех кто онлайн по жизни.
QUOTE

От себя добавлю, что закончилось всё хорошо и не только для тех, кто онлайн по жизни smile.gif Где-то в последних реплаях — текущая завершительная версия проги. Поставьте топик на слежение — возможна дальнейшая разработка программы. Хочу подчеркнуть что всё-таки прога не имеет ничего общего с RSS-клиентом, а запрашиваемые ей данные — с xml. Трафик минимален — насколько он может быть минимален для http:) Исходник ранней версии выложен на первой странице. Исходники дальнейших версий выкладываться не будут. Считайте, что я стесняюсь своего кода smile.gif Прога разрабатывалась для себя, но возможно учтение и ваших пожеланий — буде таковые будут — и при наличии свободного времени. Справкой по программе призван явиться этот топик. Он же и хистори. Когда администрация выйдет из отпуска, возможны организационные изменения, то есть топик останется, но можетпоявиться отдельная страничка по проге или просто ссылка, там видно будет.
И немножко мании величия.
Если вы часто бываете на этом форуме, часто задаёте вопросы или отвечаете, то эта прога для вас. Превратим форумы в чаты!!! smile.gif


Отредактировано Tertium — 06/08/2005, 22:03
Admin
Отправлено: 18.07.2005, 12:52


Владимир

Группа: Администратор
Сообщений: 1190



Попробую.
Только вот что значит — возвращал бы — в каком виде ?
Кое-что сделал — попробуйте, это то что Вы хотели или нет.

http://www.rxlib.ru/forums/post_test.php?post_id=4677

возвращает через *
post_id поста, кол-во ответов, назв темы, описание темы.

4677*0*хоцца написать следилку за постами*но нужен минимальный суппорт от админа

если ввести
CODE

post_test.php?post_id=...&how_many — то количество ответов,
если
post_test.php?post_id=...&name — имя поста.



Отредактировано Admin — 18/07/2005, 13:01
Tertium
Отправлено: 18.07.2005, 21:30


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Спасибо, что откликнулись.
Оно. Но не совсем. Хотелось бы, что бы оно, например, вот так работало (все дело в экономии трафика):
post_test.php?post_id=...&op=name — имя поста в win1251
post_test.php?post_id=...&op=description — описание поста в win1251
post_test.php?post_id=...&op=answers — количество ответов.

то есть, условно:
CODE

<?
if (!isset($HTTP_GET_VARS['post_id']) || !$HTTP_GET_VARS['post_id'])
exit(0);
if (isset($HTTP_GET_VARS['op']) && $HTTP_GET_VARS['op']=='name')
{
$result=mysql_query('select name from .... where post_id='.$HTTP_GET_VARS['post_id']);
echo mysql_result($result,0);
}
if (isset($HTTP_GET_VARS['op']) && $HTTP_GET_VARS['op']=='description')
{
$result=mysql_query('select description from .... where post_id='.$HTTP_GET_VARS['post_id']);
echo mysql_result($result,0);
}
if (isset($HTTP_GET_VARS['op']) && $HTTP_GET_VARS['op']=='answers')
{
$result=mysql_query('select .... from .... where post_id='.$HTTP_GET_VARS['post_id']);
echo mysql_result($result,0);
}
?>

Коряво, конечно, но в общих чертах я думаю ясно. Запрос на имя и описание будет выслан по http 1 раз (при добавлении в список слежения), а запрос post_test.php?post_id=...&op=answers будет посылаться каждые N минут (конечно, если есть коннект). Получается,что нет нужды в потсоянном повторе, что за тема. Необходимость есть только в количестве реплаев.


Сегодня, к сожалению, мне нашли в офисе работу, но как только относительно освобожусь — допишу софтинку и выложу на ваш сайт. Может кому приглянётся.
Admin
Отправлено: 19.07.2005, 09:03


Владимир

Группа: Администратор
Сообщений: 1190



QUOTE

Оно. Но не совсем. Хотелось бы, что бы оно, например, вот так работало (все дело в экономии трафика):
post_test.php?post_id=...&op=name — имя поста в win1251
post_test.php?post_id=...&op=description — описание поста в win1251
post_test.php?post_id=...&op=answers — количество ответов.


Так так оно и есть, проверьте.

post_test.php?post_id=...&name  — имя поста.
post_test.php?post_id=...&how_many — количество ответов
post_test.php?post_id=...  — все вместе через разделитель *

http://www.rxlib.ru/forums/post_test.php?post_id=4677
http://www.rxlib.ru/forums/post_test.php?p...d=4677&how_many
http://www.rxlib.ru/forums/post_test.php?p...st_id=4677&name
Tertium
Отправлено: 19.07.2005, 20:40


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Спасибо! Сразу просто не сообразил
Tertium
Отправлено: 20.07.2005, 13:19


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



ok

Отредактировано Tertium — 20/07/2005, 21:22
Tertium
Отправлено: 21.07.2005, 01:42


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



тест
Tertium
Отправлено: 21.07.2005, 02:23


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



test
Tertium
Отправлено: 21.07.2005, 02:34


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



test
Tertium
Отправлено: 21.07.2005, 02:34


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



test
Tertium
Отправлено: 21.07.2005, 02:36


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



test
Tertium
Отправлено: 21.07.2005, 03:04


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Первая версия пост-контроля готова. Завтра пропишу обработку всяких трубностей жизни типа оффлайна и тд и будет готово. Прошу прощение за флейм в теме, если хотите можете перекинуть тему во флейм даже. Просто в горячке что было, на том и тестил smile.gif
Кстати, странная вещь: для темы 4677 — когда пишу st=10, где 10 — это то что мне вернули Вы скриптом, он переходит на последнюю запись (как и надо), а для темы 4650 — почему-то на предпоследнюю... Это, конечно, не критично, но странно.
Tertium
Отправлено: 21.07.2005, 03:05


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



test
Tertium
Отправлено: 21.07.2005, 03:08


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



test
Tertium
Отправлено: 21.07.2005, 03:10


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



test
Tertium
Отправлено: 21.07.2005, 03:22


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



в архиве — скриншот

User Attached Image Скачать файл
postctrl.rar


Tertium
Отправлено: 21.07.2005, 04:04


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



а вот и сама прога. билдера для запуск не требует. если интересно, могу выложить исходники.
закрывается — правый щелчок на иконке в трее -> выход. \
Создаёт два файла — настроек и списка постов (т.е. она запоминает всё).
Висит только в трее. Раз в N секунд (выставляется) чекает количество реплаев (в отдельном потоке, так что интерфейс живёт). Когда появился новый реплай или тему удалили — всплывает у трея окошко. Правый клик — закрыть,левый — перейти к реплаю. Пока ещё не пофиксил — может выйти накладка, если одновременно несколько постов будут отвечены — всплывающее окошко одно.
Двойной клик на строке в таблице постов — в последнем эксплорере открывается пост.
Что такое act=ST не разобрался, поэтому в настройках это "допстрока" smile.gif Остальное по полочкам.
К иконкам чур не придираться smile.gif Что было то взял. По крайней мере — не с нета, свои.
Ну, в общем если что непонятно, пишите

ЗЫ статус RC1

Отредактировано Tertium — 21/07/2005, 10:01

User Attached Image Скачать файл
postctrl.rar


Tertium
Отправлено: 21.07.2005, 04:16


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



вот уже первое исправление

User Attached Image Скачать файл
postctrl.rar


Tertium
Отправлено: 21.07.2005, 10:06


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



второе исправление — теперь можно менять интервал опроса и это реально во время ожидания будет учтено (делится на n* sleep(250) и постоянно смотрит какой интервал).
CODE

int delay=0;
int seconds=0;
do
{
EnterCriticalSection(&cs);
seconds=mainWnd->getSetup().check_period;
LeaveCriticalSection(&cs);
delay++;
Sleep(250);
}
while(!Terminated && delay<seconds*4);


На всякий случай следите за темой. Если глюки найду ещё буду править и класть здесь

Отредактировано Tertium — 21/07/2005, 10:07

User Attached Image Скачать файл
postctrl.rar


olegenty
Отправлено: 21.07.2005, 10:17


Ветеран

Группа: Модератор
Сообщений: 2412



ну на тебе первый глюк: а прокси где указывать? у меня инет хоть и быстрый, но за таким числом fairwall'ов, что не хочет твоя прога соединяться. давай строки, куда прокси вводить...
olegenty
Отправлено: 21.07.2005, 10:21


Ветеран

Группа: Модератор
Сообщений: 2412



ещё — а как отреагирует твоя следилка, если я поудаляю нафиг строки test, как модератор? захочешь ты 10-ю реплику, скажем, посмотреть, а её нет, из-за уменьшения общего количества постов...
Tertium
Отправлено: 21.07.2005, 10:44


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



надо пофиксить не> а !=
НАсчёт проксей пока не в курсе, ща убегаю, потом гляну.
вот сырцы если что

ЗЫ всё впопыхах, в рабочее (почти) время, в передверии защиты, так что код не материть smile.gif

Отредактировано Tertium — 21/07/2005, 10:45

User Attached Image Скачать файл
posttester.rar


Tertium
Отправлено: 21.07.2005, 22:13


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Исправлено:
- при изменении состояния постов оно не сохранялось.
- корректная обработка ситуации удаления поста или части ответов.
- ряд мелких потенциальных проблем.
Добавлено:
- возможность соединения через прокси
- состояние "свежести" — то есть пока не кликнешь либо по всплывающеу окошку, либо дважды по строке в таблице, иконка в трее анимирована, а сам топик имеет жёлтую иконку (в противовес зелёной). Чтоб как в аське было видно, есть ли что в эфире.
- пункт о программе и нормальное название smile.gif
Изменено:
- три типа всплывающих окошек (добавился ответ, удалили ответ(ы), удалили тему)
- теперь хоть 25 одновременно отвеченных тем. Окошки будут всплывать по всему экрану, одно за другим.
- нек-рые иконки
- форумы теперь именуются по-человечьи.

Короче, покамест реализовано всё что задумано.

Пробуйте, может у кого взглючит, тада дайте знать.

Для тех кто не знает — номер поста это содержимое переменной t строки адреса, напр. номер этой темы — 4677.

Отредактировано Tertium — 22/07/2005, 04:11
Tertium
Отправлено: 22.07.2005, 04:12


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



а вот сам бинарник

PS: всплывающие окошки гаснут сами через секунд 5

Отредактировано Tertium — 22/07/2005, 04:27

User Attached Image Скачать файл
postpatrol.rar


Tertium
Отправлено: 22.07.2005, 14:35


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Есть предложение после тестирования и отловли большинства блох буде такие найдутся выложить это гденть для загрузки — для этого ведь форума писалось как-никак, можно сказать именное изделие smile.gif
Пишите отзывы что ли ну или там багрепорты, если не влом
Tertium
Отправлено: 22.07.2005, 17:13


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



тесмте
Tertium
Отправлено: 22.07.2005, 17:20


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Всё вроде пофиксил. Там не только в потоках дело было.
Tertium
Отправлено: 22.07.2005, 17:23


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



вуаля, однако:


User Attached Image Скачать файл
postpatrol.rar


Tertium
Отправлено: 24.07.2005, 12:02


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



И — версия для братьев наших меньших — с модемами smile.gif
Там есть кнопка "проверить сейчас". Подключаетесь по момеду и жмёте кнопку. Программа проверяет наличие новых реплаев и говорит вам. Периодический чек никто не отменял, просто при нажатии "проверить сейчас" пауза между проверками на один раз сводится к нулю.
ВНИМАНИЕ: добавлять новые реплаи только будучи подключёнными к нету!!! И к ADSL-щикам относится. Да прога сам скажет.

User Attached Image Скачать файл
postpatrol.rar


Tertium
Отправлено: 24.07.2005, 12:49


Машинист паровоза

Группа: Почетный участник
Сообщений: 192



Достало, что свои ответы регистрируются. Вот, не отходя от кассы, версия 0.3:
- поддержка модемных братьев как в 0.21
- поддержка своих ответов
- слегка пофиксен интерфейс
поддержка своих ответов:
когда сам отвечаешь на тему программа это тоже регистрирует, поскольку на вход она получает просто количество реплаев. Соответственно, чтоб не доставала, у каждого поста заведён счётчик своих ответов. Кнопка "Был свой ответ" прибавляет его на 1. Если далее программа видит изменение колва реплаев на 1, она просто убавляет счётчик обратно, а всплываний там и сообщений о свежести нет. Если она зарегистриует больше ответов, чем содержимое счётчика своих ответов — то сообщение о свежести будет. Енджой

User Attached Image Скачать файл
postpatrol_0.3.rar


стр.: (2) < [1] 2 >
Вернуться в Обсуждение работы форумов