Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы_C++Builder_часть_1_версия_4

.pdf
Скачиваний:
120
Добавлен:
29.02.2016
Размер:
715.35 Кб
Скачать

11

2.3 Интерфейс С++Builder версий 2007 и 2009

Начиная с версии С++Builder 2006 интерфейс среды приобрел значительные изменения. Все элементы среду размещаются внутри единого окна с использованием настраиваемых инструментальных панелей. Окно системы С++Builder 2009 показано на рисунке 2.4.

Рисунок 2.4 − Общий вид интерфейса С++Builder 2009

Состав стандартных библиотек Палитры компонентов среды реализован в виде настраиваемого меню в правой нижней части окна, в окне Инструментальной палитры (Tool Palette), показанного на рисунке 2.5.

12

Рисунок 2.5 – Вид Палитры компонентов в среде C++Builder 2009

2.4 Состав Палитры компонентов

Палитра компонентов содержит стандартные библиотеки визуальных (допускаются и невизуальные) компонентов Visual Component Library (VCL). Ее состав формируется с помощью раздела Component из системного меню. Стандартная минимальная настройка среды C++Builder версии 6.0 содержит следующие страницы на панели инструментов:

1)Standard - включает стандартные элементы пользовательского интерфейса окон Windows: главное меню, всплывающее меню, текстовую надпись, однострочный редактор, многострочный текстовый редактор, кнопку, маркер, переключатель, прокручиваемый список, выпадающий список, полосу прокрутки, группы компонентов и переключателей, рамку;

2)Additional - включает дополнительные элементы пользовательского интерфейса: кнопку с картинкой, кнопку панели инструментов, маскируемый строчный редактор, текстовую таблицу, таблицу графических объектов, рисунок, геометрическую фигуру, рельефный элемент, зону прокрутки, выпадающий список с маркерами и график функции;

3)Win32 – набор элементов пользовательского интерфейса ОС

Windows XP/Vista/7;

4) System – набор компонентов системных операций (таймер, плееры и

др.);

5) Data Access - включает элементы систем управления базами данных. В C++Builder 6 большинство компонентов перенесено с нее на страницу BDE;

13

6)Data Controls − включает элементы управления, редактирования, отображения, ввода и вывода данных из базы данных;

7)dbExpress – компоненты для связи с данными с помощью dbExpress (начиная с С++Вuilder 6);

8)BDE − доступ к базам данных через Borland Database Engine (BDE), введен в C++Builder 6;

9)ADO или dbGo (начиная с C++Builder 2006) – связь с базами данных через Active Data Objects (ADO) – множество компонентов ActiveX;

10)InterBase - включает набор компонентов доступа данных, которые обеспечивают средство доступа к базе данных среды InterBase;

11)InterBase Admin − компоненты доступа к службам InterBase;

12)Internet Express – построение приложений Internet Express – одновременно приложений сервера Web и клиента баз данных с параллельными потоками;

13)Internet − содержит компоненты для работы с ресурсами глобальной сети;

14)FastNet – различные протоколы доступа к сети Интернет;

15)Decision Cube – позволяет представлять данные в кубическом виде для многомерного анализа данных;

16)QReports – формирует отчеты баз данных (отсутствует после версии

C++Builder 2006);

17) Rave − компоненты для подготовки отчетов (начиная с C++Builder 2006);

18)Dialogs – содержит стандартные диалоговые окна для работы с именами файлов, шрифтов, выбора палитры и принтера, печати;

19)Win 3.1 – компоненты в стиле Windows 3.1;

20)Vision Cube - компоненты для многомерного анализа данных (отсутствует после версии C++Builder 2006);

21)Samples – набор готовых примеров приложений;

22)ActiveX – примеры компонентов ActiveX;

23)WebService – компоненты клиентских приложений Web, использующие доступ к службам с помощью SOAP (начиная с C++Builder 6);

24)Internet – компоненты для создания серверов Web;

25)WebSnap – компоненты для создания серверов Web cо сложными страницами, управляемые данными (начиная с версии 6.0);

26)FastNet – различные протоколы доступа к ресурсам Internet (начиная с версии 6.0);

27)Office2k, или OfficeXP, или Office97 – компоненты-оболочки VCL

для серверов СОМ офисных приложений Microsoft (начиная с C++Builder 5, но они размещались в Servers);

