Borland c builder реферат

Обновлено: 28.06.2024

C++ Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель (слева) и палитру компонентов (справа). Помимо этого, по умолчанию при запуске C++ Builder появляются окно инспектора объектов (слева) и форма нового приложения (справа). Под окном формы приложения находится окно редактора кода.

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

Компоненты C++ Builder

Компоненты разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows и др.)

Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.

Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.

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

Свойства компонентов

Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.

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

События

Для того чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке значений рядом с событием, чтобы заставить C++ Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок < . >. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.

Методы

Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->, например:

Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.

Цель работы: Изучение способов создания и управления потоками в программах, разрабатываемых в среде Borland C++ Builder. Изучение и использование методов взаимодействия потоков и визуальных компонентов библиотеки VCL.

Методические указания:

С использованием среды визуального программирования Borland C++ Builder разработать и отладить многопоточное приложение, в котором необходимо предусмотреть следующее:

а) создать 3 вторичных объекта-потока, производных от класса TThread (1-й поток должен быть в запущенном состоянии, 2-й и 3-й – в приостановленном состоянии). В каждом из потоков описать функции вывода информации на соответствующие формы. Вызов этих функций будет производиться из метода Execute() соответствующего потока в бесконечном цикле, с помощью функции Synchronize() с периодичностью (задержкой) 0,1 сек;

б) разработать 3 формы (главную форму приложения и 2 формы) для взаимодействия с указанными потоками;

в) главная форма приложения должна быть размещена в центре экрана и состоять из 4-х частей: в верхней части должна быть надпись с информацией о данной работе (дисциплина, № работы, группа, ФИО студента), ниже постоянно выводится динамически изменяющаяся текстовая (числовая) информация или графическая фигура, выполняемые в 1-м вторичном потоке. В нижней половине формы должны располагаться 2 панели для управления 2-м и 3-м созданными потоками. Внизу формы помещается кнопка "Выход".

г) на каждой панели вверху помещается название потока, а ниже размещаются компоненты для отображения состояния и управления соответствующим потоком. Информация о потоке (запущен, приостановлен, завершен) выводится с помощью компонентов Label. Управление потоком производится с помощью кнопок с названиями "Запустить", "Приостановить", "Завершить". Изменение приоритета потока может производиться с помощью компонентов типа ComboBox, ListBox, RadioGroup по выбору студента.

д) при запуске приложения должна появиться главная форма, в верхней половине которой должны отображаться действия, выполняемые 1-м вторичным потоком согласно варианту задания. Два других потока должны находиться в приостановленном состоянии, о чем должны говорить надписи на панелях. При нажатии на любой панели кнопки "Запустить" должна появиться форма, на которой будет выводится динамически изменяющаяся текстовая (числовая) информация или графическая фигура, выполняемые в соответствующем потоке. При нажатии кнопки "Приостановить" работа соответствующего потока временно прекращается. При нажатии кнопки "Завершить" соответствующая форма закрывается, действие потока останавливается (без уничтожения объекта, для возможности повторного запуска потока).

Действия, выполняемые в потоках и отображаемые на формах

Компонент ScrollBar на форме циклически показывает плавное движение ползунка.

Последовательность цифр, выведенная с помощью компонента Label циклически сдвигается справо-налево, образуя "бегущие числа".

Графическая фигура одного вида (компонент Shape) на форме изменяет свои размеры от min до max, а потом наоборот.

Цель работы: научиться работать в среде программирования Borland C++ Builder
Содержание работы:
1. Изучение окна Borland C++ Builder
2. Заполнение формы приложения.
3. Программирование обработчиков событий.
4. Работа с приложением.

