МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
![]() |
ВОРОНЕЖСКАЯ ГОСУДАРСТВЕННАЯ ТЕХНОЛОГИЧЕСКАЯ АКАДЕМИЯ
![]() |
КАФЕДРА ИНФОРМАЦИОННЫХ И УПРАВЛЯЮЩИХ СИСТЕМ
ПРОГРАММИРОВАНИЕ СТАНДАРТНОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ В СРЕДЕ BORLAND C++ BUILDER
Часть 1
Методические указания для выполнения лабораторной работы по дисциплине “Информатика. Современные средства разработки программных продуктов”
Для студентов специальности 210200 – “Автоматизация технологических процессов и производств”
дневной формы обучения
Воронеж 2000
УДК681.3.07
Программирование стандартного интерфейса пользователя в среде Borland C++ Builder. Часть 1: Метод. указания к лаб. работе по дисциплине "Информатика. Современные средства разработки программных продуктов"/ Воронеж. гос. технол. акад.; Сост. , , . - Воронеж, 2000. – 20 с.
Указания разработаны в соответствии с требованиями, предъявляемыми квалификационной характеристикой ГОС ВПО подготовки инженеров по специальности 210200. Они предназначены для закрепления теоретических знаний дисциплины цикла ЕН. Методические указания посвящены разработке Windows-приложений с использованием стандартных средств интерфейса: кнопок, полей ввода, текстовых меток и т. д. в интегрированной среде программирования Borland C++ Builder корпорации Inprise.
Для студентов специальности 210200 заочной формы обучения.
Табл. 2. Ил. 9. Библиогр.: 4.
Составители доцент С. Г. ТИХОМИРОВ, ст. преподаватели А. А.ХВОСТОВ, И. А. ХАУСТОВ
Рецензент – профессор, д. т.н. О. Я. КРАВЕЦ
Научный редактор профессор В. Ф. ЛЕБЕДЕВ
Печатается по решению редакционно-издательского совета Воронежской государственной технологической академии
© ,
,
, 2000
© Воронежская государственная технологическая академия, 2000
Цели работы:
1. Освоение методики построения Windows-приложений;
2. Освоение программных средств реализации интерфейса пользователя с использованием стандартных библиотек.
1. Порядок выполнения работы
1. Изучить методические указания.
2. Включить компьютер, создать и сохранить на диске в рабочем каталоге новый проект.
3. Проделать упражнения 1¸3.
4. Проделать контрольный пример. Откомпилировать и запустить приложение. Протестировать приложение.
5. Выполнить свой вариант задания.
6. Оформить отчёт.
Borland C++ Builder относится к новому поколению сред быстрой разработки приложений (RAD Rapid Application Development), появившемуся после представления на рынке Microsoft Visual Basic.
Основное отличие и преимущество таких сред перед изученными ранее интегрированными средами (IDE) состоит в возможности избавить программиста от рутины написания программного кода для разработки интерфейса пользователя (как известно при обычном подходе на разработку интерфейса уходит 80¸90% объёма программного кода). Это обеспечивается стандартизацией интерфейса всех Windows-приложений, возможностью автоматической генерации кода в средах визуального программирования и огромным количеством библиотек, описывающих практически все элементы пользовательского интерфейса Windows.
2. Интегрированная среда Borland C++ Builder
После запуска Borland C++ Builder нажатием пиктограммы Borland C++ Builder в меню Пуск->Программы->Borland C++ Builder открывается основное окно интегрированной среды Borland C++ Builder (рис. 1).

