Программное редактирование объекта


1) Перейдем к настройке операции редактирования объекта. Так же, как и в случае добавления, для редактирования воспользуемся отдельным окном. Создадим новую форму ECO Enabled Windows Form. В этой форме будем редактировать выбранную в таблице кафедру. Назовем форму wfChairEdit (класс TChairEdit), в свойстве Text введем значение Редактирование кафедры.

2) Настроим вызов созданной формы по выбору пункта меню Действие > Кафедра > Редактировать. Перейдем к вкладке Code формы wfChairEdit. Объявим переменную, ответственную за создание данной формы:

var

callChairEdit: TChairEdit;

3) Перейдем к форме Преподаватели. Подключим форму wfChairEdit. Для редактирования объекта надо определить, какой объект подлежит редактированию. Для этого в форме Преподаватели создадим переменную типа clChair:

var

callLect: TLecturer;

CurChair: clChair;

В этой переменной будем хранить текущий объект.

4) Для взятия текущего объекта воспользуемся компонентом 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 в форме Редактирование кафедры, чтобы иметь доступ к значениям полей текущего объекта.

5) Вернемся к форме Редактирование кафедры. Разместим на ней три компонента Label, три компонента TextBox (категория Windows Forms) и две кнопки (см. Рисунок 10.6).

6) В свойстве FormBorderStyle установим значение FixedDialog, в свойстве ControlBox – False.

Рисунок 10.6 – Настройка компонентов формы Редактирование кафедры

7) Подключим файл packModelUnit, выберем в свойстве EcoSpaceType компонента RHRoot значение projDeanOfficeEcoSpace для доступа к пространству ECO. Подключим форму wfLecturer (Преподаватель), чтобы использовать созданную в ней переменную CurChair.

8) При вызове окна Редактирование кафедры поля компонентов 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;

9) После того, как пользователь отредактировал данные, сохраним изменения. Сохранение происходит и в случае, когда данные не были изменены. В обработчике нажатия кнопки ОК запишем код:

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) Запустим приложение, проверим функцию редактирования кафедры (см. Рисунок 10.7)

Рисунок 10.7 – Редактирование объекта в отдельном окне

По аналогии настроим редактирование преподавателя и дисциплины. Обратим внимание, что при оперировании с целочисленными значениями необходимо перевести их в значение типа string при выводе, используя функцию ToString:

TextBox3.Text := CurLect.MaxAmountHours.ToString;

Обратное преобразование производится применением функции Convert.ToInt32:

CurLect.MaxAmountHours := Convert.ToInt32(TextBox3.Text);



Дата добавления: 2021-12-14; просмотров: 258;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.