Реферат: Искуственный интеллект
MAIN - модули, использующие процедуры обработки прерываний (например,
модуль DRIVERS содержит процедуры обработки событий от клавиатуры и
"мыши"), а механизм оверлеев не распространяется на такие процедуры;
данные модули включены непосредственно в файл EXPERT.EXE.
Таблица 6.
Используемые объекты модулей Turbo-Vision.
┌─────────────┬──────────────┬───────────────────────────────────────┐
│ Модуль │ Объект │ Функция объекта │
├─────────────┼──────────────┼───────────────────────────────────────┤
│APP.TPU │TAPPLICATION │Стандартная программа. │
│ │TDESKTOP │Поверхность экрана. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│OBJECTS.TPU │TOBJECT │Главный объект всей объектной иерархии │
│ │ │Turbo-Vision. │
│ │TCOLLECTION │Коллекция. │
│ │TBUFSTREAM │Буферизированный поток. │
│ │TRECT │Прямоугольник. │
│ │TSTREAMREC │Регстрационная запись. │
│ │TRESOURCEFILE │Файл ресурсов. │
│ │TSTRINGLIST │Коллекция строк. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│VIEWS.TPU │TVIEW │Абстрактный видимый объект. │
│ │TGROUP │Объект-группа. │
│ │TTPALETTE │Тип палитры. │
│ │TWINDOW │Базовый объект всех окон. │
│ │TSCROLLBAR │Полоса скроллинга. │
│ │TFRAME │Рамка видимого объекта. │
│ │TCOMMANDSET │Группы разрешаемых или запрещаемых ко- │
│ │ │манд. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│DIALOGS.TPU │TDIALOG │Диалоговое окно. │
│ │THISTORY │Протокол ввода. │
│ │TSTATICTEXT │Статический текст. │
│ │TSITEM │Элемент кластера. │
│ │TBUTTON │Командная кнопка. │
│ │TCHECKBOXES │Кластер с независимыми кнопками. │
│ │TRADIOBUTTONS │Кластер зависимых кнопок. │
│ │TINPUTLINE │Строка ввода. │
│ │TLABEL │Метка для кластера или строки ввода. │
│ │TLISTBOX │Скроллер списка строк. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│MENUS.TPU │TMENU │Список связанных записей для меню. │
│ │TMENUBAR │Горизонтальная полоса меню. │
│ │TMENUITEM │Элемент меню. │
│ │TSTATUSDEF │Контекстная подсказка строки статуса. │
│ │TSTATUSLINE │Строка статуса. │
│ │TSTATUSITEM │Элемент строки статуса. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│DRIVERS.TPU │TEVENT │Тип записи события. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│CALC.TPU │TCALCDISPLAY │Табло дисплея и вычислительные действия│
│ │TCALCULATOR │Окно калькулятора. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│CALENDAR.TPU │TCALENDARVIEW │"Начинка" календаря. │
│ │TCALENDWINDOW │Окно календаря. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│PUZZLE.TPU │TPUZZLEVIEW │Игровое поле и правила игры. │
│ │TPUZZLEWINDOW │Окно игры. │
├─────────────┼──────────────┼───────────────────────────────────────┤
│GAUGES.TPU │THEAPVIEW │Индикатор доступной динамической памяти│
│ │ │ │
└─────────────┴──────────────┴───────────────────────────────────────┘
3.4.2. Подготовка ресурсов
Для уменьшения объема занимаемой памяти (как оперативной, так и
памяти "винчестера") и повышения "читаемости" программы, в системе ис-
пользуется механизм ресурсов. Его суть состоит в следующем: все объек-
ты, используемые в основной программе, записываются в отдельный файл,
затем по ходу выполнения программы, вызываются в ее тело по ее же ко-
мандам.
Программа M_VISUAL.EXE служит для подготовки файла ресурсов
EXPERT.AIR. Алгоритм ее работы следующий:
1. Создает на диске поток (полиморфный файл данных, ориентирован-
ный на работу с объектами).
2. Связывает с ним файл ресурсов EXPERT.AIR (в Turbo-Vision файл
ресурсов - это поток с произвольным доступом к данным).
3. Регистрирует все объекты, входящие в файл ресурсов, получая их
регистрационные записи из модулей записываемых объектов.
4. Загружает объекты из модулей и записывает их в файл ресурсов.
5. Закрывает поток.
Каждый объект записывается в файл ресурсов под определенным уни-
кальным ключом. Им может быть строка произвольных символов любой дли-
ны. В теле основной программы в конструкторе TEXPERT.INIT производит-
ся открытие файла ресурсов, а соответствующие процедуры используют
нужные им объекты, подгружая их из EXPERT.AIR.
Таблица 7.
Ресурсы системы "Консультант"
┌────────────────┬──────────────────┬────────────────┬───────────────┐
│ Объект │ Назначение │Уникальный номер│Индексный ключ │
├────────────────┴──────────────────┴────────────────┴───────────────┤
│ ФАЙЛ EXPERT.AIR │
├────────────────┬──────────────────┬────────────────┬───────────────┤
│TBANKWINDOW │Окно банка знаний.│ 100 │ "Банк" │
│TNEWWINDOW │Окно создания но- │ 101 │ "Новая" │
│ │вой базы. │ │ │
│TRENAMEWINDOW │Окно переименова- │ 102 │"Переименовать"│
│ │ния базы. │ │ │
│TERASEWINDOW │Окно удаления базы│ 103 │ "Удаление" │
│TEXITWINDOW │Окно подтвержде- │ 104 │ "Выход" │
│ │ния выхода. │ │ │
│TSTATEWINDOW │Окно установок ре-│ 105 │ "Установки" │
│ │дактора. │ │ │
│TATRIBUTEDITOR │Окно редактора │ 106 │ "Объекты" │
│ │объектов. │ │ │
│TVALUEEDITOR │Окно редактора │ 107 │ "Значения" │
│ │значений. │ │ │
│TRULEEDITOR │Окно редактора │ 108 │ "Правила" │
│ │правил. │ │ │
│TDISPETCHER │Окно диспетчера │ 109 │ "Диспетчер" │
│ │редактора. │ │ │
│TMACHINE │Окно консультации │ 110 │"Машина вывода"│
│ │машины вывода. │ │ │
│TSTATUSLINE │Строка статуса. │ N Turbo-Vision │ "Статус" │
│TMENUBAR │Полоса меню. │ N Turbo-Vision │ "Меню" │
│TCALCULATOR │Калькулятор. │ N Turbo-Vision │ "Калькулятор" │
│TCALENDWINDOW │Календарь. │ N Turbo-Vision │ "Календарь" │
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10