Рис. 1
Главное окно состоит из нескольких плавающих окон и главного меню.
В главном меню будут использоваться пункты: File, View.
Названия плавающих окон представлены на рис. 1.
3. Создание и сохранение нового проекта
Прежде чем начать работу в интегрированной среде необходимо создать и сохранить новый проект:
1. включите компьютер.
2. зарегистрируйтесь под своим паролем.
3. В меню Пуск->Программы->Borland C++ Builder запустите Borland C++ Builder.
4. В меню File выберите “Save All…”.
5. Укажите для сохранения свой рабочий каталог (выделяется сетевым администратором для каждой группы).
6. Нажмите кнопку “Сохранить”.
4. Основные элементы главного окна
Панель управления содержит следующие часто используемые кнопки: Open (открытие файла); Open Project (открытие проекта); Run (выполнить приложение). Чтобы увидеть название кнопки необходимо подержать указатель мыши над кнопкой некоторое время, пока не появится ярлычок-подсказка.
Палитра компонентов – зрительное (в виде пиктограмм) представление библиотеки визуальных компонентов от Borland (Visual Component Library VCL). Представляет собой много страничный блокнот с закладками. На закладках обозначена функциональная группа компонент. Например, в закладке Standard содержатся стандартные интерфейсные элементы Windows (кнопки, окна ввода и т. д.).
Окно формы приложения – это первое, вызываемое при запуске приложения окно. Оно является стандартным окном Windows и снабжено кнопками закрытия, свёртывания и развёртывания на весь экран. При каждом запуске Borland C++ Builder появляется новая форма с именем Form1.
Упражнение 1. “Перемещение библиотечной компоненты на форму приложения”.
Для того чтобы переместить компоненту на форму приложения необходимо щёлкнуть левой клавишей мыши на пиктограмме компоненты на палитре компонент, после чего щёлкнуть на форме приложения.
Компоненты могут быть перемещены мышью в пределах формы, растянуты мышью до нужных размеров. Кроме того компоненты могут быть видимыми (видны как в процессе проектирования) и невидимыми (видны только на этапе проектирования)
Переместите на форму приложения компоненту Button из закладки Standard.
Редактор кода – это текстовый редактор, предназначенный для работы с текстовыми файлами программ. В верхних закладках отображается название редактируемого файла.
Инспектор объектов – это интерфейс для визуального управления свойствами объектов и управления событиями, на которые этот объект может реагировать.
Нажав на закладку Properties можно увидеть в левой колонке доступные в инспекторе объектов свойства выделенного мышью объекта, а в правой колонке их значения, причём значения можно редактировать.
Нажав на закладку Events можно увидеть в левой колонке все события, на которые может реагировать объект, а в правой названия функций обработчиков событий.
Обработчик какого-либо события – это функция, которая выполняется, если это событие произойдёт.
Упражнение 2 “Изменение свойств объекта с помощью инспектора объектов”.
Например, необходимо изменить надпись на кнопке, расположенной на форме (см. упражнение 1). За надпись на кнопке отвечает свойство Caption компоненты Button. Чтобы изменить это свойство необходимо: выделить мышью компоненту Button; щёлкнуть в инспекторе объектов закладку Properties; щёлкнуть мышью напротив свойства Caption и ввести необходимый текст в правое окошко.
Измените надпись на кнопке с “Button1” на “Кнопка№1”.
Упражнение 3 “Добавление обработчика событий с помощью инспектора объектов”.
Для добавления обработчика какого-либо события какой-либо компоненты необходимо выделить мышью компоненту, выбрать в инспекторе объектов закладку Events, щёлкнуть мышью на названии соответствующего события, после чего дважды щёлкнуть напротив этого события в правом окошке. В результате этих действий в редакторе кода в соответствующем файле будет сгенерирована пустая функция обработчика этого события для данной компоненты. Тело функции будет выполнено лишь в том случае, если это событие произойдёт.
Например, необходимо добавить обработчик события OnClick (одиночное нажатие) для компоненты Button. Для этого выделим компоненту Button мышью, в инспекторе объектов выберем закладку Events, щёлкнем на надписи OnClick и два раза щёлкнем в правом окошке. После чего сгенерируется обработчик события OnClick для компоненты Button1.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
}
Для читаемости программы название обработчика включает название компоненты и название события.
Создайте обработчик события OnClick для компоненты Button1
5. Компиляция проекта и запуск приложения
Компиляция и запуск приложения осуществляется нажатием кнопки Run на панели управления. Визуально запущенное приложения отличается от своего макета отсутствие точек на форме.
6. Организация проекта в Borland C++ Builder
Сохранив проект, в своём рабочем каталоге необходимо открыть этот каталог в проводнике и посмотреть на количество сгенерированных средой файлов.
Все сгенерированные файлы могут занимать довольно много места на жёстком диске (при компиляции и сохранении пустой формы все файлы могут занять порядка нескольких Мb пространства жёсткого диска). Однако ряд файлов несут в себе отладочную информацию, и для работы достаточно несколько важнейших файлов:
*.cpp – файл реализации модуля (создаётся для каждой формы и используется для размещения обработчиков событий), так же отдельный модуль создаётся Borland C++ Builder для головной функции WinMain;
*.h – заголовочный файл модуля, описывает класс формы;
*.dfm – двоичный файл, хранящий информацию о компонентах, размещённых на форме;
*.res – файл ресурсов, хранит информацию о использующихся пиктограммах, курсорах мыши и т. д.
*.mak – файл компоновки проекта, хранит информацию о файлах, входящих в проект.
При сохранении на диск проекта с именами, предлагаемыми по умолчанию, создадутся файлы:
Project1.cpp
Project1.mak
Project1.res
Unit1.cpp
Unit1.dfm
Unit1.h.
Структура проекта представлена на рис. 2.
![]() |
Рис. 2
Внимание После окончания работы над проектом необходимо удалить все ненужные файлы во избежание нехватки диска для размещения временных файлов.
С позиций объектно-ориентированного программирования компоненты представляют собой указатели на класс, инкапсулированные в класс формы, а обработчики событий являются методами класса. Сама форма является производной от родительского класса TForm. Например, при переносе на форму одной кнопки и создания обработчика события OnClick будет автоматически сгенерирован следующий код в файле Unit1.h.
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
Ключевое слово published(опубликованный) используется в Borland C++ Builder для определения объектов, чьи свойства будут доступны через инспектор объектов. Область их видимости аналогична public.
Модификатор __fastcall обозначает, что первые три параметра при вызове этой функции передаются не через стек, а через процессорные регистры AX, BX, DX. Если значение параметра не умещается в регистр.
7. Навигация по проекту
Средством, позволяющим просмотреть файлы, входящие в проект, удалить и добавить в проект файлы является утилита Project Manager. Вызывается из пункта главного меню View->Project Manager. Дважды щёлкнув на любом файле можно просмотреть его содержимое в редакторе кода, щёлкнув на имени формы отобразить макет формы. Для добавления файла в проект служит кнопка”+”, а для удаления “-”.
8. Программирование Windows-приложения со стандартными интерфейсными элементами
Программирование в среде Borland C++ Builder заключается в добавлении к форме приложения компонент и добавлении обработчиков событий, связанных с этими компонентами, т. е. инкапсуляции данных и методов в классы форм приложения.
Условно можно выделить три основные задачи приложения для работы с данными: отображение данных, ввод данных, реакция на действия пользователя. В простейшем случае эти функции могут быть выполнены с использованием компонент Label(текстовая метка), Memo(область отображения текста), Edit(поле ввода), Button(кнопка), RadioButton(радиокнопка), CheckBox(флажок).
Label – cлужит для отображения однострочной надписи на форме приложения. За текст надписи отвечает свойство Caption. За цвет и шрифт надписи отвечают соответственно свойства Color и Font. Memo – используется для отображения нескольких строк текста. За строки отвечает свойство Lines, в которое инкапсулированы метод Add() – добавление строки и данное Strings[Index], содержащее текст строки, указанной в Index. В объект Memo инкапсулирован метод Clear(), позволяющий очистить окно. Так же для объекта Lines доступны свойства Color, Font.
Edit – предназначено для ввода текста. Объект Edit имеет свойство Text, которое является данным типа AnsiString и содержит значение, введенное в поле ввода на форме приложения.
Тип AnsiString позволяет непосредственно сравнивать строки с использованием логической операции = =. Ввод числовых значений осуществляется аналогичным образом с последующим последовательным преобразованием значения типа AnsiString к типу символьной строки, а затем к числовому. Например, фрагмент программы
float x=atof(Edit2->Text.c_str());
позволяет преобразовать значение переменной Edit2->Text типа AnsiString в символьную строку с использованием метода с_str(). Метод с_str() инкапсулирован в класс AnsiString. Доступ к методу осуществляется через. поскольку данное Edit2->Text является переменной, а не указателем.
Button – основное предназначение вызывать обработчик события OnClick.
RadioButton – предназначено для организации логического выбора пользователем одной из альтернатив. Из расположенных на форме нескольких радиокнопок пользователь может выбрать только одну, т. е. аналогично логическому ИЛИ. За выбор кнопки отвечает свойство Checked, которое принимает значения true или false.
CheckBox – аналогичен RadioButton, отличается возможностью организации множественного выбора, т. е. пользователь может выбрать одновременно несколько альтернатив.
Имя объекта в программе, т. е. указатель на соответствующий класс определяется свойством Name (по умолчанию состоит из имени компоненты и порядкового номера, 1-я перенесённая на форму компонента Label будет иметь имя Label1)
Программное изменение свойств компонент
Часто требуется изменить свойства компонент в ходе выполнения программы. Для этого необходимо использовать соответствующие имена объектов, их свойства и изменять их значения в соответствующих обработчиках событий.
Например, чтобы изменить текст, выводимый на форму при нажатии кнопки Button1 необходимо в обработчик события OnClick компоненты Button1 ввести следующий код:
Label1->Caption=”Расчёт вязкости шихты”;
Для добавления строки в Memo;
Memo1->Lines->Add(“строка1”);
Для проверки нажатия первой радиокнопки:
if(RadioButton1->Checked==true)
…
9. Пример использования интерфейсных элементов в приложении
Задача: Необходимо ввести в окно ввода строку, которая после нажатия на кнопку Button будет выводится на компоненту Label, если нажата первая радиокнопка и в Memo, если нажата вторая радиокнопка.
Порядок выполнения:
1. Создадим и сохраним в рабочем каталоге новый проект.
2.
![]() |
Разместим на форме все необходимые компоненты: Edit, Button, Label, Memo, 2 шт. RadioButton. Внешний вид макета формы на рис. 3.
Рис. 3
3. Настроим свойства компонент следующим образом:
Таблица 1
Компонента | свойство | Значение |
Button | Caption | Вывод строки |
RadioButton1 | Caption | Вывод строки на Label |
RadioButton1 | Caption | Вывод строки в Memo |
4. Создадим обработчик cобытия OnClick для компоненты Button1.
В теле функции void __fastcall TForm1::Button1Click(TObject *Sender) обработчика события введём следующий код
if(RadioButton1->Checked==true)
{
Label1->Caption=Edit1->Text;
Memo1->Clear();
}
else{
Memo1->Lines->Add(Edit1->Text);
Label1->Caption=””;
}
5. Запустим и протестируем приложение.
Два варианта реакции на кнопку представлены на рис. 4.
![]() |
Рис. 4.
10. Контрольные вопросы
1. Отличительные особенности сред быстрой разработки приложений.
2. Основные элементы главного окна интегрированной среды Borland C++ Builder.
3. Изменение свойств компонент и добавление обработчика событий с помощью инспектора объектов.
4. Структура проекта в Borland C++ Builder.
5. Наиболее часто встречающиеся компоненты в интерфейсах Windows-приложений.
6. Программное изменение свойств объектов.
11. Требования к отчёту
Отчёт оформляется на листах формата А4, на титульном листе указывается название работы, дисциплина, студент, выполнивший работу и преподаватель, принявший отчет.
Отчёт должен включать в себя следующие пункты:
1. Постановка задачи (формулировка задания).
2. Условные обозначения (расшифровка обозначений, встречающихся в программе).
3. Расчётные зависимости (если необходимо).
4. Выбор метода решения (пояснить, почему для решения поставленной задачи необходимо использовать элементы стандартного интерфейса Windows).
5. Программирование (пояснить выбор программного пакета для реализации поставленной задачи).
6. Результаты. Привести листинги всех программных модулей, заголовочных файлов и файлов форм в текстовом виде (осуществляется выбором опции view as text из контекстного меню формы).
7. Анализ результатов. Cделать вывод о работоспособности программы.
Варианты заданий
Таблица 2
№ п/п | Содержание задания | Примечание |
1 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
2 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
3 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
4 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
5 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
6 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
7 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
8 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
9 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
10 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
11 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
12 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
13 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
14 | Реализовать ( осуществить ввод-вывод исходных данных и расчёт) следующую задачу: | Осуществить ввод исходных данных с помощью Edit, CheckBox, RadioButton, вывод с помощью Label, Memo, расчёт по нажатию Button. |
Библиографический список
1. Borland C++ Builder. Программирование на С++ без проблем. М.:”Нолидж”, 1997 – 266 с.
2. , Кошель в Borland C++ Builder4 -М.: Диалог-МИФИ, 1с.
3. Архангельский в Borland C++ Builder 4 - М.: "БИНОМ", 1с.
Учебное издание
СОЗДАНИЕ ОДНОТАБЛИЧНОЙ БАЗЫ ДАННЫХ В СРЕДЕ BORLAND C++ BUILDER
Методические указания для выполнения лабораторной работы по дисциплине "Информатика и распределённые базы данных"
Для студентов специальности 210200
Редактор
Корректор
Компьютерный набор и вёрстка
ЛР № 000 от 31.10.97. Подписано в печать.
Формат 60х84 1/16. Бумага офсетная. Гарнитура Таймс. Ризография. Усл. Печ. Л. 1,16. Уч.-изд. Л. 1,0. Тираж 100 экз. Заказ.
Воронежская государственная технологическая академия (ВГТА)
Участок оперативной полиграфии ВГТА
Адрес академии и участка оперативной полиграфии:
394017 Воронеж, пр. Революции, 19