28)COM+ − компонент доступа к каталогу COM+ с данными по конфигурации технологии COM+;

14

29) IW Standard − компоненты форм приложений IntraWeb (начиная с версии C++Builder 2006);

30)IW Control − управляющие компоненты приложений IntraWeb (начиная с C++Builder 2006);

31)IW Standard 3.2 − дополнительный набор компонентов IntraWeb (начиная с C++Builder 2006);

32)IW WAP − компоненты приложений IntraWeb, использующие стандартный протокол WAP для связи в Интернете (телефоны, пейджеры и т.п.), введена начиная c C++Builder 2006;

33)IW Data − компоненты доступа к данным приложений IntraWeb (начиная с C++Builder 2006);

34)IW Data 3.2 − дополнительный набор компонентов доступа к данным приложений IntraWeb (начиная с C++Builder 2006);

35)IW Data WAP − компоненты доступа к базам данных приложений IntraWeb, использующие протокол WAP для связи в Интернете (начиная с

C++Builder 2006);

36)IndyClients − компоненты клиентских приложений Internet Direct (Indy), дающих доступ к протоколам Интернета (начиная с C++Builder 6);

37)IndyServers − компоненты серверных приложений Internet Direct (Indy) (начиная с C++Builder 6);

38)Indy I/O Handlers − вспомогательные компоненты приложений

Internet Direct (начиная с C++Builder 2006);

39)Indy Intercepts − вспомогательные компоненты приложений Internet Direct (начиная с C++Builder 2006);

40)Indy Misk − вспомогательные компоненты приложений Internet Direct (начиная с C++Builder 2006);

41)Indy SASL − компоненты поддержки Simple Authentication and Security Layer (SASL) в приложениях Indy (начиная с C++Builder 2006).

2.4.1Состав страницы Standard.

Рисунок 2.6 – Состав страницы Standard С++Builder версий 5 и 6

В составе страницы (рисунок 2.6) имеются следующие визуальные компоненты:

1)Frames – фреймы;

2)MainMenu – главное (системное) меню приложения;

3)PopupMenu – всплывающее меню;

4)Label – текстовая надпись;

5)Edit – однострочный редактор текста;

6)Memo – многострочный редактор текста;

7)Button – кнопка с меткой;

15

8)CheckBox – независимый логический двухпозиционный переключатель;

9)RadioButton − зависимый логический точечный переключатель для выбора пункта из списка;

10)ListBox – текстовый список;

11)ComboBox – однострочный редактор с выпадающим списком;

12)ScrollBar – полоса прокрутки;

13)GroupBox – группа связанных управляющих элементов;

14)RadioGroup – группа зависимых переключателей;

15)Panel – рельефная панель для управляющих элементов;

16)ActionList – поддержка списка действий, используемых с компонентами кнопок и разделов меню.

2.4.2Состав страницы Additional.

Рисунок 2.7 – Вид страницы Additional С++Builder версий 5 и 6

На странице (рисунок 2.7) размещаются следующие компоненты:

1)BitBtn – кнопка с пиктограммой;

2)SpeedButton – кнопка для создания панели инструментов;

3)MaskEdit – однострочный редактор текста с шаблоном;

4)StringGrid – таблица строк текста;

5)DrawGrid – таблица рисунков;

6)Image – графическая растровая вставка;

7)Shape – векторная графическая фигура;

8)Bevel – рельефный эффект (бордюры и канавки);

9)ScrollBox – область с прокруткой (скролингом);

10)CheckListBox – список переключателей;

11)Splitter – расщепитель;

12)StaticText – неизменная текстовая надпись;

13)ControlBar – строка состояния (статуса);

14)Chart – графики и диаграммы.

2.4.3Состав страницы Win32.

Рисунок 2.8 – Вид страницы Win32 С++Builder версий 5 и 6

Состав библиотеки Win32, показанной на рисунке 2.8:

1)TabControl – панель с закладками;

2)PageControl – панель страниц с различными наборами компонентов;

3)ImageList – набор пиктограмм;

16

4)RichEdit – текстовый редактор;

5)TaskBar – панель ручного задания параметра с помощью ползунка;

6)ProgressBar – индикатор процента выполнения задачи;

7)UpDown – кнопки увеличения-уменьшения численного значения параметра;

8)HotKey – горячая клавиша;

9)Animate – анимация;

10)DateTimePicker – часы-календарь;