1 окно программы Borland C++ Builder 6Среда программирования Borland C++ Builder 6 позволяет создавать приложения для различных областей применения:
• приложения (Applications), которые работают под управлением операционной среды Windows;
• консольные приложения (Console), работающие под управлением MS DOS;
• приложения для работы с базами данных (BDE);
• Internet-приложения и др.После старта интегрированной среды Borland C++ Builder 6 автоматически создаётся проект Applications. Для запуска среды разработки приложений нужно выполнить команды Пуск\Все программы\ Borland C++Builder 6\ C++Builder 6, на экране появится окно приложения (рис. 1). Его основные составляющие:
1. Форма Form1, на которую переносятся все необходимые компоненты: меню, кнопки, вычислительныеполя, поля надписей, окно документа и т.п. Название формы по умолчанию – Form1, его можно изменить, например, на Факториал в свойстве Caption Инспекторa объектов (рис. 3).
2. Палитра компонентов, состоит из вкладок с изображениями различных компонентов (кнопки, надписи, поля редактирования, списки, полосы прокрутки и др.). По умолчанию открыта вкладка Standard (рис. 2). Чтобы установитькомпонент на форму, нужно щелкнуть мышью сначала по его значку в Палитре, затем на форме Form1.
3. Инспектор объектов (Object Inspector) является инструментом для редактирования свойств объекта, созданного на форме. На рис. 1 приведён инспектор объекта Form1.
4. Дерево объектов (Object TreeView), показывает, какие объекты выведены на форму.

[pic]
Рисунок 1. Окно средыпрограммирования Borland C++ Builder 6

[pic]
Рисунок 2. Палитре компонентов – вкладка Standard.

Любое приложение состоит из двух частей: интерфейсной и программной.
Интерфейсная часть представляет собой форму приложения с полями, метками, кнопками, списками, полосами прокрутки, таблицами, флажками и другими компонентами формы, которые представляют интерфейс приложения, т.е. его внешний виддля пользователя.
Программная часть приложения представляет собой программы на языке С++, предназначенные для обработки событий с объектами формы. Так, при одинарном нажатии на кнопку формы обрабатывается событие Оnclick (щелчок по кнопке), т.е запускается программа на языке С++, написанная разработчиком, которая для выполняет необходимые команды, связанные с нажатием этой кнопки. Например,если нажать кнопку "Печать", то её программа должна выводить на принтер полученные результаты, если нажать кнопку "Вычислить", должна запускаться программа расчёта каких – либо величин и т.п.

2 Заполнение формы приложения
Разработаем приложение для вычисления факториала. В математике факториалом n! целого неотрицательного числа n называется величина, определяемая с помощью формул:n!= 1 · 2 · 3 · . · п, если n > 0 и
0!=1.
Для работы приложения потребуются компоненты для ввода исходного числа, для вывода результата, пояснительные надписи и кнопки для запуска программы вычислений и закрывания приложения – см. рис. 3. Рассмотрим этапы создания приложения "Факториал".
1. После старта активным объектом является форма Form1, поэтому в ObjectInspector отражаются свойства этого объекта. Изменим название формы, для этого во вкладке Properties (Свойства) в строке свойства Caption нужно заменить текст Form1 на Факториал и оно отобразится в заголовке формы (рис. 3).

[pic]
Рисунок 3. Форма "Факториал" с компонентами.
2. Выведем на форму пояснительную надпись для вводимого числа – щелкнем мышью по компоненту.

Занятие первое Составные части среды Создание и настройка нового проекта Forms Application Cи++ Pascal Linker Directories/Conditionals Default Репозитарий Менеджер проектов Начальный этап проекта Итак, вам требуется быстро научиться созданию приложений

Занятие первое

Итак, вам требуется быстро научиться созданию приложений с использованием пакета Borland C++ Builder, и, как водится, багаж знаний языка Cи++ у вас уже есть, но совершенно нет времени на чтение толстых мудреных книжек. Если это так, то в моих силах вам помочь. И самое первое, что вам потребуется, - короткое занятие по работе в среде разработчика и созданию нового проекта.

Для понимания дальнейшей информации вам также важно знать, что проект в C++ Builder состоит из форм и модулей. Форма - это любое окно программы: простое окно, форма ввода или диалоговая панель. Сам файл формы представляет собой файл с расширением DFM, в котором в виде ресурсов хранится изображение формы и ее свойства. Модуль - это файл с исходным текстом на языке Cи++. Когда создается форма, к ней автоматически добавляется свой модуль, управляющий поведением и отображением формы. Правда, модули могут создаваться и без привязанных к ним форм.

