Описание программы просмотра архива форума Андрея Митина
Автор Митин Андрей   
31.01.2002 г.
Offline версия форума по Ms Access .

Продукт: Ms Access 97
Автор: Митин Андрей. сайт http://am.rusimport.ru
Скачать: с сайта автора http://am.rusimport.ru/MSAccess/topic.aspx?ID=27 там же вы найдете OCX необходимые для работы программы.

Эта работа представляет собой простой пользовательский интерфейс для форума по Ms Access , который создатели форума выложили в формате mdb на своем сайте index.php?option=com_content&task=view&id=730&Itemid=35.
Программа позволяет осуществлять поиск и отображение информации из данного форума. Поиск можно осуществлять по следующим полям форума в любых комбинациях:
- Автор (e-mail);
-
Автор (ник);
- Дата сообщения;
- Тело сообщения;
- Тема сообщения;
- Тема и тело сообщения.
Каждое непрочитанное сообщение в дереве сообщений отображается жирным шрифтом. После его прочтения (интервал, после которого сообщение считается прочитанным можно настроить - меню "Сервис" -> "Настройки") оно будет отображаться обычным шрифтом. При построении дерева сообщений жирным будут помечены прочитанные Вами сообщения, если хоть один ответ на него (или на любой из его потомков) является непрочитанным. К сожалению организация дерева с помощью смежных вершин графа (система Parent-Child) приводит к необходимости применять рекурсивный алгоритм проверки "непрочтенности" узла, что приводит к необходимости делать многократные выборки из базы, что не может сказаться на быстродействии. Я реализовал алгоритм таким образом, чтобы минимизировать количество выборок, поэтому наиболее долго будут открываться уже в основном прочитанные сообщения (потому что в данном случае приходится проверять по всей глубине дерева). В любом случае в программе можно отключить данный режим (меню "Сервис" -> "Настройки") и тогда каждое сообщение будет помечаться само по себе, независимо от своих потомков.
В программе реализован механизм подкачки новых сообщений (авторы сайта обещают периодически выкладывать новый архив форума). Для этого необходимо в меню "Сервис" выбрать пункт "Импорт" и указать файл mdb с новыми сообщениями. В случае, если организаторы форума обеспечат возможность запрашивать новые данные через интернет, то возможно организовать автоматическую подкачку новых сообщений.
Весь код программы абсолютно открыт (open source :)), в нем можно почерпнуть множество полезных решений, несколько практически готовых и удобных для повторного использования блоков. Например:
- Класс CTree облегчает работу с ActiveX контролом MSComctlLib.TreeView. Позволяет создавать деревья на основе таблиц с представлением дерева с помощью смежных вершин графа либо с помощью одного строкового поля. Даёт возможность организовывать деревья с динамической подкачкой дочерних веток. Очень прост в применении.
- Класс CFilter и сопутствующие модуль и таблица обеспечивает единый интерфейс для ввода пользователем различных фильтров и последующим применением их на произвольном количестве форм. Позволяет сохранять любое количество фильтров пользователя (для каждого из пользователей системы - свой набор), помнит последний использованный пользователем фильтр и автоматически его подгружает.
- Класс UDialog - позволяет организовывать единый интерфейс для запроса у пользователя произвольного набора параметров (с возможностью выбора из существующих таблиц).
- Универсальный механизм выбора нескольких (набора) параметров (форма frmRegionL) с возможностью сохранять наборы в файл и потом подкачивать их из ранее сохраненных файлов.
- Процедура регистрации необходимых для программы библиотек в системе.
- Процедуры сохранения и восстановления настроек для конкретного пользователя.
- Свой StatusBar с ProgressBar-ом.
- Пример работы с Richtx32.ocx.
- Модуль работы с реестром и многое другое.
Надеюсь в случае их использования Вы не будете убирать из кода © :)

В программе использованы стандартные библиотеки от Microsoft: Ms Common Controls (Mscomctl.ocx), Ms Common Controls2 (Mscomct2.ocx), Ms RichText control (Richtx32.ocx). Все 6-ой версии. Если Вы уверены, что на машине они есть, то скачивать их отдельно нет необходимости. Если же их нет, либо Вы не уверены :), то лучше скачать прилагаемые файлы библиотек, и при первом запуске распаковать их в каталог программы.
Так же при запуске программы в одном каталоге с ней должен находится сам файл данных HiProgMSA.mdb

Благодарности :)
1. Хотелось бы выразить свою благодарность Гришанову Герману. Он является одним из самых сильных программистов, которых я знаю, я многому у него научился и думаю многому ещё научусь! :). В программе amKMForum класс UDialog - его работа.
2. Так же хотелось бы поблагадорить Грибанова Сергея Юрьевича (e-mail Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script ) за его Rules98.mdb, откуда и взята идея и частично интерфейс класса CFilter.


Download now
Просмотров: 12023

  Ваш коментарий будет первым

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code