Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 79
Текст из файла (страница 79)
При необходимости соответствующие директивы разработчик может добавлять вручную. Далее следует описание классаформы (в нашем примере T F o r m l ) . В разделеp u b l i s h e d содержатся автоматические добавляемые объявления помещенных в форму компонентов( B u t t o n 1, L a b e l l и E d i t l ) и обработчиков событий для них ( B u t t o n 1 C l i c k ) .В разделах private (собственный) и public (общедоступный) разработчик может помещать свои объявления типов, переменных и функций. Кроме того,в разделе public находится автоматически включенный прототип конструктора формы ( f a s t c a l l T F o r m l ( T C o m p o n e n t * O w n e r ) ; ) . Объявления, размещенные в разделе private, доступны только в пределах данного модуля;объявления, размещенные в разделе p u b l i c , доступны для других классов имодулей. Далее размещено автоматически подключенное предложениеP A C K A G E , которое выходит за рамки нашего рассмотрения.Файл исходного кода формы, называемый также файлом реализации, содержит директивы препроцессора, объявления типов и переменных, а также исходный код обработчиков событий, которые определяют функциональность приложения.
Ф а й л реализации, к примеру, может иметь следующийвид:/ I. Borland С++ Builder377////Директивы препроцессора#include <vcl.h>#pragma hdrstop#include "Unitl .h"//#pragma package(smart_init)#pragma resource "*.dfm"/ / Объявление формы как объектаTForml *Form1;/// / Вызов конструктора формыfastcall TForm 1::TForm 1 (TComponent* Owner): TForm(Owner)}{/ / Место размещения объявлений типов/ / и переменых.описаний функцийц/ / Обработчик события нажатия кнопки Button 1void fastcall TForml::Button 1Click(TObject *Sender){Edit1->Text = "0";}//В начале файла реализации модуля формы содержатся автоматическивключаемые директивы препроцессора.
При необходимости разработчик может добавлять свои директивы препроцессора, к примеру, для подключениядругих модулей. В тело функции вызова конструктора формы можно добавлять операторы, реализуемые при создании формы. Впрочем, часто дляэтих целей создается обработчик события O n C r e a t e для формы.С++ Builder автоматически создает файлы модуля формы при добавленииновой формы.
По умолчанию к проекту добавляется новая форма типа TForm,не содержащая компонентов.При размещении в форме компонентов, а также при создании обработчиков событий в модуль формы вносятся соответствующие изменения. При этомчасть этих изменений С++ Builder выполняет автоматически, а часть пишетразработчик. Обычно все действия разработчика, связанные с программированием, выполняются именно в модулях форм.Тексты файлов модулей форм отображаются и редактируются с помощьюРедактора кода. Открыть файл модуля формы можно в стандартном окне открытия файла (команда F i l e \ O p e n ( Ф а й л \ О т к р ы т ь ) ) или в диалоговом окнеЧасть 3.
Современные378СУБД и ихприменениеоткрываемом командой V i e w \ U n i t s ( П р о с м о т р \ М о д у л и ) или нажатием комбинации клавиш < C t r l > + < F 1 2 > . В окне открытия файла модуляформы можно выбрать также файл проекта. После выбора нужного модуля(или проекта) и нажатия кнопки ОК его текст появляется на отдельной странице Редактора кода.Если выбран модуль формы, то в окне Редактора кода первоначально отображается содержимое файла реализации формы (например, Unit 1.срр). Чтобы перейти к отображению содержимого заголовочного файла этого же модуля формы, достаточно в нижней части окна Редактора кода выбрать вкладкус названием U n i t 1 .h (см. рис.
11.5).Отметим, что ф а й л ы каждой формы (представления и модуля) имеют одинаковые имена, отличные от имени файла проекта.V i e w Unit,g Unit 1.сррГЛпТх1|Unit1.hUnit2.cppjftifndefUnitlH«define/ /UnitlH#inc lude<C l a 3 s e s . h p p >#include<Cijnt.roIs .
hpp;#include<StdCtrIs.hpp:# i n c 1 ude/ /< F о r i t i s . h p p>17:" 63j Modified[insert|\UnitlTcpp\Unit1 .h/i^ram7~Рис. 11.5. Вид заголовочного файла модуля формы в окне Редактора кодаФайлымодулейКроме модулей в составе форм, при программировании можно использовать и отдельные модули, не связанные с какой-либо формой. Они оформляются по обычным правилам языка С + + и сохраняются в отдельных файл а х . Д л я п о д к л ю ч е н и я м о д у л я его и м я у к а з ы в а е т с я в д и р е к т и в епрепроцессора #include того модуля или проекта, который использует средства этого модуля.В отдельном модуле можно и полезно размещать процедуры, функции,константы и переменные, общие для нескольких модулей проекта./ I.
Borland С++ Builder379ФайлресурсовПри первом сохранении проекта автоматически создается файл ресурсов(расширение .res) с именем, совпадающим с именем файла проекта. Ф а й лресурсов может содержать следующие ресурсы:• значки;• растровые изображения;• курсоры.Перечисленные компоненты являются ресурсами Windows, поскольку ониразработаны и интерпретируются в соответствии со стандартами этой операционной системы.Первоначально файл ресурсов содержит значок проекта, которым по умолчанию является изображение факела.
В дальнейшем его можно изменить илизаменить.Д л я работы с файлами ресурсов в состав С++ Builder включен графический редактор Image Editor версии 3.0, вызываемый командой T o o l s \ l m a g eEditor ( С р е д с т в а х Р е д а к т о ризображений).Ф а й л ресурсов имеет иерархическую структуру, в которой ресурсы разбиты на группы, и каждый ресурс имеет уникальное в пределах группы имя.И м я ресурса задается при его создании и в последующем используется в приложении для доступа к этому ресурсу. Значок проекта находи тся в группе I c o nи по умолчанию имеет имя M A I N I C O N .Кроме файла с расширением res, объединяющего несколько ресурсов, редактор Image Editor также позволяет работать с файлами, содержащими следующие ресурсы (в скобках указано расширение имени файла):• значки компонентов (dcr);• растровые изображения (bmp);• значки приложений (ico);• курсоры (сиг).ПараметрыпроектаД л я установки параметров проекта используется окно параметров проекта (Project Options), открываемое командой P r o j e c t \ O p t i o n s ( П р о е к т \ П а р а м е т р ы ) или нажатием комбинации клавиш < S h i f t > + < C t r l > + < F l 1>.
Параметры разбиты на группы, каждая из которых располагается в окне параметровпроекта на своей странице (рис. 11.6).После установки отдельных параметров С + + Builder автоматически вносит нужные изменения в соответствующие ф а й л ы проекта. Так, параметрыиз страниц Forms и Application вносятся в ф а й л ы проекта и ресурсов, а параметры из страниц Compiler и Linker — в ф а й л параметров проекта.Ниже для примера приводятся фрагменты файла параметров проекта.<IDEOPTIONS>[Version Info]Часть 3. Современные СУБД и их применение380lncludeVerlnfo=0DLL=0Locale=1049CodePage=1251[Debugging]DebugSourceDirs=$(BCB)\source\vcl[Parameters]RunParams=Launcher=Usel_auncher=0[Compiler]ShowlnfoMsgs=0LinkDebugVcl=0LinkCGLIB=0P r o j e c t O p t i o n s for P r o j e c t l .
e H e1Version Info j Packages J Tasmj CORBA j CodeGuardPascal jLinker j Advanced Linker ]Directories/ConditionalsForms j Application | Compiler J Advanced CompilerС++Member pointers— — ~~ Templates —Г External( • A l l casesС Multiple inheritanceС Single inheritanceС SmallestГ______p Enable RTTIP7 Enable exceptionsГ Location informationJ7 Destructor cleanupГ Fast exception prologs 1Honor member precisionГ fion't restrict for loop scopeVirtual tables — ~D ont mangle £ode modifiers• General—r-—" Exception handlingг - Compatibility —Г™-f 7 gero length empty base classes(7 Zero length empty class members—(• SmaitС ExternalС LocalС public- Compile mode—Г* Force С++compileOKCancelРис.
11.6. Окно параметров проектаHelp/ I. Borland С++ Builder381Как видим, файл параметров проекта представляет собой текстовый файл,в котором построчно записаны параметры и их значения.1 1 . 3 . Компиляция и выполнение проектаВ процессе компиляции проекта создается готовый к использованию файл,которым может быть приложение (расширение ехе) или динамически загружаемая библиотека (расширение dll). Как говорилось выше, мы будем рассматривать только приложения.
Имя приложения, получаемого в результате компиляции, совпадает с именем файла проекта, а само приложение является автономными не требует для своей работы дополнительных файлов С++ Builder.Замечания.Если в процессе выполнения приложения динамически используются другие файлы, например, изображения или файлы справки, то эти файлы должны быть в наличии.При создании приложений, работающих с базами данных, необходимыфайлы, составляющие базу данных, а также процессор баз данных.Компиляция выполняется вызовом команды P r o j e c t \ C o m p i l e < P r o j e c t 1 >( П р о е к т \ К о м п и л и р о в а т ь < П р о е к т 1 > ) или нажатием комбинации клавиш<Ctrl>+<F9>.В команде содержится имя проекта, разработка которого осуществляетсяв настоящий момент (первоначально Project 1).