|
||||
|
Приложение АКак ухаживать за живностью – электронный администратор У программ с открытым исходным кодом есть много достоинств и совсем немного недостатков. Как известно, главное для нас – стандарты. В то же время при наличии исходного кода у нас появляется возможность вводить собственные стандарты. Я решил предоставить в ваше распоряжение исходный текст электронного администратора – быть может, с ним вы сможете добиться успеха чуть быстрее, чем без него. Должен предупредить, что эта программа предназначена исключительно для личного пользования – соответственно ее нельзя перепродавать, а также сначала переделывать, а потом перепродавать. Для ее загрузки зайдите на сайт http://www.piter.com. Электронный администратор (подробнее см. главу 4) написан в среде Visual Basic 6.0 с установленным служебным пакетом 5. В качестве базы данных применяется Access 2000. Помимо стандартных элементов VB, я обращался к следующим средствам: • интерфейсы источников данных от Microsoft; • библиотека Microsoft ActiveX Data Objects 2.6; • Crystal Reports версии 8.5 (отдельные компоненты)[139]; • Microsoft Direct Speech Synthesis; • Microsoft Agent Control 2.0; • Microsoft Scripting Runtime; • Microsoft Direct Speech Recognition. Помимо стандартных компонентов, в этом проекте я обратился к довольно древнему элементу управления календарем, созданным MSCAL.OCX[140] из поставки Access 97, и специальным элементом управления датами под названием MyData.OCX, который вы можете скопировать с сайта вместе с исходным кодом. Можете заменять ссылки и компоненты как вам заблагорассудится. Только не забудьте соответствующим образом скорректировать код. INI-файл регулирует конфигурацию программы и жестко задает структуру каталогов. Каждому «ресурсу», определенному в таблице базы данных с аналогичным именем, должен соответствовать каталог для экспорта отчетов. В каталоге с шаблонами содержатся задействованные в программе файлы Crystal Reports. Стоит только открыть самораспаковывающийся файл с кодом, и он автоматически создаст нужную структуру каталогов. В тот же момент база данных наполнится шаблонными данными. В базе данных есть ряд таблиц соответствия, которые вы можете заполнить так, как сочтете нужным. На то, чтобы сделать еще несколько таблиц, мне элементарно не хватило времени – в частности, я не добрался до таблицы проектов, которую можно было бы соединить с таблицей заданий. Это решение, надо сказать, упростило процесс генерации отчетов средствами программы Crystal Reports, а потому имейте в виду: любое изменение скажется на шаблоне отчетов. Если хотите, можете изменить мой код – мне, конечно, будет интересно увидеть результат. Возникнут вопросы – пишите на адрес herdingcats@mindspring.com. Постараюсь на все отвечать. А теперь – несколько слов о дополнительных экранах программы, которые способны оказать существенную помощь в деле организации личных информационных потоков. На рис. А.1 изображено родительское окно. Экран Today, показанный на рис. 4.3 в главе 4, несомненно, важен для систематизации административных функций, однако им одним программа не исчерпывается. Согласно моей теории планирования руководящей деятельности, любое задание нужно рассматривать в трех основных измерениях: Project (Проект), Source (Источник) и Assigned (Назначенные задания). Представление Project (рис. А.2) помогает отслеживать ход выполнения всех заданий в рамках проекта. Представление Assigned (рис. А.З) демонстрирует распределение заданий между сотрудниками. Наконец, представление Source (рис. А.4) напоминает о том, кто (например, какой процесс или комитет) требует результата от вас. Все это дочерние окна интерфейса MDI с изменяемым размером, поэтому открывайте их столько, сколько хотите. По информации с каждого из этих экранов генерируются отчеты, которые можно отправить по почте сотрудникам, принести на собрание, предоставить начальнику, просмотреть на предмет согласования ваших планов с деятельностью других подразделений компании. До тех пор пока приложения для коллективной работы не достигнут определенного уровня зрелости, несогласованность в действиях между отделами при отслеживании разных типов заданий будет оставаться обычной практикой – при этом каждый из отделов будет навязывать собственный стиль руководства. Поэтому для управления списками заданий часто привлекается метод «вырезания и вставки», а управленческие реалии, которые больше напоминают страшный сон, некоторые именуют не иначе как «казнь через разрезание на тысячу кусочков». Рис. А.1. Родительское окно![]() Рис. А.2. Представление Project ![]() ![]() ![]() Три окна со списками, расположенные по периметру родительского окна (см. рис. А.1), предназначены для быстрого доступа к трем основным представлениям. В этих окнах содержатся списки имен проектов, ресурсов, которыми можно назначить новые задания (в основном это имена людей), и источников заданий, над которыми вы работаете или которые отслеживаете. По двойному щелчку на любом пункте списка на экране появляется новое представление, в котором задания рассортированы в соответствии с назначением представления. Я предпочитаю выделять отдельный элемент Source для отслеживания тех заданий, которые передо мной ставит моя многоуважаемая руководительница. Забыть предписание начальницы – это же так глупо (не говоря уже о том, что этот опрометчивый поступок ставит под угрозу карьерные перспективы)! Выполнение функций, представленных в открываемых щелчком правой кнопкой мыши контекстных меню, обеспечивается несколькими объектами-контейнерами. Испробуйте их или хотя бы взгляните на соответствующий код обработки событий. Ну и все на этом. Хотите узнать больше – поройтесь в исходном тексте. Забавляйтесь с живностью, но не обижайте ее! Примечания:1 Мои шутки, по большей части размещаются в сносках, так что они не будут вас отрывать от основной мысли. Ну вот, например: что значит «обратная совместимость»? Это значит, что новая операционная система с тем же успехом, что и старая, может грохнуть все ваши программы. 13 См. Новый Завет, 1-е послание к Тимофею 6:10 – любовь, деньги и зло он виртуозно сводит в один силлогизм. 14 Игра слов «шлюзовой уровень» – thunking layer, «уровень мышления» – thinking layer. Примеч. перев. 139 В Crystal Reports 8.5 какое-то невероятное количество библиотек DLL. У меня установлена полная версия этого пакета для разработчиков, и для того чтобы с отчетами можно было хоть что-то делать, требуется великое множество файлов. При этом ни сам пакет, ни мастер развертывания (Deployment Wizard) в VB 6.0 не справляется с идентификацией этих файлов. 140 Этот элемент OCX вызывает у меня некоторые подозрения. Он вроде как не обнаруживает зависимостей от других файлов (помимо стандартных файлов Windows API), однако заставить его работать без Access 97 мне не удалось. Я соорудил собственную версию этой программки на основе элемента управления календарем из поставки VB 6.0, так что если при загрузке кода вы наткнетесь на неработающую ссылку, милости прошу! |
|
||
Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Наверх |
||||
|