{$R *.dfm}
end.
Файл модуля формы создается Delphi автоматически при добавлении новой формы. По умолчанию к проекту добавляется новая форма типа TForm, не содержащая компонентов
В разделе interface модуля формы содержится описание класса формы, а в разделе implementation – подключение к модулю директивой $R визуального описания соответствующей формы. При размещении на форме компонентов, а также при создании обработчиков событий в модуль формы вносятся соответствующие изменения.
Кроме модулей в составе форм при программировании можно использовать и отдельные модули, не связанные с какой-либо формой. Они оформляются по обычным правилам языка Object Pascal и сохраняются в отдельных файлах. Для подключения модуля его имя указывается в разделе uses того модуля или проекта, который использует средства этого модуля.
Файл параметров проекта (.dof) представляет собой текстовый файл, в котором построчно располагаются параметры проекта, установленные в окне параметров проекта (Project Options).
Файл ресурсов (.res) может содержать пиктограммы, растровые изображения ил курсоры. Первоначально данный файл содержит пиктограмму проекта. В дальнейшем ее можно изменить.
Организация проекта в C++ Builder
Проект C++ Builder состоит из следующих файлов:
файл проекта (.bpr);
файл описания формы (.dfm).
модули формы (.cpp, .h);
дополнительные модули (.cpp, .h)
файлы ресурсов (.res).
Основной файл проекта – файл реализация модуля формы .cpp, в котором хранится код, соответствующей данной форме. В текстовом заголовочном файле .h хранится объявления класса формы. Весь основной текст этого файла формируется автоматически по мере проектирования приложения. Но иногда требуется вручную добавлять объявления каких-то своих функций, типов или переменных.
В процессе компиляции проекта создается готовый к использованию файл, которым может быть приложение (.exe) или динамически загружаемая библиотека (.dll). Имя приложения, получаемого в результате компиляции, совпадает с именем файла проекта, а само приложение является автономным и не требует для своей работы дополнительных файлов. Если в процессе выполнения приложения динамически используются другие файлы, например, изображения или файлы помощи, то эти файлы должны находиться по пути, указанному в исходной программе. Если приложение работает с базами данных, то необходимы файлы, составляющие базу данных, а также процессор баз данных.
Компиляция
выполняется вызовом команды Project
/ Compile (нажатием клавиши F9 или
щелчком на значке Run
на панели инструментов).
Компиляция проекта для получения приложения может быть произведена на любой стадии разработки проекта. Это удобно для проверки вида и правильности функционирования отдельных компонентов формы, а также для тестирования фрагментов создаваемого кода. При компиляции проекта выполняются следующие действия:
компилируются файлы всех модулей, содержимое которых изменилось со времени последней компиляции. В результате для каждого файла с исходным текстом модуля создается файл с расширением .dcu;
если в модуль были внесены изменения, то перекомпилируется не только этот модуль, но и модули, использующие его с помощью директивы uses;
после компиляции всех модулей проекта компилируется файл проекта и создается исполняемый файл приложения с именем файла проекта.
Запущенное в среде приложение работает так же, как и запущенное вне ее, однако имеются некоторые особенности:
нельзя запустить вторую копию приложения;
продолжить разработку проекта можно только после завершения работы приложения;
при зацикливании (зависании) приложения его завершение необходимо выполнять средствами Delphi или C++ Builder с помощью команды Run / Program reset.
Помимо компиляции может быть выполнена также компоновка проекта. При этом компилируются все файлы, входящие в проект, независимо от того, были в них внесены изменения или нет. Для компоновки проекта используется команда меню Project / Build.
Общие указания по выполнению лабораторной работы
Цель работы
Изучение основных свойств простейших компонентов визуальных сред, принципов работы с ними на этапе проектирования приложения и в ходе выполнения программы.
Используемое оборудование и программное обеспечение
Для выполнения лабораторной работы требуется ПЭВМ типа IBM PC с ОС Windows 2000 и выше, среда разработки Borland Delphi 7 или Borland C++ Builder.
Домашнее задание и методические указания по его выполнению
Палитра компонентов
Для создания интерфейса приложений системы Delphi и C++ Builder предлагают обширный набор визуальных компонентов, основные из которых располагаются на страницах Standard, Additional и Win32 Палитры компонентов. Их называют стандартными, дополнительными и 32-разрядными компонентами, соответственно. Такое деление компонентов исходит скорее из названия страниц, чем из их функционального назначения или важности, поскольку грань, например, между стандартными и дополнительными управляющими элементами довольно нечеткая.
Для всех компонентов базовым является класс TControl. Он обеспечивает основные функциональные атрибуты, такие как положение и размеры элемента, его заголовок, цвет и другие параметры.
В табл. 1 перечислены компоненты страницы Standard.
Пикто-грамма |
Название компонента |
|
Frame – фрейм |
|
MainMenu – главное меню |
|
PopupMenu – всплывающее контекстное меню |
|
Label – надпись |
|
Edit – строка ввода |
|
Memo – многострочное поле ввода |
|
Button – стандартная кнопка |
|
CheckBox – независимый переключатель |
|
RadioButton – зависимый переключатель |
|
ListBox – список |
|
ComboBox – поле со списком |
|
ScrollBar – полоса прокрутки |
|
GroupBox – панель для группировки объектов |
|
RadioGroup – группа зависимых переключателей |
|
Panel – панель |
|
ActionList – список действий |
Компонент
Lable
,
называемый также меткой (рис. 3), чаще
всего используется в качестве заголовков
для других управляющих элементов. Этот
компонент представляет собой простой
текст, который не может быть отредактирован
пользователем при выполнении программы.
Основным свойством компонента Label является свойство Caption, в котором хранится текст, отображаемый меткой.
Текст метки, так же как и многие другие свойства, можно установить на этапе разработки программы с помощью инспектора объектов (рис. 4).
Присвоить текст компоненту во время работы программы можно следующим образом:
Label1.Caption := ‘Новый текст’; //Object Pascal
Label1->Caption = " Новый текст "; // C++
Рассмотрим другие свойства данного компонента.
Для управления автоматической коррекцией размеров компонента Label в зависимости от текста надписи служит свойство AutoSize типа boolean. Если свойство имеет значение true (по умолчанию), то компонент Label изменяет свои размеры соответственно содержащемуся в нем тексту, заданному в свойстве Caption.
Способ выравнивания текста внутри компонента Label задает свойство Alignment, которое может принимать одно из следующих значений:
taLeftJustify – выравнивание по левому краю;
taCenter – центрирование текста;
taRightJustify – выравнивание по правому краю.
Управлять автоматическим переносом слов, не умещающихся по ширине, на другую строку можно с помощью свойства WordWrap. Чтобы обеспечить перенос слов на следующую строку, нужно установить значение этого свойства в true. По умолчанию свойство WordWrap имеет значение false, и перенос текста не происходит.
Разнообразить вид надписи можно с помощью свойства Font, которое позволяет установить цвет надписи, ее шрифт, размер и т.д.
Надпись может быть прозрачной или залитой цветом, что определяется свойством Transparent типа boolean. Цвет заливки устанавливается свойством Color. По умолчанию свойство Transparent имеет значение false, и надпись непрозрачна. Прозрачный компонент Label может понадобиться в случаях, когда надпись размещается поверх рисунка и не должна закрывать изображение.
Ввод и редактирование информации выполняется в специальных полях или областях формы. При необходимости пользователь может изменить отображаемые данные. Для этих целей Delphi предлагает различные компоненты, например, Edit, MaskEdit, Memo, RichEdit и LabeledEdit.
Рассмотрим однострочные редакторы, наиболее часто из которых используется компонент Edit.
Компонент
Edit
(рис. 5) позволяет вводить и редактировать
с клавиатуры различные символы, при
этом поддерживаются такие операции,
как перемещение по строке с использованием
клавиш управления курсором, удаление
символов с помощью клавиш <BackSpace> и
<Delete>, выделение части текста,
копирование выделенного текста в буфер
обмена и вставка из него, отмена последней
команды редактирование и т.д.