Составные части среды

Среда Borland C++ Builder состоит из нескольких не связанных между собой окон. В каждый момент времени могут быть открыты сразу несколько окон или же одно главное окно. Это весьма удобно, потому что в среде C++ Builder столько окон, что легко в них потеряться, если открыть их все одновременно. Главное окно состоит из трех основных областей: области меню, области кнопок быстрого доступа и области палитры компонентов.

В свою очередь, кнопки на области быстрого доступа разбиты на три группы: открытия и сохранения файлов и проектов; группы работы с модулями и формами; группы запуска и отладки.

Надо отметить, что любая кнопка панели быстрого доступа имеет соответствующий ей пункт в главном меню и служит лишь для ускорения работы.

Палитра компонентов состоит из нескольких страниц с закладками. Все компоненты на ней сгруппированы по функциям, и каждая группа расположена на отдельной закладке. Компоненты из палитры можно размещать на форме тремя различными способами. В первом случае нужно дважды щелкнуть на кнопке компонента, и он будет автоматически размещен в центре формы. Во втором случае вы нажимаете кнопку компонента и щелкаете мышью на произвольном месте формы. Компонент размещается на форме так, чтобы его верхний левый угол находился в том месте, где располагался указатель мыши в момент щелчка. Третий способ используется, когда требуется разместить на форме несколько одинаковых компонентов. В этом случае нажмите клавишу и, удерживая ее, щелкните мышью на кнопке с нужным компонентом. Обратите внимание, что вокруг кнопки компонента появится цветной прямоугольник. Теперь щелкайте мышью в тех местах формы, где компоненты должны появиться. Когда эта операция будет закончена, отключите выделение компонента, нажав на кнопку со стрелкой в левой части палитры компонентов или переключившись на другой компонент.

Поскольку Borland C++ Builder создает программы из компонентов, как из стандартных кубиков, придется подогнать "кубики" под нужды программиста. Для этого требуется настроить свойства компонентов через окно инспектора свойств (Object Inspector). Данные в нем представляются в виде таблицы из двух колонок. В левой содержатся названия всех свойств того компонента, который выделен в текущий момент. Правая колонка показывает значение свойств.

Если свойство может быть отредактировано, то программист щелкает на изменяемом значении и подставляет новое. Если свойство может быть отредактировано альтернативным способом, то в правой стороне от значения возникает кнопка с определенным значком, которую следует нажать. Если значение для свойства можно получить из раскрывающегося списка, на кнопке появится стрелка. Если для свойства имеется диалоговая панель настройки, то кнопка будет содержать значок многоточия. В дальнейшем, когда мы с вами будем писать программы из различных компонентов, мы подробнее рассмотрим их параметры и возможные значения. Помимо свойств с помощью инспектора свойств можно редактировать и обработчики событий, привязанные к событиям того или иного компонента.

Следует знать, что хотя бы один редактируемый файл должен быть открыт. Если закрыть все файлы с исходным текстом, то текущий проект также будет автоматически закрыт.

Создание и настройка нового проекта

При запуске C++ Builder автоматически создает новый проект. Если надо открыть новый проект вручную, можно либо выбрать из меню команду File·New Application, либо вызвать из меню командой File· New. диалоговую панель New Items и переключиться на закладку Projects. Под ней собраны несколько мастеров создания типовых приложений Windows: однооконного, многооконного, отвечающего требованиям Windows 95 Logo и просто мастер создания программ.

На следующем этапе проект необходимо настроить, т. е. указать необходимые опции компиляции и сборки проекта вместе с некоторой дополнительной информацией. Чаще всего вам не придется что-либо изменять, потому что по умолчанию проект настроен правильно. Однако неизвестно, когда и что может понадобиться в будущем. Поэтому разберем самые важные опции настройки. Они все собраны в диалоговой панели Project Options, вызываемой командой меню Options·Project. Настраивая проект, передвигайтесь от закладки к закладке слева направо, изменяя опции. Последовательные действия не дадут вам забыть или пропустить важные моменты при настройке. Рассмотрим последовательно имеющиеся закладки.

