Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 79
Текст из файла (страница 79)
Современные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).
При сохранении проекта поддругим именем соответственно должно быть изменено и имя проекта в команде меню.Скомпилировать проект для получения приложения можно на любой стадии разработки проекта. Это удобно для проверки вида и правильности функционирования отдельных компонентов формы, а также для тестированияфрагментов создаваемого кода. При компиляции проекта выполняются действия, приведенные ниже.• Компилируются файлы всех модулей, содержимое которых изменилосьсо времени последней компиляции. Если исходный текст модуля по каким-либо причинам недоступен компилятору, то он не перекомпилируется.• Если в модуль были внесены изменения, то перекомпилируется не только этот модуль, но и модули, использующие его с помощью директивыпрепроцессора #include.• Перекомпиляция модуля происходит также при изменениях объектного файла (расширение obj) или подключаемого файла, используемых данным модулем.382Часть 3.
Современные СУБД и их применение• После компиляции всех модулей проекта компилируется файл проектаи создается исполняемый файч приложения с именем файла проекта.Помимо компиляции, может быть выполнена также сборка проекта. Присборке компилируются все файлы, входящие в проект, независимо от того,были в них внесены изменения или нет.
Для сборки проекта предназначенакоманда P r o j e c t \ B u i l d < P r o j e c t 1 > ( П р о е к т \ С о б р а т ь < П р о е к т 1 > ) .Запустить проект на выполнение можно как в среде С++ Builder, так и всреде Windows.Выполнение проекта в среде С + + Builder осуществляется командойR u n \ R u n или нажатием клавиши <F9>. При этом созданное приложение начинает свою работу. Если в файлы проекта вносились изменения, то предварительно выполняется компиляция проекта.С помощью команды R u n \ M a k e задается компиляция и сборка проектабез немедленного выполнения приложения (полученного файла с расширением .ехе).
По существу именно последним (отсутствием запуска приложения) и отличается действие команды M a k e от команды R u n .Запущенное приложение работает так же, как и запущенное вне среды С++Builder, однако имеются некоторые особенности:• нельзя запустить вторую копию приложения;• продолжить разработку проекта можно только после завершения работы приложения;• при зацикливании (зависании) приложения его завершение необходимо в ы п о л н я т ь с р е д с т в а м и С + + B u i l d e r с п о м о щ ь ю к о м а н д ыRun\Program Reset (Выполнение\Перезапуск п р о г р а м м ы ) и л и ком-бинации клавиш < C t r l > + < F 2 > .Для отладки приложений в среде С++ Builder можно использовать средства отладчика. В среде Windows созданное приложение можно запустить, каклюбое другое приложение, например, с помощью Проводника.1 1 .
4 . Разработка п р и л о ж е н и яС++ Builder относится к системам визуального программирования, называемым также системами RAD (Rapid Application Development, быстрая разработка приложений). Разработка приложения в С++ Builder включает двавзаимосвязанных этапа:• создание пользовательского интерфейса приложения;• определение функциональности приложения.Пользовательский интерфейс приложения определяет способ взаимодействияпользователя и приложения, т. е. внешний вид формы (форм) при выполненииприложения и то, каким образом пользователь управляет приложением. Интер-/ I. Borland С++ Builder383фейс конструируется путем размещения в форме компонентов, называемых интерфейсными компонентами или элемегипами управления.
Создается пользовательский интерфейс приложения с помощью окна Ф о р м ы , которое в среде разработки представляет собой модель формы времени выполнения.Ф у н к ц и о н а л ь н о с т ь п р и л о ж е н и я о п р е д е л я е т с я п р о ц е д у р а м и , к о т о р ы е ВЫ-ПОЛНЯЮТСЯ при возникновении определенных событий, например, происходящих при действиях пользователя с элементами управления формы.Таким образом, в процессе разработки приложения в форму помещаютсякомпоненты, для них устанавливаются необходимые свойства и создаютсяобработчики событий.ПримерпростейшегоприложенияСоздадим для примера простейшее приложение.