11)MonthCalendar – календарь;

12)TreeView – просмотр дерева;

13)ListView – просмотр списка в стиле проводника Windows;

14)HeaderControl – панель с заголовками для некоторых кнопок;

15)StatusBar – панель состояния (статуса) приложения;

16)ToolBar – панель с кнопками инструментов;

17)CoolBar – дополнительная панель;

18)PageScroller – прокрутка закладок.

2.4.4Состав страницы System.

Рисунок 2.9 – Состав страницы System С++Builder версий 5 и 6

В состав библиотеки System (рисунок 2.9) включаются следующие компоненты:

1)Timer − таймер для отсчета временных интервалов;

2)PaintBox – графический растровый редактор;

3)Mediaplayer – проигрыватель файлов мультимедиа;

4)OLE Container – вставка OLE объекта.

2.4.5Состав страницы Dialogs.

Рисунок 2.10 − Состав компонентов библиотеки Dialogs С++Builder версий 5 и 6

В составе библиотеки (рисунок 2.10) имеются следующие компоненты:

1)OpenDialog – вызов диалогового окна открытия внешнего файла;

2)SaveDialog – окно диалога ввода имени файла сохранения данных;

3)OpenPictureDialog − окно диалога открытия графического файла;

4)SavePictureDialog − вызов диалогового окна для ввода имени файла при сохранении графических данных;

5)FontDialog – вызов окна диалога установки параметров шрифта;

6)ColorDialog – вызов диалогового окна выбора палитры цвета;

7)PrintDialog – вызов диалогового окна вывода на принтер;

8)PrinterSetupDialog − вызов диалогового окна настроек печати;

9)FindDialog – вывод диалогового окна для поиска данных;

17

10) ReplaseDialog – диалоговое окно для замены текстовых данных.

2.5 Инструменты и утилиты С++Builder

Графический редактор вызывается выбором пункта меню Tools/Image Editor. Он используется для создания файлов с рисунками и ярлыков приложений (пиктограмм).

В дополнение к инструментам, обсуждавшимся выше, существуют инструментальные средства, поставляемые с C++Builder:

- редактор баз данных формата Paradox, dBase, SQL - Database

Desktop;

- интегрированная утилита редактирования баз данных – Database

Explorer;

- утилита конфигурирования СУБД Borland Database Engine - BDE Configuration;

-Report Smith – генератор отчетов по базе данных;

-Local InterBase Server – локальная версия СУБД InterBase;

-утилита создания и выполнения SQL-запросов;

-встроенный и внешний отладчики приложения, позволяющие пройти пошагово по исходному тексту программы, выполняя по одной строке за раз,

иоткрыть просмотровое окно (Watch), в котором будут отражаться текущие значения переменных программы;

-компилятор командной строки – bcc32.exe;

-утилита WinSight32 для отслеживания сообщений Windows с целью наблюдения за системой сообщений Windows. Почти все события в среде Windows принимают форму сообщений. С++Builder дает полный доступ к сообщениям Windows и позволяет отвечать на них.

C++Builder в своем составе имеет интерактивные обучающие программы из меню Help/Interactive Tutors.

3Проект программы-приложения в среде C++Builder

3.1Общая структура проекта

Проект C++ включает следующие файлы:

головной cpp-файл проекта, по умолчанию Project1.cpp;

файл проекта с расширением bpr, выполненный на языке XML, используется только в версиях C++Builder до 2006;

заголовочные h-файлы модулей форм с описанием класса формы;

cpp-файлы реализации модулей форм с описанием обработчиков

18

событий;

dfm-файлы описания ресурсов использованных форм;

res − файл ресурсов проекта с пиктограммами, курсорами и т.п.;

hpp − файл с описанием нового компонента;

bpg – текстовый файл группы проектов;

bpl – двоичный файл для работы с пакетами;

bpk − двоичный файл компиляции пакетов;

tds –

двоичный файл таблицы символов, используемый отладчиком

проекта;

 

 

obj −

откомпилированные файлы модулей проекта;

exe – исполняемый файл приложения, имя которого совпадает с головным файлом проекта;

hpp – файлы новых компонентов пользователя в проекте;

bpg, или bdsgroup, или groupprof – файл группы проектов;

bpl и bpk – файлы пакетов проекта и компиляции пакета;

ilc, ild, ilf и ils - файлы выборочной компоновки, позволяющие компилировать только измененные файлы модулей;