Forms

Здесь собраны все данные о формах, используемых в проекте, и порядке их создания:

MainForm - форма, которая создается самой первой и таким образом становится главной формой программы;

Auto-create forms - список всех форм, которые автоматически создаются при запуске приложения;

Available forms - имеющиеся в проекте формы, которые программист должен создавать и вызывать автоматически.

Между двумя последними списками имеются кнопки со стрелками, нажимая на которые вы можете переносить формы из одного списка в другой. Резон для отказа от автоматического создания формы простой: если у вас в приложении есть формы, которые вряд ли будут вызваны вообще, то есть ли смысл держать их в памяти? Уж коли они понадобятся, вы сможете создать и показать их сами, написав пару строчек на языке Cи++. К тому же это просто экономит место в памяти компьютера.

Application

Это чисто вспомогательная закладка, задающая необязательные параметры:

Title - задает надпись, которая появляется под пиктограммой приложения, если его минимизировать;

Help file - определяет имя файла подсказки для приложения;

Icon - пиктограмма для создаваемого приложения.

Настройки опций языка Cи++ производятся опциями этой закладки:

Speed settings - автоматически настраивает опции компилятора и редактора связей так, чтобы проект выполнялся максимально быстро; различается для отладочного варианта (Debug) и для окончательного (Release);

Precompiled headers - определяет, использовать ли прекомпилируемые заголовки, и если да, то кэшировать ли их на диске;

Debugging - опции настройки проекта для отладки:

- Debug information - включение отладочной информации в проект; - Line number information - включение в проект информации о номерах строк в исходном тексте; - Automatic register variables - автоматическое присвоение регистровых переменных; отключается лишь в том случае, если в проекте используется ассемблерный код, чтобы избежать путаницы с регистрами процессора; - Disable inline expansion - запрет inline-подстановки методов, дабы отладчик показывал правильную информацию.

Опции Compiling и Code optimization лучше не трогать, если только вы не являетесь специалистом по методам оптимизации.

Pascal

Под этой закладкой собраны все опции, которые характерны для пакета Borland Delphi. Они не понадобятся вам, если только вы не собираетесь компилировать в C++ Builder файлы на языке Object Pascal или подключать к проекту формы и модули, написанные для Delphi. Если вы не знаете языка Паскаль, то эти опции, скорее всего, вам все равно ничего не скажут.

Linker

В разработке программ закладка Link очень важна. От нее зависит, что вы получите после компиляции. Поэтому внимательно следите за правильностью установки предлагаемых ею опций:

Application target - управляя этими кнопками, вы получаете либо EXE-файл, либо динамическую библиотеку DLL;

Application type - получаемая программа будет либо графической, либо консольной;

Map file - управляет генерацией map-файла;

Linking - опции настройки редактора связей, среди которых:

- Use incremental linker - запускает вместо обычного редактора связей инкрементальный ILINK32, значительно ускоряющий сборку проекта;

- In-memory .EXE - при включенной опции C++Builder не создает дискового файла после сборки, а проделывает все операции в оперативной памяти, что также значительно ускоряет сборку проекта, но EXE-файла вы не получите, кроме того, в среде Windows 95 такая возможность не работает;

- Include debug information - включает отладочную информацию в готовую программу либо делает из нее отдельный файл;

- Link debug version of VCL - связывает вашу программу с отладочной версией библиотеки VCL, позволяя, таким образом, отладчикам проходить внутрь VCL;

Опции Stack sizes трогать не требуется, поскольку они имеют стандартные для EXE-файла настройки и вряд ли вам это нужно.

Directories/Conditionals

Заключительная закладка служит для настройки путей, каталогов и условных директив:

Directories - определяет пути к линкуемым библиотекам и заголовочным файлам;

