Работа со справочником
Создадим справочник со списком должностей, которые можно будет назначать преподавателю. Многие операции описаны ранее, поэтому предлагается сделать их по аналогии.
Перейдем к форме Преподаватели. Добавим на форму компонент dgPosition (экземпляр класса DataGrid), в нем будут отображаться список должностей выбранного преподавателя иehPosition(экземпляр классаExpressionHandle). НастроимehPosition: в свойствеRootHandleвыберем значениеcmhLecturer, а в свойствеExpressionсформируем выражение self.rolePosition. Настроим интерфейс (см. Рисунок 10 .79).
Рисунок 10.79 – Создание таблицы Должности
ВкомпонентMainMenuдобавим еще два пункта: Назначить должность и Освободить от должности. При выборе пункта Назначить должность будет создаваться окно, в котором можно будет назначить должность выбранному преподавателю. Если потребуется освободить преподавателя от должности, выберем должность в таблице и нажмем пункт меню Освободить от должности.
Создадим новую форму wfPositAsign (класс TPositAsign), в свойствеTextформы введем значение Назначение должности. Эта форма будет служить для выбора и назначения должности текущему преподавателю. Настроим создание формы по выбору пункта Назначить должность в главном меню формы Преподаватели. Но перед этим сохраним текущий объект Преподаватель, который будет использован в форме Назначение должности. Настроим интерфейс созданной формы (см. Рисунок 10 .80).
Рисунок 10.80 – Настройка компонентов формы Назначение должности
Компонент Labelдобавлен на форму, чтобы отобразить в его поле Ф.И.О. выбранного в таблице преподавателя. Выбирать нужную должность будем с помощью компонентаComboBox– выпадающего списка. Если нужная должность отсутствует, ее можно будет добавить в отдельном окне. Окно добавления должности будет создаваться нажатием кнопки, расположенной справа от выпадающего списка. При нажатии на кнопку ОК, преподавателю будет назначена выбранная должность, после чего окно закроется. При отмене произойдет закрытие окна Назначение должности.
В обработчике события загрузки окна Loadзапишем одну операцию
Label1.Text := CurLect.LecturerSNP;
Добавим на форму дескрипторsehPositionиcmhPosition. Настроим их на обращение к экземплярам классаclChair. В свойствеBindingContext дескриптораcmhPosition выберем значениеComboBox1.
В свойстве DataSourceкомпонентаComboBox1 установим значениеehPosition, а в свойствеDisplayMember–PositionName. После этого выпадающий список будет отображать список должностей.
В обработчике события нажатия кнопки ОК запишем следующий код:
var
CurPosition: clPosition;
begin
if cmhPosition.Element.AsObject is clPosition
then
begin
CurPosition := clPosition(cmhPosition.Element.AsObject);
CurLect.rolePositions.Add(CurPosition);
end;
Close;
Строка
CurLect.rolePositions.Add(CurPosition);
производит связывание выбранной должности с преподавателем.
Создадим форму wfPositAdd(класс TPositAdd), заголовок формы назовем Добавление должности. В этой форма будем создавать справочник должностей. Настроим создание данной формы по нажатию кнопки, расположенной справа от выпадающего списка на форме Назначение должности. Настроим интерфейс (см. Рисунок 10 .81).
Рисунок 10.81 – Настройка компонентов формы Добавление должности
Таблицу Должности настроим на отображение списка всех должностей. По нажатию кнопки Добавить создадим новый объект класса clPosition(Должность), в котором единственный атрибутPositionNameполучит значение, введенное в поле компонентаTextBox. Кнопку Выход настроить на закрытие окна.
Запустим приложение. Проверим настроенные операции (см. Рисунок 10 .82).
Рисунок 10.82 – Работа со справочником Должность
- «Технологии разработки программного обеспечения»
- Оглавление
- Введение
- Анализ проблемы. Постановка задачи
- Введение
- Описание примера
- Составление списка заинтересованных лиц
- Анкетирование и проведение интервью
- Список потребностей заинтересованных лиц
- Задания
- Контрольные вопросы
- Моделирование объекта автоматизации
- Введение
- Введение в методологиюAris
- Описание инструментаAris. Начало работы
- Построение организационной модели
- Построение диаграммы цепочек добавленного качества
- ПостроениеeEpCмодели
- Описание объектов автоматизации
- Задания
- Контрольные вопросы
- Разработка модели вариантов использования и их спецификаций
- Введение
- Разработка модели вариантов использования
- Модель вариантов использования
- Построение модели вариантов использования
- Спецификация вариантов использования
- Основной поток
- Альтернативные потоки
- Специальные требования
- Пример спецификации варианта использования
- Алгоритм расчёта рейтингов
- Задания
- Пример написания раздела
- Назначение документа
- Наименование системы
- Сведения о заказчике и исполнителе
- Основания для выполнения работ, сроки и финансирование
- Основные понятия, определения и сокращения
- Актуальность разработки системы
- Назначение и цели создания (развития) системы
- Требования к содержимому раздела
- Пример написания раздела
- Характеристики объекта автоматизации
- Требования к содержимому раздела
- Пример написания раздела
- Организация и планирование научно-исследовательской и инновационной деятельности
- Исполнители научно-исследовательских работ
- Учет и отчетность по научно-исследовательским работам
- Требования к системе
- Требования к содержимому раздела
- Пример написания раздела
- Требования к системе в целом
- Требования к структуре и функционированию системы
- Требования к численности и квалификации персонала
- Требования к функциям (задачам)
- Описание вариантов использования
- Состав и содержание работ по созданию системы
- Требования к содержимому раздела
- Пример написания раздела
- Порядок контроля и приемки системы
- Требования к содержимому раздела
- Пример написания раздела
- Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
- Требования к содержимому раздела
- Пример написания раздела
- Создание служб необходимых для функционирования системы
- Функциональные этапы внедрения системы
- Требования к документированию
- Требования к содержимому раздела
- Пример написания раздела
- Паспорт системы
- Общее описание системы
- Руководство администратора
- Руководство пользователя
- Регламент эксплуатации
- Источники разработки
- Правила оформления
- Задание
- Бизнес-логика
- Объектно-реляционное отображение
- Структура бд
- Создание проекта вBorlandDeveloperStudio
- Добавление нового модуля в проект
- Создание классов с помощью диаграммыUml
- Добавление полей
- Добавление свойств
- Добавление процедуры
- Добавление функции
- Создание отношений между классами
- Ассоциация
- Агрегация
- Наследование
- Пример создания классов
- Создание классов и отношений между ними слоя объектно-реляционного отображения
- Создание классов слоя бизнес-логики
- Невизуальные компоненты интерфейса используемые в примере
- TimageList
- TActionManager
- Визуальные компоненты используемые в примере
- TBitBtn
- TdbGrid
- TcomboBox
- TPageControl
- Пример разработки интерфейса
- Главная форма
- Форма редактирования параметров студента
- Форма редактирования книг
- Форма отображения списка книг
- Подключение классов
- Сохранение проекта
- Задание
- Шаблоны проектирования
- Шаблон InformationExpert(информационный эксперт)
- Преимущества
- Шаблон Creator(создатель)
- Преимущества
- Шаблон LowCoupling(слабое связывание)
- Преимущества
- Шаблон HighCohesion(высокое зацепление)
- Преимущества
- Шаблон Controller(контроллер)
- Преимущества
- Применение шаблонаInformationExpert
- Применение шаблонаCreator
- Использование шаблонаHighCohesion
- Применение шаблонаController
- Задание
- Технология eco
- Язык объектных ограничений ocl
- Mdi-контейнеры
- Создание простого mda-приложения
- Основные этапы разработки приложения
- Обзор возможностей Borland Developer Studio 2006 для разработки mda-приложения
- Создание моделиUml
- Создание бд и настройкаEcOкомпонент
- Создание интерфейса
- Связывание интерфейса с моделью
- Создание логики наOcl
- Задания
- Контрольные вопросы
- РазработкаMda-приложения с использованием машин состояний
- Введение
- Автоматы
- Состояния
- Подавтоматы
- Диаграммы состояний
- Создание mda-приложений с использованием машин состояний
- Модификация модели uml
- Создание машины состояний
- Обновление базы данных
- Модификация пользовательского интерфейса
- Связывание интерфейса с моделью
- Применение автоформ
- Расширение пользовательского интерфейса
- Задания
- Контрольные вопросы
- Расширенные возможности разработкиMda-приложений
- СозданиеMda-приложения с расширенными возможностями
- Модификация моделиUml
- Программное добавление объекта
- Программное удаление объекта
- Программное редактирование объекта
- Работа со справочником
- Поиск объектов
- Задания
- Контрольные вопросы
- Заключение
- Библиографический список