dsk − текстовый файл с информацией о параметрах среды в последнем сеансе работы с проектом;

пиктограмму (ярлык) приложения – графический файл с расширением ico;

hlp − файл справочника приложения;

~cpp, ~h, ~dfm− файлы резервных копий предыдущих вариантов;

дополнительные файлы.

3.2 Структура головного файла проекта

C++Builder автоматически генерирует текст головного файла проекта, в который помещается функция WinMain (для приложений Windows). Изменять текст головного файла самостоятельно допускается только в отдельных случаях.

В начале головного файла проекта выполняется автоматическое подключения всех программных ресурсов приложения: заголовочных файлов (с помощью директивы #include), файлов ресурсов (функцией USERES), модулей форм (функцией USEFORM) и простых модулей проекта (функцией

USEUNIT).

Внутри защищенной секции тела функции WinMain выполняется инициализация данных формы (методом Application->Initialize) и создание автоматически генерируемых форм приложения вызовом встроенного в класс приложения Application метода CreateForm. В разделе cath тела WinMain определение собственной обработки исключительных ситуаций. Ниже показывается пример текста головного

19

файла с тремя формами. В конце тела WinMain вызывается оператор return, закрывающий приложение кодом успешного завершения 0.

#include <vcl.h>

 

 

#pragma hdrstop

 

 

USERES("Project16.res");

// Подключение ресурсов

USEFORM("mainform.cpp", FormMain);

// Подключение формы

USEFORM("UnitGraph.cpp", FormGraph);

// Подключение формы

USEUNIT("data.cpp");

 

// Подключение модуля

//---------------------------

 

 

Главная функция --------------

WINAPI WinMain(HINSTANCE,

// первый дескриптор приложения

 

HINSTANCE,

// второй дескриптор приложения

 

LPSTR,

// указатель на строку параметров

 

int)

 

 

 

{ try

 

// защищенная секция

{ Application->Initialize();

// Инициализация данных

Application->CreateForm(__classid(TFormMain),&FormMain);

Application->CreateForm(__classid(TFormGraph),

&FormGraph); // форм

 

 

 

 

Application->Run(); // Запуск приложения

} // конец защищенной секции

 

catch (Exception &exception)

// обработка исключений

{ Application->ShowException(&exception); // обработка

} // конец секции обработки исключений

return 0; // возвращение кода успешного завершения

}

// конец главной функции

3.3 Общая структура модулей форм

Заголовочный файл в общем случае содержит описания класса формы, внутри которого автоматически объявлены все используемые визуальные компоненты и отмеченные пользователем события. Структура этого файла аналогична заголовочному файлу для языка программирования С++. Внутри файла реализации модуля имеется пустой конструктор формы, после которого описываются обработчики событий компонентов формы.

Пример заголовочного файла модуля:

#ifndef Unit1H

 

#define Unit1H

 

#include <Classes.hpp>

// подключение модулей среды

#include <Controls.hpp>

 

#include <StdCtrls.hpp>

 

#include <Forms.hpp>

 

//----------------------------------------------------

 

class TForm1 : public TForm

// описание класса формы

20

{__published: // Секция визуальных компонентов

// Объявление полей-компонентов

void __fastcall Button1Click(TObject *Sender);

private:

//

защищенная секция пользователя

public:

//

открытая секция пользователя

__fastcall TForm1(TComponent* Owner); };//------------------

extern PACKAGE TForm1 *Form1;

#endif // Конец заголовочного файла

Описание событий производится программистом для соответствующих функций членов класса формы в cpp-файле модуля

#include "Unit1.h"

#pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1;

//------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

// конструктор формы

{

 

}//---------------------------------------------------

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form1->Close();

// закрытие формы

}//

--------------------------------------------------

 

3.4 Задание параметров приложения

Задание параметров приложения производится с помощью раздела главного меню Project/Options (Ctrl+Shift+F11). При этом вызывается диалоговое окно настроек, показанное на рисунке 3.1.

На странице Application задаются параметры приложения в полях:

1)Title – строка для задания заголовка приложения;

2)Help – имя файла справки приложения;

3)ico – пиктограмма приложения;

4)Target file extension – тип расширения приложения (exe - по умолчанию).

На странице Version Info указывается информация о версии приложения: номера (версии, модификации, реализации и сборки), наименование фирмы-разработчика и описание.