Pascal unit aliases - существует для обратной совместимости между текущими именами модулей предыдущей и настоящей версий Delphi; задается как = ; не стоит трогать эти настройки, если только вы не работаете с Delphi давно и обладаете хорошими знаниями среды.

Default

Последнее, на что следует обратить внимание, так это на отмечаемую кнопку Default, которая есть на каждой закладке опций проекта. Если ее отметить, то все заданные на этой страничке настройки станут глобальными, т. е. будут выставляться каждый раз, когда вы создаете новый проект.

Репозитарий

Знайте, что в C++ Builder имеется хранилище объектов, в котором находятся заготовки форм, модулей, приложений и т. д. Использование этого репозитария дает возможность не начинать каждый раз работу "с нуля", поскольку вы можете выбрать готовый каркас как базу для нового проекта. Неплохо, если вы заберетесь в настройки этого хранилища командой Options·Repository и проверите их.

На самом деле нас интересует следующий момент. Из левого списка Pages выберите Forms и посмотрите в нижнюю часть диалоговой панели. Там располагаются две отмечаемые кнопки: New Form и Main Form. Если в правом списке имеющихся в репозитарии форм выбрать одну и отметить кнопку New Form, она становится новой формой по умолчанию, т. е. каждый раз, когда вы создаете новую форму, вы получаете именно эту форму. Если отметить форму кнопкой Main Form, то она будет создаваться каждый раз, когда вы начинаете новый проект, и будет в нем главной формой. Примерно такая же опция имеется и для задания проекта по умолчанию. Укажите Projects в левом списке, и вы увидите, что в низу диалоговой панели имеется отмечаемая кнопка New Project. Если отметить ею какую-нибудь заготовку проекта, он станет проектом по умолчанию, т. е. будет вызываться каждый раз при создании нового пустого проекта или вызове команды File·New Application. Подобные настройки хранилища полезны, когда вы создаете сложные проекты с единым интерфейсом и не желаете мириться с тем, что делает для вас C++ Builder.

Менеджер проектов

Важным элементом в работе над проектом является менеджер проектов (Project Manager). Его можно вызвать командой View·Project Manager. Менеджер проектов служит для добавления и исключения файлов проекта. Интерфейс его очень прост и состоит из панели со списком файлов проекта и командных кнопок.

Хотите добавить файл в проект - нажимайте кнопку со знаком "плюс", хотите удалить файл - давите на "минус". Если указать на файл формы и затем нажать на кнопку View Form, будет открыта указанная форма. То же самое можно сделать для модуля кнопкой View Unit. Кнопкой Project Options вызывается уже знакомая нам диалоговая панель опций проекта. Последняя кнопка Update обновляет данные в окне менеджера проектов по тем данным, которые имеются в главном файле проекта. Вряд ли вы с этим столкнетесь, но знать не мешает.

Начальный этап проекта

Вооруженные знаниями о среде C++ Builder, мы можем приступить к реализации любого проекта. Идеология этого продукта требует, чтобы разработка велась по следующим этапам:

Создание нового файла проекта и его настройка. Создание форм проекта со всеми элементами интерфейса. Подключение обработчиков событий для каждого из элементов интерфейса. Сборка и отладка проекта.

Поскольку первый этап мы с вами успешно изучили, то перейдем сразу же ко второму.

Вы уже знаете, как размещать компоненты на формах. Но разместить - это еще не все, важно разместить правильно. Поэтому в C++ Builder есть возможности выравнивания компонентов относительно формы и друг друга. Удобнее всего делать это, открыв окно палитры выравнивания.

Чтобы выровнять компоненты, их нужно выделить и нажать на палитре выравнивания кнопку, обозначающую требуемую операцию.

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

Когда размещение компонентов закончено, заблокируйте их командой Edit·Lock controls. Это предотвратит их случайный сдвиг и изменение размера. Выделенный заблокированный компонент имеет по углам серые квадратики в черном обрамлении.

На следующем занятии мы перейдем к изучению обработчиков событий и их написанию.

Читайте также: