- •Лабораторная работа № 1 Высокоуровневые методы разработки приложений в среде
- •1.1 Создание и сохранение проекта
- •1.2 Открытие, модификация и настройка параметров проекта
- •1.3 Создание форм и их модулей
- •1.4 Создание программных модулей
- •1.5 Построение интерфейса пользователя
- •1.6 Задания для самостоятельной работы в среде Delphi
- •Лабораторная работа № 2 Высокоуровневые методы разработки приложений в среде
- •2.1 Создание и сохранение проекта
- •2.2 Открытие, модификация и настройка параметров проекта
- •2.3 Создание форм и их модулей
- •2.4 Создание программных модулей
- •2.5 Построение интерфейса пользователя
- •Лабораторная работа № 3
- •Высокоуровневые методы разработки приложений на языке
- •C# в среде Visual Studio .Net
- •3.1 Среда Visual Studio и платформа .Net
- •3.2 Проекты и решения
- •3.3 Задания для самостоятельной работы Visual Studio .Net
- •Лабораторная работа № 4
- •4 Высокоуровневые методы разработки приложений на
- •4.1 Разработка программы на базе каркаса приложений
- •4.2 Создание остова приложения
- •4.3 Создание приложения с диалоговым интерфейсом
- •4.4 Создание приложения с однодокументным интерфейсом
- •4.5 Создание приложения с многодокументным интерфейсом
- •4.6 Задания для самостоятельной работы на пэвм
- •Initial status bar –добавляет строку состояния с индикаторами специальных клавиш;
- •440400, Г. Пенза, ул. Моковская, 74, к. 220, тел.: 56-37-16
2.4 Создание программных модулей
В проектах Builder C++ можно использовать программные модули, которые не связаны с какой-либо формой. Они создаются и включаются в проект командой File/New/Unit. Такие модули оформляются по обычным правилам языка C++ и сохраняются в отдельных файлах папки проекта. Для подключения модуля к программе его необходимо включить директивой #include в том модуле проекта, который использует объекты этого модуля.
В программном модуле целесообразно размещать константы, переменные, функции, процедуры и типы, общие для нескольких модулей проекта.
Для приобретения необходимых навыков по созданию программных модулей в среде Builder C++ следует выполнить задание 2.7 .
2.5 Построение интерфейса пользователя
Приложения Builder C++ позволяют человеку работать на компьютере в интерактивном режиме. Это реализуется компонентами графического интерфейса: меню, кнопками, полями ввода, диалоговыми панелями и т. д., которые либо устанавливаются на форме, либо появляются на экране динамически при работе приложения. Такие видимые на экране компоненты называются визуальными, или управляющими. Другие компоненты также используются для организации взаимодействия с пользователем, но являются невидимыми, например, компонента Table, используемая для доступа к наборам данных.
При построении интерфейса пользователя для каждой визуальной или невизуальной компоненты необходимо:
а) найти компоненту в палитре компонент, состоящей из нескольких страниц вкладок;
б) щелкнуть один или два раза левой клавишей мыши по найденной компоненте;
в) после одного щелчка курсор установить в заданное положение на форме и еще раз щелкнуть левой клавишей мыши, в результате чего на форме появится изображение компоненты, например, поле ввода или ее пиктограмма, например, пиктограмма меню;
г) после двойного щелчка появившееся изображение или пиктограмму в центре формы перенести в заданное положение;
д) в окне инспектора объектов Object Inspector на вкладке свойств Properties изменить заданные по умолчанию значения необходимых свойств, например, имени компоненты Name;
е) в том же окне на вкладке событий Events выбрать требуемое событие, например, OnClick и щелкнуть два раза левой клавишей мыши для перехода в модуль конструируемой формы, чтобы написать желаемый обработчик для выбранного события, при этом заголовок обработчика и фигурные скобки «{}» формируются автоматически.
Работу по созданию интерфейса пользователя называют визуальным объектно-ориентированным программированием, или конструированием. Таким образом, в среде Builder C++ приложение находится либо в режиме конструирования, либо в режиме отладки, либо в режиме выполнения. Переход из режима в какой-либо другой режим осуществляются следующим образом:
а) режим конструирования устанавливается сразу после открытия проекта, после закрытия окна работающего приложения или по команде Run/ Program Reset, когда оно находится в отладочном режиме;
б) режим выполнения устанавливается командой Run/ Run;
в) отладочный режим устанавливается либо автоматически при возникновении ошибок во время выполнения приложения, либо командами отладки Run/ Run To Cursor, Run/ Trace Into и Run/ Step Over, при этом выход из режима можно осуществить только командой Run/ Program Reset.
При размещении визуальных компонент на форме следует задавать положение и размер с помощью курсора, а также свойство выравнивания Align по сторонам формы. Невизуальные компоненты можно размещать где угодно на форме, так как их пиктограммы исчезают при работе приложения.
В таблицах 2.2 2.8 приведены краткие описания визуальных и невизуальных компонент Builder C++, которые будут использоваться при выполнении лабораторных работ и курсовом проектировании.
Таблица 2.2 – Компоненты страницы Standart
Имя |
Название |
Описание |
MainMenu |
Главное меню |
Для построения главного меню формы и ее команд |
Label |
Метка |
Для размещения статического текста |
Edit |
Однострочный редактор |
Для ввода, отображения и редактирования строки текста |
Memo |
Многострочный редактор |
Для ввода, отображения и редакти-рования нескольких строк текста. |
Button |
Кнопка |
Для выполнения команд |
Panel |
Панель |
Для группирования управляющих элементов |
Таблица 2.3 – Компоненты страницы Additional
Имя |
Название |
Описание |
SpeedButton |
Инструментальная кнопка |
Для создания инструментальных панелей |
StringGrid |
Таблица строк |
Для ввода, отображения и редакти-рования таблицы текстовых строк |
Image |
Изображение |
Для работы с графикой |
Chart |
График |
Для графиков и диаграмм |
Таблица 2.4 – Компоненты страницы Win32
Имя |
Название |
Описание |
RichEdit |
Многострочный RTF-редактор |
Для ввода, отображения и редак-тирования нескольких строк текста в формате RTF с изменением шрифта, цвета и т. п. |
Таблица 2.5 – Компоненты страницы Dialogs
Имя |
Название |
Описание |
OpenDialog |
Диалог для открытия |
Для создания окна диалога открытия файла |
SaveDialog |
Диалог для сохранения |
Для создания окна диалога SaveFileAs |
FontDialog |
Диалог для шрифта |
Для создания окна установки шрифтов |
Таблица 2.6 – Компоненты страницы Data Access
Имя |
Название |
Описание |
DataSourse |
Источник данных |
Для соединения компонент Table и Query с компонентами отобра-жения и управления данными DBGrid, DBNavigator и т. п. |
Table |
Таблица данных |
Для связи приложения с таблицей базы данных |
Query |
SQL-запросы |
Для построения и выполнения SQL-запросов к удаленным SQL-серверам или локальным базам данных |
Таблица 2.7 – Компоненты страницы Data Controls
Имя |
Название |
Описание |
DBGrid |
Таблица экрана |
Для ввода, отображения и редактирования записей таблицы базы данных |
DBNavigator |
Навигатор |
Для управления просмотром и редактированием таблицы базы данных |
Таблица 2.8 – Компоненты страницы ActiveX
Имя |
Название |
Описание |
VtChart |
Диаграмма |
Для построения диаграмм |
Graph |
График с диаграммой |
Для построения графиков и диаграмм |
Таблица 2.9 – Элементы главного меню
Название |
Имя |
Работа с массивами |
miOrlovArrayForm |
Работа с записями |
miOrlovRecordForm |
Работа с классами |
miOrlovClassForm |
Работа с файлами |
miOrlovFileForm |
Работа с графикой |
miOrlovGraphicForm |
Работа с таблицами |
miOrlovTableForm |
Справка |
miOrlovHelp |
Таблица 2.10 – Команды элемента меню «Работа с массивами»
Название |
Имя |
Создать |
miCreateArrayForm |
Открыть |
miShowArrayForm |
Скрыть |
miHideArrayForm |
Закрыть |
miCloseArrayForm |
Удалить |
miDestroyArrayForm |
Выход |
miExitArrayForm |
Для приобретения необходимых навыков по созданию программных модулей в среде Builder C++ следует выполнить задания 2.8 – 2.12 .
2.6 Задания для самостоятельной работы в среде Builder C++
Задание 2.1. Создать и сохранить проект для приложения OrlovApplication, выполнив следующие действия:
1. С помощью Total Commander создать две папки с одним и тем же именем Kurs04c1Orlov соответственно на локальном и сетевом дисках в групповых папках 04с1, а затем Total Commander свернуть.
2. Запустить Builder C++ одним из следующих способов: с помощью иконки на рабочем столе, с помощью команды главного меню ПУСК или с помощью двойного щелчка левой клавиши мыши по имени исполняемого файла *.exe для Builder C++, которое следует найти в папке Borland.
3. В автоматически созданном проекте Project1 изменить с помощью Object Inspector свойства Name и Caption соответственно на OrlovMainForm и «Курсовой проект студента группы 04с1 Орлова К.С.».
4. В поле Title окна Project Options, открываемого командой Project/Options/Application, задать название приложения OrlovApplication.
5. С помощью команды File/ Save Project As переименовать и сохранить в папке Kurs04c1Orlov на локальном диске модуль Unit1 и проектный модуль (файл проекта) Project1, при этом в первом появившемся диалоговом окне имя Unit1 заменить именем OrlovMainUnit, а во втором диалоговом окне имя Project1 на имя OrlovProject.
6. Свернув окно Builder C++, в окне Total Commander проверить наличие необходимых файлов проекта OrlovProject в папке Kurs04c1Orlov на локальном диске и познакомиться с содержанием основных и дополнительных файлов проекта.
7. Развернув окно Builder C++, установить с помощью команды Tools/Environment/Preferences переключатель Show compiler progress, который позволит отображать на экране в специальном диалоговом окне ход компиляции и редактирования файлов проекта и наличие ошибок Errors и недочетов Warnings в проекте.
8. С помощью команды Project/Options/Directory открыть вкладку и для всех полей этой вкладки, имена которых содержат слово “output” (для вывода), задать путь к папке Kurs04c1Orlov.
9. Выполнить команду Run/Run и проверить начальную функциональность приложения: свертку, развертку и перемещение окна, изменение размеров окна, отображения названия окна и закрытие приложения.
10. С помощью Total Commander проанализировать состав файлов проекта, отметив при этом наличие объектного файла OrlovMainUnit.obj и исполняемого файла приложения OrlovProject.exe.
11. Дважды щелкнув левой клавишей мыши по имени файла OrlovProject.exe, повторно запустите, а затем закройте приложение OrlovApplication.
12. С помощью Total Commander удалить все файлы из папки Kurs04c1Orlov на локальном диске, кроме основных файлов (OrlovProject.bpr, OrlovProject.res, OrlovMainUnit.cpp, OrlovProject..h и OrlovMainUnit.dfm).
13. Выполнив команду Run/Run, убедиться в достаточности оставленных файлов и работоспособности приложения.
Задание 2.2. Произвести резервное копирование основных файлов проекта OrlovProject на сетевой диск, выполнив действия:
1. На левой панели Total Commander открыть папку Kurs04c1Orlov локального диска, а на правой панели – папку с тем же именем сетевого диска.
2. На левой панели выделить основные файлы проекта с помощью следующей универсальной процедуры:
а) нажать на клавиатуре самую правую клавишу со знаком «+»;
б) в открывшемся окне заменить фильтр *.* для выделения всех файлов на фильтр *.bpr для выделения файла проекта;
в) нажать клавишу ENTER;
г) повторить пункты а), б) и в) для фильтров *.res, *.cpp, *.h и *.dfm, чтобы выделить все основные файла проекта.
3. Скопировать на сетевой диск выделенные файлы, нажав клавишу F5
Задание 2.3. Произвести восстановление проекта OrlovProject с сетевого диска, выполнив следующие действия:
1. На левой панели Total Commander открыть папку Kurs04c1Orlov локального диска и удалить все файлы проекта, включая и файлы резервных копий (с волной «~»), предварительно закрыв окно Builder C++.
2. На правой панели выделить все файлы проекта в папке Kurs04c1Orlov с сетевого диска.
3. Скопировать на локальный диск выделенные файлы, нажав клавишу F5.
4. Выполнить в окне Builder C++ команду Run/Run для контроля восстановления, предварительно открыв проект OrlovObject на локальном диске.
Задание 2.4. Создать на флешке с помощью Total Commander твердую копию всех файлов проекта OrlovObject, находящихся в папке Kurs04c1Orlov сетевого диска, и убедиться, что скопированное на флешку приложение успешно компилируется и запускается.
Задание 2.5. Выполнить следующие действия по открытию, модификации и настройке параметров проекта OrlovProject:
1. На локальном диске в групповой папке 04с1 создать временную папку Project1.
2. Запустить Builder C++ и сохранить в этой папке проект Project1 с помощью команды File/Save Project As, не меняя при этом ни имени модуля Unit1, ни имени проекта Project1.
3. С помощью команды File/Close All закрыть все файлы проекта Project1.
4. Открыть и проверить проект OrlovProject, находящийся на локальном диске, выполнив команды File/Open Project и Run/Run.
5. Закрыть проект OrlovProject с помощью команды File/Close All.
6. Открыть и проверить проект OrlovProject, выполнив команды File/Open и Run/Run.
7. Открыть модуль Unit1 из папки Project1 с помощью команды File/Open и убедиться, что этот модуль автоматически не включается в проект OrlovProject, наблюдая за ходом компиляции в диалоговом окне, появившемся после выполнения команды Run/Run.
8. Добавить модуль Unit1 в проект OrlovProject с помощью команды Project/Add To Project и выполнить команду Run/Run, чтобы убедиться в изменении состава файлов проекта OrlovProject.
9. Выполнить команду File/Close All и выяснить место сохранения модуля Unit1, включенного в проект OrlovProject.
10. С помощью команды View/Units открыть окно с модулем OrlovProject.bpr и проанализировать его содержание.
11. Удалить модуль Unit1 из проекта OrlovProject, выполнив команду Project/Remove From Project, а затем закрыть его с помощью команды File/Close.
12. Закрыть модуль OrlovMainUnit командой File/Close и убедиться с помощью команды Run/Run, что состав проекта не изменился.
13. Выполнить команду View/Units, в открывшемся окне выделить модуль OrlovMainUnit и нажать клавишу Enter, что приведет к повторному открытию окна этого модуля.
14. Нажать клавишу F12 для перехода на форму и вновь нажать эту клавишу для возврата в окно модуля.
15. Создать проект командой File/New Application, выполнить команду Run/Run для этого проекта и закрыть сначала окно приложения, а затем командой File/Close All закрыть и сам проект.
16. Создать проект командой File/New/Application, убедится, что он идентичен проекту, который создавался командой File/New Application, и закрыть сам проект.
17. Создать исполняемый файл проекта OrlovProject.exe на локальном диске сначала командой Project/Compile Project, которая компилирует только модифицированные модули проекта, а затем командой Project/Build Project, которая всегда компилирует все модули проекта.
18. Проверить работу приложения в пошаговом режиме, используя команды Run/Trace Into и Run/Step Over, а также Run/Run to Cursor.
19. Включить отладочные средства Evaluate/Modify, Add Watch, Add Breakpoint и более тщательно проверить работу приложения.
20. Удалить на локальном диске временную папку Project1.
Задание 2.6. Добавить в проект OrlovProject модули и формы, имена которых указаны в таблице 2.1, выполнив действия:
1. Открыть проект OrlovProject.
2. Создать новую форму командой File/New Form.
3. В окне Object Inspector задать следующие свойства этой формы:
Name = OrlovArrayForm;
Caption = Работа с массивами студента группы 04с1 Орлова К. С.
4. С помощью команды File/Save As сохранить модуль новой формы в папке Kurs04c1Orlov на локальном диске, задав для него имя OrlovArrayUnit.
5. На вкладке Form, открываемой командой Project/Options/Forms, сделать форму OrlovArrayForm главной, выбрав ее в списке MainForm.
6. Выполнить команду Run/Run и проверить работу приложения с главной формой OrlovArrayForm.
7. Сохранить проект OrlovProject, выполнив команду File/Save All.
8. Повторить пункты 2 7 для всех остальных строк в таблице 2.1.
9. Открыть все модули форм с помощью команды View/Units и расположить их на экране в порядке расположения строк в таблице 2.1.
10. Откройте форму OrlovMainForm, а затем форму OrlovTableForm и вновь форму OrlovMainForm.
11. Выполнить п. 10, используя команду View/Windows List.
12. С помощью команды Project/Options/Forms открыть вкладку Forms, сделать форму OrlovMainForm главной и переместить все остальные формы из списка Auto-create forms в список Available forms, т. е. из левого окна в правое окно.
13. Выполнить команду Run/Run.
14. Сохранить все файлы проекта командой File/Save All.
15. Закрыть проект командой File/Close All.
16. Сделать копию основных файлов проекта *.bpr, *.res, *.cpp, *.h и *.dfm в папке Kurs04c1Orlov_1_02_06, где цифры означают текущую дату.
17. Скопировать папку Kurs04c1Orlov с сетевого диска на флешку, заменив имя папки именем ее версии Kurs04c1Orlov_1_02_06, где цифры означают текущую дату.
Задание 2.7. Создать и включить в проект OrlovProject модуль для определения типов и переменных OrlovAllTypeUnit, выполнив следующие действия:
1. Запустить Delphi и открыть проект OrlovProject, находящийся в папке Kurs04c1Orlov локального диска.
2. С помощью команды File/New/Unit создать программный модуль и проанализировать его текст.
3. Сохранить модуль под именем OrlovAllTypeUnit в папке Kurs04c1Orlov локального диска, выполнив команду File/Save As.
4. Проверить работу приложения с помощью команды Run/Run и убедиться, что новый модуль компилируется.
5. Открыть проектный файл OrlovProject и познакомиться с его содержанием, отметив появление в нем ссылки на модуль OrlovAllTypeUnit и создание только одной главной формы в разделе Implementation.
6. Выполнить команды File/Save All и File/Close All.
7. Скопировать файлы OrlovProject.dpr и OrlovAllTypeUnit на сетевой диск.
Задание 2.8. Для главной формы OrlovMainForm приложения OrlovApplication создать меню типа MainMenu с элементами верхнего уровня, заданными в таблице 2.9, и командами, пример которых для элемента «Работа с массивами» задан в таблице 2.10, выполнив следующую последовательность действий:
1. Открыть проект OrlovProject на локальном диске.
2. Открыть форму OrlovMainForm.
3. Разместить в любом месте формы пиктограмму невидимой компоненты MainMenu, найдя ее на странице Standart палитры компонент (вверху окна Builder C++), и задать имя OrlovMainMenu.
4. Дважды щелкнуть левой клавишей мыши по пиктограмме для вызова конструктора, или редактора меню.
5. В открывшемся окне редактора меню построить элементы верхнего уровня, задавая в инспекторе объектов Object Inspector названия (Caption) и имена (Name), указанные в таблице 2.9, и перемещаясь по элементам меню с помощью мыши или клавиш со стрелками «вправо» и «влево».
6. Закрыть окно редактора меню и выполнить команду Run/ Run для проверки приложения.
7. Закрыть окно приложения OrlovApplication и выполнить команду File/Save All.
8. Дважды щелкнуть левой клавишей мыши по пиктограмме главного меню на форме OrlovMainForm.
9. Выделить элемент «Работа с массивами» и, перемещаясь вниз с помощью мыши или клавиши со стрелкой «вниз», построить команды этого элемента меню, задавая в окне Object Inspector названия (Caption) и имена (Name), указанные в таблице 2.10.
10. Повторить п. 9 для остальных элементов главного меню, кроме элемента «Справка», заменяя в именах команд ArrayForm на RecordForm, ClassForm, FileForm, GraphicForm и TableForm соответственно.
11. Для элемента «Справка» задать две команды: «Об авторе» с именем miAbout и «Пояснительная записка» с именем miOrlovNoteBook.
12. Выполнить команды File/Save All и Run/Run.
13. Скопировать основные файлы *.bpr, *.res, *.cpp, *.h и *.dfm проекта OrlovProject на сетевой диск.
Задание 2.9. Для одной из команд главного меню приложения OrlovApplication написать обработчик события OnClick, который выдавал бы на экран сообщение с помощью оператора ShowMessage, выполнив следующие действия:
1. Дважды щелкнуть левой клавишей мыши по пиктограмме главного меню на форме OrlovMainForm.
2. В окне редактора меню выделить команду, например, Работа с файлами/Открыть.
3. В окне Object Inspector открыть вкладку Events и дважды щелкнуть левой клавишей мыши по событию OnClick.
4. В заготовке обработчика события модуля главной формы написать оператор:
ShowMessage(‘Приложение выполнило команду Открыть’);
5. Выполнить команду Run/Run Builder C++;
6. Выполнить команду Работа с файлами/Открыть приложения OrlovApplication и закрыть приложение.
7. Удалить обработчик OnClick с помощью следующей последовательности действий:
а) удалить заголовок и процедуру обработчика в модуле OrlovMainUnit;
б) открыть окно редактора меню;
в) выделить команду Работа с файлами/Открыть;
г) в окне Object Inspector на вкладке Events удалить имя обработчика.
8. Закрыть окно редактора меню.
9. Выполнить команду Run/Run.
10. Убедится, что команда Работа с файлами/Открыть не работает.
11. Написать, проверить работу и удалить обработчики для команд Создать, Открыть, Скрыть, Закрыть, Удалить и Выход для элемента меню Работа с массивами.
Задание 2.10. Используя компоненты Panel и Label, создать на форме OrlovMainForm модель главного меню со всеми элементами верхнего уровня (см. таблицу 2.9) и со всеми командами этих элементов (см. таблицу 2.10), проверить работу и очистить форму.
Задание 2.11. Разместить на форме OrlovMainForm 6 горизонтальных панелей и установить на этих панелях компоненты из таблиц 2.2 2.8, проверить работу приложения и удалить все компоненты, очистив полностью форму.
Задание 2.12. Написать обработчики событий для ввода-вывода целых, вещественных и строковых значений, выполнив следующие шаги:
1. На форме OrlovMainForm установить две компоненты Edit с именами InEdit и OutEdit соответственно.
2. Очистить свойства Text и Caption этих компонент.
3. Над окном InEdit поместить метку «Для ввода», а над окном OutEdit – «Для вывода», используя для этих целей компоненту Label.
4. В разделе Var модуля OrlovMainUnit объявить три переменные:
int VarInt;
float VarFloat;
AnsiString VarStr;
5. На форме установить три кнопки типа Button с надписями Integer, Float и String, соответственно, которые задать с помощью свойства Caption.
6. Для кнопки Integer написать обработчик:
VarInt = StrToInt(InEdit->Text); //-ввод;
OutEdit->Text = IntToStr(VarInt); //-вывод;
7. Для кнопки Float написать обработчик:
VarFloat = StrToFloat(InEdit->Text); //-ввод;
OutEdit->Text = FloatToStr(VarFloat); //-вывод;
8. Для кнопки String написать обработчик:
VarStr = InEdit->Text.c_str();
OutEdit->Text = VarStr;
9. Выполнить команду Run/Run.
10. В окне ввода задать число 15, щелкнуть левой клавишей мыши по кнопке Integer и убедиться, что число 15 появилось в окне вывода.
11. Повторить пункт 9 для ввода числа 8.3 и строки «Orlov».
12. Очистить форму и удалить обработчики.