- •Введение
- •1. Проектирование прикладных программ на языке высокого уровня
- •1.1. Особенности разработки программного обеспечения на языке высокого уровня
- •1.1.1. Функциональные принципы работы компьютера
- •1.1.2. Понятие о низкоуровневом программировании
- •1.1.3. Основные языки программирования высокого уровня
- •1.1.4. Процедурное и событийное программирование
- •1.1.5. Технология быстрой разработки приложений
- •1.1.6. Классификация программных средств
- •1.2. Основные фазы проектирования программных продуктов
- •1.2.1. Определение проекта и анализ процесса проектирования с позиций теории управления
- •1.2.2. Классификация проектов
- •1.2.3. Основные фазы проектирования
- •2. Жизненный цикл программных продуктов, методология и технология разработки
- •2.1. Процессы жизненного цикла
- •2.1.1. Структура жизненного цикла по стандарту iso/iec 12207
- •2.1.2. Основные процессы
- •2.1.3. Вспомогательные и организационные процессы
- •2.2. Модели жизненного цикла
- •2.2.1. Каскадная модель
- •2.2.2. Спиральная модель
- •2.3. Методология, технология и инструментальные средства разработки прикладного программного обеспечения
- •3. Объектно-ориентированное программирование в рамках языка object pascal
- •3.1. Элементарная грамматика языка Object Pascal
- •3.2. Основные структурные единицы
- •3.2.1. Структуры главного файла программы и модулей
- •3.2.2. Общая характеристика объявляемых элементов
- •3.3. Типы данных и операции над ними
- •3.3.1. Порядковые типы
- •3.3.2. Действительные типы
- •3.3.3. Строки
- •3.3.4. Массивы
- •3.3.5. Множества
- •3.3.6. Записи
- •3.3.7. Файлы
- •3.3.8. Указательные типы
- •3.3.9. Вариантные типы
- •3.3.10. Объекты, классы и интерфейсы
- •3.4. Операторы языка Object Pascal
- •3.4.1. Оператор присваивания
- •3.4.2. Оператор безусловного перехода
- •3.4.3. Оператор if
- •3.4.4. Оператор case
- •3.4.5. Организация цикла с помощью оператора for
- •3.4.6. Цикл repeat … until
- •3.4.7. Цикл while … do
- •3.4.8. Дополнительные операторы организации циклов
- •3.4.9. Оператор with...Do
- •3.5. Обработка исключительных ситуаций
- •3.6. Процедуры и функции
- •4. Интегрированная среда delphi
- •4.1. Общий внешний вид и основные возможности
- •4.2. Главное меню
- •4.2.1. Меню File
- •4 .2.2. Депозитарий – хранилище объектов
- •4.2.3. Меню Edit и команды контекстного меню визуального редактора форм
- •4.2.4. Меню Search
- •4.2.5. Меню View
- •4.2.6. Меню Project
- •4.2.7. Меню Run
- •4.2.8. Меню Component и палитра компонентов
- •4.2.9. Меню Database, Tools, Windows, Help
- •4.3. Инспектор объектов
- •4.4. Редактор кода и его настройка
- •4.5. Общие настройки среды проектирования
- •4.6. Некоторые дополнительные настройки
- •5. Основные элементы построения интерактивного интерфейса прикладных программ
- •5.1. Формы и фреймы – основа визуализации интерфейсных элементов
- •5.2. Наиболее общие свойства, методы и события компонентов
- •5.3. Типы пользовательского интерфейса
- •5.3.3. Форма со вкладками
- •5.4. Основные стандартные компоненты
- •5.4.1. Надписи
- •5.4.2. Текстовое поле ввода
- •5.4.3. Класс tCheckBox
- •5.4.4. Списки
- •5.4.5. Радиокнопки
- •5.4.6. Кнопки
- •5.4.7. Панели
- •5.4.8. Меню
- •5.4.9. Таймер
- •5.4.10. Визуализация больших текстовых фрагментов
- •5.4.11. Визуализация структурированных данных
- •5.4.12. Компоненты построения баз данных
- •5.5. Компоненты организации диалога
- •5.5.1. Окна сообщений
- •5.5.2. OpenDialog, SaveDialog и другие компоненты стандартных диалоговых окон
- •5.6. Средства управления конфигурацией
- •5.7. Работа с графикой
- •Заключение
- •Библиографический список
- •Оглавление
5.6. Средства управления конфигурацией
Задачи управления конфигурацией, т.е. начальная инициализация или настройки проектируемого приложения изначально (в 16-разрядных версиях Windows 3.x) решались с помощью текстовых INI-файлов. Работу с такими файлами проще всего осуществлять с помощью создания в приложении объекта типа TIniFile.
В них сохраняемая информация о различных настройках логически группируется в разделы, каждый из которых начинается оператором заголовка, заключенным в квадратные скобки (например, [Desktop]). В строках, следующих за заголовком, содержится информация, относящаяся к данному разделу, в форме: <ключ>=<значение> или <keyname>=<value>.
Начиная с Windows 95, использование INI-файлов не рекомендовано и вместо типа TIniFile, инкапсулирующего свойства подобных файлов, используются типы TRegistry, TRegIniFile и TRegistryIniFile, инкапсулирующие свойства системного реестра (registry).
Реестр – это база данных для хранения информации о системной конфигурации аппаратуры, о Windows и о приложениях Windows. Реестр имеет иерархическую организацию, которая содержит много уровней ключей, субключей и параметров. В реестре данные делятся на две категории: характеризующие компьютер и характеризующие пользователя. Характеристики компьютера включают в себя все, связанное с техническими средствами, а также с установленными приложениями и их конфигурацией. Характеристики пользователя включают в себя установки по умолчанию для экрана, пользовательские конфигурации, информацию о выбранных пользователем принтерах, установки сети и т.д.
Шесть основных ключей реестра содержат все субключи и записи низшего уровня. Четыре ключа верхнего уровня предназначены для характеристик компьютера:
Hkey_Local_Machine – информация о компьютере, включая конфигурацию установленной аппаратуры и программного обеспечения;
Hkey_Current_Config – информация о текущем оборудовании;
Hkey_Dyn_Data – динамические данные о состоянии, используемые процедурами plug-and-play;
Hkey_Classes_Root – информация об OLE, drag&drop, клавишах быстрого доступа и пользовательском интерфейсе.
Два ключа верхнего уровня, предназначенные для характеристик пользователя:
Hkey_Users – информация о пользователях, включая установки экрана и приложений;
Hkey_Current_User – информация о пользователе, зарегистрированном в данный момент.
Реестр хранится в файле SYSTEM.DAT в каталоге Windows. Просмотр и редактирование реестра осуществляется стандартным в Windows редактором реестра REGEDIT.EXE.
Хотя разработчики Windows и не рекомендуют использование INI-файлов, тем не менее их логически естественная структура и доступность для редактирования в любом текстовом редакторе предопределили их предпочтительность по сравнению с использованием реестра, особенно для прикладных программных средств. Отметим, что логическая организация INI-файлов подходит и для хранения расчетных данных.
Когда в приложении создается объект типа TIniFile, ему передается как FileName (и это единственное свойство данного класса) имя файла, с которым он связан, причем расширение может быть любым. Методы TIniFile позволяют читать информацию из файла, записывать, удалять разделы и т.п.
Например, оператор создания объекта Ini типа TIniFile и связывания его с файлом MyConfig.cfg, находящемся в одном каталоге с проектируемым программным обеспечением, имеет следующий вид.
var Ini:TIniFile;
...
Ini:=TIniFile.Create('MyConfig.cfg');
Следующий оператор проверяет наличие в файле раздела My Section, содержащего ключ MyKey.
if Ini.ValueExists('My Section','MyKey') then ...
Следующий оператор заносит в ключ MyKey раздела My Section значение '5'.
Ini.WriteInteger('My Section','MyKey',5);
Следующий оператор удаляет ключ MyKey раздела My Section.
Ini.DeleteKey('My Section','MyKey');
Следующие операторы сохраняют содержимое объекта Ini в файле на диске и разрушают объект Ini.
Ini.UpdateFile;
Ini.Free;
Вместо класса TINIFile возможно применение объектов типа TStringList, близких по возможностям.