Разработка простейшего оконного приложения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка простейшего оконного приложения



Рассмотрим пример, с которого начинали изучение DELPHI (см.[4]). Пусть требуется разработать приложение, имеющее два окна для ввода текста; нажатие кнопки должно обеспечить запись результата конкатенации (сцепле­ния) введенных строк в третье текстовое окно; исходные строки обозначим a и b, результирующую – с.

На заготовку окна приложения (см. рис. 5.3) с палитры компонентов перенесем (с помощью мыши):

· три компоненты Edit Text (окно редактирования, в DELPHI эти компоненты называются Edit) – для ввода значений a и b и вывода с;

· три компоненты Static Text (в DELPHI такие компоненты называются Label) для подписи окон редактирования;

· компоненту Push Button – кнопку для запуска вычислений; в DELPHI это компонента Button.

Затем сохраним приложение под именем Primer (вопрос: сколько файлов при этом будет сохранено?).

Следующий шаг состоит в настройке свойств компонент. Для этой цели в среде GUIDE используется инспектор свойств. Его можно вызвать нажатием соответствующей кнопки панели инструментов редактора интерфейса (см. рис. 5.2), или командой View/Property Inspector, или двойным щелчком мыши на компоненте, свойства которой устанавливаются.

Установка размеров, цветов и шрифтов для читателей, знакомых с DELPHI, не должна вызвать затруднений. Рассмотрим на примере компоненты Push Button свойства Style, String, Tag, Callback. Вид окна инспектора объектов для этой компоненты приведен на рис. 5.4.

 
 

Свойство Style определяет тип визуальной компоненты; изменяя его значение, можно переделать кнопку Push Button, например, в окно редактирования Edit Text (если это,конечно, нужно). Свойство String определяет текст на кнопке; по умолчанию оно равно Push Button; дадим ему значение конкатенация. Свойство Tag определяет имя компоненты в программном коде; по умолчанию оно равно pushbutton1; из него система формирует имя основного обработчика компоненты присоединением слева строки ¢_Callback¢; оператор вызова обработчика автоматически записывается в свойство Callback. Изменим свойство Tag на concat_button; тогда имя обработчика события нажатия кнопки будет concat_button_Callback; оператор его вызова запишется автоматически в свойство Callback.

Свойство String визуальных компонент Static Text установим равными a, b и с=a+b, соответственно, - как бы подпишем окна ввода и вывода данных. Для компонент Edit Text свойство String очистим (установим в значение пустой строки), а свойство Tag установим в значение edit_a, edit_b и edit_c, соответственно. После этого заготовка окна примет вид как на рис. 5.5.

Далее необходимо написать операторы для обработки события нажатия кнопки конкатенация. Место этих операторов в программном коде можно определить разными способами. Вот два самых простых из них:

1. Поставьте мышь на нужную компоненту (в нашем случае кнопку), вызовите контекстное меню и выберите из него пункт CallBack.

2. Перейдите из редактора интерфейса в редактор М-файлов с помощью кнопки панели инструментов (см. рис. 5.2); окно редактора М-файлов представлено на рис. 5.6. Затем из раскрывающего списка кнопки _f_ выберите нужный обработчик.

В любом случае система переведет курсор на заголовок обработчика выбранного события, в нашем случае это

function concat_button_Callback(hObject, eventdata, handles)

Поясним формальные параметры этой функции. Параметр hObject содержит указатель на объект Uicontrol, для которого предназначен обработчик события. Параметр eventdata зарезервирован для использования в следующих версиях MatLab.

Параметр handles является переменной типа структура (аналог записи в языке PASCAL). Эта переменная играет важную роль при программировании оконных приложений. Среда GUIDE создает ее автоматически для каждого оконного приложения. Ее полями являются ссылки на компоненты приложения; имя поля – это значение свойства Tag соответствующей компоненты; например, handles.edit_a – это ссылка на компоненту c тэгом edit_a. Переменная handles является параметром всех обработчиков событий М-файла (см. заголовок функции concat_button_Callback), и, следовательно, обеспечивает передачу данных из одного обработчика в другой.

 

 
 

В тело функции concat_button_Callback после комментариев (их можно изменить) следует вставить операторы, которые должны проработать при нажатии кнопки конкатенация:

a=get(handles.edit_a,'String'); b=get(handles.edit_b,'String');

c= strcat (a,b);

set(handles.edit_c,'String',c);

После этого приложение готово. Можно запустить его (кнопкой Run - запуск) и посмотреть, как оно работает.

Дадим пояснения к приведенному выше фрагменту программы.

Вызов функции get

Имя_переменной =get(handles. Тэг_компоненты, ' Свойство ');

обеспечивает присваивание переменной значения свойства. Таким образом, первые два оператора обеспечивают ввод данных из окон редактирования в переменные a и b.

Функция strcat выполняет конкатенацию строк.

Вызов функции set

set(handles. Тэг_компоненты,' Свойство ', Значение);

устанавливает свойство компоненты в заданное значение. В нашем примере вызов этой функции обеспечивает вывод результата.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 398; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.24.134 (0.007 с.)