Telesys@Home Версия 0.2.0 (только скрин)
Чуть переделал много чего.
1) Добавил быстрый поиск; на картинке SM'а посты искал. В окне поиска (линейный список сообщений) можно передвигаться так же как и в дереве, при этом осуществляется автоматический скроллинг по дереву вверху к выбранному сообщению в поиске. Поиск осуществляется по заданному регулярному выражению, см. TRegExpr компонент в сети и его синтаксис. Пока шаблон сравнивается с полями: тема, автор, IP. Регистро зависимо, но настраиваемо синтаксисом. Очень быстро работает, на то он и быстрый.
2) Добавлены фильтры по базе. Вообще организация вывода сообщений из базы многоуровневая. Для восстановления дерева (из базы) я применяю рекурсивную функцию, которая работает с базой. Это долго (на поиск и вывод ~300 сообщений уходит до 10 секунд - кошмар). Должен существовать способ с циклами обычными, но я его пока не понял как реализовать. Должно быть потом быстрее. В общем каждой вкладке внизу дерева сообщений соответствует свой фильтр. Например, "Сегодня" - на скрине отфильтровываются все сообщения дата которых позже сегодняшней. На языке SQL это будет так: "selec * from mcumessages where datetime >= #11/09/2007#" - это и есть фильтр, он же вкладка. Фильтры задаются в конфигурационном ini-файле, каждому соот-ет свой sql-запрос.
3) Всякие мелкие прибамбасы интерфейса. Иконка в трее. Окно может сворачиваться и разворачиваться в трей. Есть окно свойств сообщения (на скрине не показано). Там отображаются текстовые поля заголовка сообщения. Более-менее удобная навигация. С помощью клавиш стрелок, пробела можно по-разному раскрывать-скрывать ветви дерева в зависимости от комбинаций их применения, чем убирать или показывать только нужный ветви сообщений. При скачивании сообщений скачиваются сначала заголовки, потом тела. Если тело есть, то теперь повторно не скачивается. Пустое сообщение тоже "не имеет" тела и не скачивается.
В общем пока всё. Соображения принимаются. Пока буду доделывать и отлаживать то, что есть. Особенно парсер, хотя он уже практически никогда не ошибается. Ну и постинг пора доделывать, а то он у меня только ручной совсем.