Читаем Delphi. Трюки и эффекты полностью

В завершение вновь обратимся к функции timeSetEvent: кратко перечислим предоставляемые ею возможности, которыми мы не воспользовались в приведенном выше примере.

Как вы могли заметить, последний параметр функции timeSetEvent является битовой маской. Флаги этой маски задают два аспекта поведения таймера: количество срабатываний таймера и тип действия, которое требуется выполнять при срабатывании таймера.

Количество срабатываний таймера определяется двумя значениями.

• TIME_ONESHOT – таймер срабатывает один раз. Для таких таймеров вызывать timeKillEvent после срабатывания не нужно.

• TIME_PERIODIC – таймер срабатывает периодически через заданные промежутки времени.

Тип действия, выполняемого таймером, задается при помощи следующих констант:

• TIME_CALLBACK_FUNCTION – при срабатывании таймера вызывается процедура, адрес которой был передан третьим параметром;

• TIME_CALLBACK_EVENT_SET – вызывает SetEvent для объекта синхронизации «событие», дескриптор которого передан третьим параметром;

• TIME_CALLBACK_EVENT_PULSE – вызывается PulseEvent для объекта синхронизации «событие», дескриптор которого передан третьим параметром.

К сожалению, использование объектов синхронизации хоть и является темой для интересного разговора, но все же выходит за рамки этой главы. Потому, упомянув о соответствующих возможностях таймера, больше не будем распространяться на эту тему.

7.3. Реестр

Далее будет рассмотрено несколько примеров использования в программах на Delphi одного из важнейших хранилищ информации Windows – системного реестра.

Краткие сведения о реестре Windows

Что же представляет собой системный реестр и для чего он предназначен? Реестр состоит из нескольких файлов с довольно сложной организацией записей, формирующих иерархическую структуру (родитель—потомки), а точнее, несколько веток структуры. Благодаря наличию специальных функций мы можем работать с реестром именно как с иерархической структурой, а не как с набором записей в файле.

Реестр Windows является отличным примером организации централизованного хранения данных, в основном, настроек программ. Реестр является хорошей альтернативой большим INI-файлам, доставшимся в наследство от 16-разрядных версий Windows, главным образом из-за возможности лучше структурировать информацию (ведь секции разделов в реестре могут быть много раз вложенными). В реестре хранятся и данные, которые могут пригодиться сразу многим программам: например, расположения СОМ-серверов, пути приложений, ассоциированных с различными типами файлов.

В реестре могут быть объекты двух типов: разделы (во многом аналогичны папкам файловой системы) и параметры (имеют имя, тип и значение).

Данные реестра сгруппированы в несколько ветвей (рис. 7.6). Для запуска показанной на рис. 7.6 программы Редактор реестра достаточно набрать в командной строке Regedit либо отыскать файл Regedit. ехе в каталоге Windows.

Информация, помещаемая в различных разделах реестра, группируется по следующим признакам.

• HKEY_CURRENT_USER – в этом разделе хранится информация, используемая для текущего пользователя, осуществившего вход в систему. Этой информацией могут быть, например, значения переменных окружения, фон Рабочего стола, вид меню Пуск.

• HKEY_USERS – содержит настройки системы для различных пользователей, а также настройки, используемые по умолчанию для нового пользователя.

• HKEY_LOCAL_MACHINE – самая большая и главная ветвь реестра, содержащая параметры Windows, приложений, оборудования, ассоциации расширений файлов, расположение СОМ-серверов и еще много чего полезного.

• HKEY_CURRENT_CONFIG – в этом разделе хранятся значения параметров Windows, отличающихся от стандартных. Он является псевдонимом для ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware ProfilesX Current.

• HKEY_CLASSES_ROOT – в системах Windows 95/98/NT 4.0 и более ранних этот раздел является псевдонимом для ветви HKEY_LOCAL_MACHINE\SOFTWARE\Classes. В Windows 2000/ХР содержимое этого раздела составляется из содержимого разделов HKEY_LOCAL_MACHINE\SOFTWARE\Classes и HKEY_CURRENT_USER\Software\Classes.

Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Мейерс , Скотт Майерс

Программирование, программы, базы данных / Программирование / Книги по IT