Программное редактирование объекта
Перейдем к настройке операции редактирования объекта. Так же, как и в случае добавления, для редактирования воспользуемся отдельным окном. Создадим новую форму ECOEnabledWindowsForm. В этой форме будем редактировать выбранную в таблице кафедру. Назовем формуwfChairEdit(классTChairEdit), в свойствеTextвведем значение Редактирование кафедры.
Настроим вызов созданной формы по выбору пункта меню Действие > Кафедра > Редактировать. Перейдем к вкладке CodeформыwfChairEdit. Объявим переменную, ответственную за создание данной формы:
var
callChairEdit: TChairEdit;
Перейдем к форме Преподаватели. Подключим форму wfChairEdit. Для редактирования объекта надо определить, какой объект подлежит редактированию. Для этого в форме Преподаватели создадим переменную типаclChair:
var
callLect: TLecturer;
CurChair: clChair;
В этой переменной будем хранить текущий объект.
Для взятия текущего объекта воспользуемся компонентом cmhChair. В обработчике события выбора пункта меню Действие > Кафедра > Редактировать пропишем следующие операции:
procedure TLecturer.MenuItem8_Click(sender: System.Object; e: System.EventArgs);
begin
if ehChair.GetList.Count <> 0
then
begin
if cmhChair.Element.AsObject is clChair
then
CurChair := clChair(cmhChair.Element.AsObject);
callChairEdit := TChairEdit.Create(EcoSpace);
callChairEdit.MdiParent := ParentWin;
callChairEdit.Show;
end;
end;
Окно редактирования будет создано в том случае, если есть хотя бы один объект класса Кафедра. Воспользуемся переменной CurChairв форме Редактирование кафедры, чтобы иметь доступ к значениям полей текущего объекта.
Вернемся к форме Редактирование кафедры. Разместим на ней три компонента Label, три компонента TextBox(категорияWindowsForms) и две кнопки (см. Рисунок 10 .77).
В свойстве FormBorderStyleустановим значение FixedDialog, в свойствеControlBox–False.
Рисунок 10.77 – Настройка компонентов формы Редактирование кафедры
Подключим файл packModelUnit, выберем в свойстве EcoSpaceTypeкомпонентаRHRootзначениеprojDeanOfficeEcoSpaceдля доступа к пространству ECO. Подключим формуwfLecturer(Преподаватель), чтобы использовать созданную в ней переменную CurChair.
При вызове окна Редактирование кафедры поля компонентов TextBox должны содержать значения соответствующих полей объекта, выбранного для редактирования.
Выделим форму в окне проектировщика и перейдем на вкладку Events(События) в инспекторе объектов. Выберем событиеLoadи сформируем обработчик, в котором запишем следующий код:
procedure TChairEdit.TChairEdit_Load(sender: System.Object; e: System.EventArgs);
begin
TextBox1.Text := CurChair.ChairName;
TextBox2.Text := CurChair.ChairHeadSNP;
TextBox3.Text := CurChair.ChairSecrSNP;
end;
После того, как пользователь отредактировал данные, сохраним изменения. Сохранение происходит и в случае, когда данные не были изменены. В обработчике нажатия кнопки ОК запишем код:
procedure TChairEdit.Button1_Click(sender: System.Object; e: System.EventArgs);
CurChair.ChairName := TextBox1.Text;
CurChair.ChairHeadSNP := TextBox2.Text;
CurChair.ChairSecrSNP := TextBox3.Text;
Close;
end;
Эта процедура аналогична операции добавления, за исключением того, что мы не создаем новый объект, а оперируем с существующим объектом.
Запустим приложение, проверим функцию редактирования кафедры (см. Рисунок 10 .78)
Рисунок 10.78 – Редактирование объекта в отдельном окне
По аналогии настроим редактирование преподавателя и дисциплины. Обратим внимание, что при оперировании с целочисленными значениями необходимо перевести их в значение типа stringпри выводе, используя функциюToString:
TextBox3.Text := CurLect.MaxAmountHours.ToString;
Обратное преобразование производится применением функции Convert.ToInt32:
CurLect.MaxAmountHours := Convert.ToInt32(TextBox3.Text);
- «Технологии разработки программного обеспечения»
- Оглавление
- Введение
- Анализ проблемы. Постановка задачи
- Введение
- Описание примера
- Составление списка заинтересованных лиц
- Анкетирование и проведение интервью
- Список потребностей заинтересованных лиц
- Задания
- Контрольные вопросы
- Моделирование объекта автоматизации
- Введение
- Введение в методологию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
- Программное добавление объекта
- Программное удаление объекта
- Программное редактирование объекта
- Работа со справочником
- Поиск объектов
- Задания
- Контрольные вопросы
- Заключение
- Библиографический список