
- •Ключевые особенности
- •Полная интеграция с web-службами бизнес-партнеров
- •Быстрая и эффективная разработка web-приложений
- •Высокопроизводительное промежуточное по для web-служб
- •Кросс-платформенные решения
- •Эффективная работа с корпоративными базами данных
- •Корпоративные приложения для электронного бизнеса
- •Технология быстрой разработки приложений
- •Диагностический инструмент CodeGuard
- •Полный контроль над сложными проектами
- •Решения "под ключ" на основе Borland InterBase
- •Требования к системе
- •Ход работы
- •4. Создание библиотеки dll
- •Создайте консольное приложение.
- •Создайте приложения с графическим интерфейсом.
- •Создайте простейшую dll и тестирующее ее приложение.
- •Теоретические сведения
- •Ход работы
- •11. Аналогично вставьте в форму еще несколько текстовых полей с вашими биографическими данными.
- •12. Вставьте в форму объект типа Image (изображение).
- •13. Вставьте свою портретную фотографию с помощью свойства Picture (иллюстрация) объекта Image1.
- •14. Вставьте свою художественную фотографию в форму поверх имеющейся, воспользовавшись еще одним объектом типа Image.
- •16. Вставьте в форму кнопки для подсвечивания фотографий – два объекта типа Button с названиями Button1 и Button2.
- •17. Запрограммируйте кнопку "Портретная фотография" так, чтобы после ее нажатия в форме появлялась портретная фотография.
- •18. Запрограммируйте кнопку "Художественная фотография" соответственно ее назначению (см. П. 17).
- •19. Выполните программу и убедитесь, что кнопки выполняют свои функции. Закройте окно программы "Анкета студента".
- •20. Сохраните созданную программу в своей папке.
- •21.Создайте exe-файл программы.
- •Задания
- •Лабораторная работа n 3
- •Задача про обмен валюты
- •Теоретические сведения
- •Ход работы
- •Откажитесь от возможности изменять размеры окна программы, придав свойству формы BoderStyle значение bsDialog.
- •Вставьте в форму два объекта типа RadioButton (переключатели), как показано на рисунке 1.
- •Запрограммируйте кнопку «Конец».
- •Запрограммируйте кнопку «Вычислить».
- •Создайте exe файл вашей программы.
- •Продемонстрируйте созданную форму преподавателю. Задания
- •Лабораторная работа n 4
- •Программирование циклов.
- •Объекты: Memo, MainMenu, PopurMenu, CheckBox, GroupBox
- •Задача табулирования функции
- •Теоретические сведения
- •Ход работы
- •Замените Caption формы с “Form1” на «Табулирование функции».
- •Табулирование функции
- •Табулирование функции
- •20. Запустите созданную программу и исследуйте ее работу.
- •Задания
- •Табулирование функции
- •Английский язик - тестирование
- •После размещения рисунков!!!
- •Теоретические сведения
- •Ход работы
- •2.Замените заголовок (Caption) формы с "Forml" на "Английский язык — тестирование".
- •3.Откажитесь от всех системных кнопок формы, задав значение False во всех позициях свойства Bordericons: biSystemMenu, biMinimize, biMaximize и biHelp.
- •4.Расположите на форме объекты так, как показан на рис. 1.
- •5. Дважды щелкните на первом таймере и запрограммируйте мигание сообщения "Обязательно нажмите на кнопку "Готово" после размещения рисунков!!!" так:
- •6. Введите описание глобальных переменных программы:
- •7. Вставьте рисунки factory.Bmp, shipping.Bmp и finance.Bmp с папки
- •8. Запрограммируйте конструктор формы tForm1::tForm1 и функцию Result() сообщения результатов теста:
- •10. Аналогично запрограммируйте соответствующие события для перетягивания двух других рисунков.
- •11. Создайте функцию lmageInShape для проверки расположения рисунка (объекта Image) в середине некоторой геометрической фигуры (объекта Shape).
- •13. Запрограммируйте второй таймер, который обеспечивает индикацию времени выполнения от 100 до 0% со скоростью, обратно пропорциональной к числу в cSpinEdit1.
- •Сохраните программу и проект в рабочей папке.
- •Запустите программу. Перетягивайте мышью рисунки в середину соответствующих фигур. Закончите работу. Задания
- •Лабораторная работа n 6 объектно-ориентированное программирование в
- •Создания собственных классов. Наследование и виртуальные функции. Интерпретатор математических выражений.
- •Теоретические сведения
- •Ход работы
- •6. Введите математические выражения в поля Edit1 и Edit2 и очистите поля результатов Edit3 и Edit4. Запрограммируйте кнопку „Выход".
- •7. Задайте начальную точность вычислений, которая равна двум десятичным знакам.
- •8. Запрограммируйте кнопку „Вычислить” так:
- •9. Запрограммируйте функцию, которая будет выполняться после изменения числа в поле ComboBox1.
- •Задания
- •2. Вычислите значение функции от двух переменных f(X,y).
- •Лабораторная работа n 7
- •Усовершенствования интерпретатора математических выражений. Вычисление первой и второй производной
- •Ход работы
- •Создайте форму, показанную на рис. 1.
- •Введите описания классов и функций, которые будут использоваться в этой задаче.
- •5.Запрограммируйте кнопку "Вычислить" таким образом:
- •6. Запрограммируйте функцию, которая будет выполняться после изменения числа y поле ComboBox1.
- •Сохраните программу и убедитесь в ее работоспособности. Задания
Решения "под ключ" на основе Borland InterBase
Продукт C++Builder объединяет высокоэффективную среду разработки на C++ и Borland InterBase, мощную кросс-платформенную реляционную базу данных класса предприятия, удовлетворяющую стандарту SQL, которая отличается простотой использования и низкой стоимостью обслуживания.
Borland C++Builder
C++Builder 6 Enterprise
C++Builder 6 Enterprise расширяет возможности среды разработки приложений на C++ средствами для работы с web-службами. Кросс-платформенная библиотека компонентов Borland CLX позволяет создавать универсальные решения. С помощью новых продуктов Borland C++, которые появятся в ближайшее время, эти решения можно будет переносить на платформу Linux. Новый менеджер проектов с открытой архитектурой и средства сборки обеспечивают полный контроль над их разработкой и развертыванием.
C++Builder 6 Professional
C++Builder 6 Professional предоставляет высокопроизводительную среду разработки программ на языке C++. Мощные и гибкие возможности технологий SOAP и XML позволяют значительно расширить функциональные возможности клиентских приложений с помощью web-служб и уменьшить объем ручного кодирования. Библиотека компонентов CLX позволяет создавать универсальные решения, которые можно будет переносить на платформу Linux c помощью готовящихся к выпуску продуктов Borland C++ для Linux
C++Builder 6 Personal
C++Builder 6 Personal - лучшее средство для обучения программированию на языке C++. Пакет содержит все необходимое начинающему разработчику Windows-приложений: визуальную среду разработки, программы-мастера, примеры готовых приложений и обучающие материалы.
Требования к системе
(C++Builder 6 Enterprise)
Процессор Intel Pentium II 400 МГц или совместимый.
Операционная система Microsoft Windows 98, 2000 (SP2) или XP.
ОЗУ минимум 128 Мб, рекомендуется 256 Мб.
Жесткий диск - 750 Мб свободного пространства для полной установки.
Дисковод CD-ROM.
Монитор SVGA (800x600, 256 цветов) или с более высоким разрешением.
Манипулятор "мышь" или другое указательное устройство.
Ход работы
1. Интегрированная среда разработки C++Builder
Чтобы ввести исходный текст программы, откомпилировать и увидеть на экране окно Windows-приложения, необходимо выполнить следующие действия:
Сделайте двойной щелчок левой клавиши мыши (или нажатие ENTER) на пиктограмме C++Builder 6. Появится окно компилятора BC6.
На рис. 1 показан C++Builder сразу после запуска.
Рисунок 1
То, что вы видите — это интегрированная среда разработки (IDE), включающая в себя четыре основных элемента. Наверху находится главное окно. Оно содержит обычную линейку меню, инструментальную панель (слева) и палитру компонентов (многостраничная панель справа).
Правее инспектора объектов располагается конструктор форм. При запуске C++Builder конструктор отображает пустую форму. Форма — это центральный элемент визуального программирования. Она может представлять главное окно программы, дочернее окно, диалоговую панель.
На ней вы размещаете различные элементы управления (типичный и самый распространенный — командная кнопка), называемые визуальными компонентами. Существуют также и невизуальные компоненты, например, таймеры и компоненты связи с базами данных. В инспекторе объектов вы сопоставляете событиям компонентов написанные вами процедуры обработки. Это, по существу, и есть визуальное программирование, базирующееся на компонентной модели.
Наконец, под конструктором форм находится окно редактора кода (на рисунке 1 оно почти полностью закрыто формой). Редактор кода является основным рабочим инструментом программиста. Его функции не ограничиваются редактированием исходного текста программы.
Рисунок 2. Окно редактора кода.
Все инструментальные окна C++Builder являются стыкуемыми окнами. При первоначальном запуске C++Builder к левой стороне редактора кода пристыковано окно обозревателя классов. Это не просто инструмент просмотра структуры классов.
2. Создание простейшего приложения.
По традиции изучение любого языка программирования начинается с того, что новичку предлагают написать программу, которая выводит на экран слова “Hello World”. Мы составим две программы; одну — с выводом на консоль, а другую — с графическим интерфейсом пользователя (GUI), т. е. настоящее приложение Windows.
Hello World — консольное приложение
Консольное приложение Windows похоже на программу DOS, но только внешне. Оно работает в “окне MS-DOS”, которое на самом деле в 32-битных системах Windows таковым не является. Консольное приложение — 32-битное, и запустить его в обычной 16-битной DOS невозможно. Однако, подобно примитивной программе DOS, оно ориентировано на символьный ввод-вывод, что делает консольные приложения полезными при изучении стандартных функций ввода-вывода языка С и классов стандартных потоков C++.
Чтобы создать в C++Builder консольное приложение, выполните следующие действия:
Выберите в главном меню File | New...; появится многостраничная диалоговая панель New Items. Этот диалог является интерфейсом так называемого хранилища объектов C++Builder (Object Repository). Помимо уже имеющихся объектов вы можете сохранять в нем свои собственные формы, диалоговые панели и прочие элементы, пригодные для повторного использования в новых программах.
Рисунок 3. Диалог New Items
На странице New выберите Console Wizard и нажмите кнопку ОК. C++Builder создаст проект консольного приложения и откроет окно редактора кода с файлом Project1.cpp или Unit1.cpp (Unit1.c).
Выберите в главном меню File | Save Project as... и сохраните файлы проекта в отдельном каталоге (папке). Назовите проект и модуль, например, HWConsole — необходимые расширения файлов C++Builder добавит автоматически. Сейчас ваш исходный файл имеет такой вид:
#pragma hdrstop
//--------------------------
#pragma argsused
int main(int argc, char* argv[ ])
{
return 0;
}
Модифицируйте код файла HWConsole. срр так, чтобы он выглядел следующим
образом (строчки, которые требуется ввести, выделены жирным шрифтом):
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
//------------------------------------------
#pragma argsused int main(int argc, char* argv[])
{
printf("Hello World from Console!\n"), printf("Press any key...");
getch() ;
return 0;
}
Сохраните файл (File Save в главном меню) и нажмите кнопку Run на инструментальной панели (кнопка с зеленой стрелкой). C++Builder компилирует исходный файл, произведет компоновку исполняемого файла и запустит программу. На экране должно появиться окно MS-DOS. Если вы нажмете любую клавишу на клавиатуре, программа завершится и ее окно закроется.
Закройте проект (File | Close All в главном меню).
Вот и все — консольное приложение готово и работает. Для этого вам потребовалось ввести вручную пять строк кода на С. Первые две из них — директивы #include, включающие в исходный код два заголовочных файла стандартной библиотеки. Файл stdio.h содержит прототипы общеупотребительных функций буферизованного ввода-вывода (мы здесь использовали функцию prinf() — форматируемый вывод на консоль).
Рисунок 4. Окно программы HWConsole.exe
Файл соnio.h необходим потому, что для ожидания нажатия клавиши мы применили низкоуровневую функцию ввода символа getch() ; символ, возвращаемый функцией, мы игнорировали.
Функция main () присутствует (иногда неявно) в каждой программе C/C++ и является ее входной точкой. Именно этой функции передается управление после загрузки и инициализации программы.
Директивы препроцессора #pragma мы будем обсуждать позже. Пока скажем, что они здесь не имеют принципиального значения и их можно было бы удалить. Но это привело бы к выдаче предупреждений при компиляции, а в некоторых случаях замедлило ее.
Строки, начинающиеся с двойной дробной черты, содержат комментарии и не принимаются во внимание при компиляции файла.
3. Визуальное программирование.
Теперь применим технологию визуального программирования, реализованную в C++Builder.
Hello World — приложение GUI
Процедура создания приложения с графическим интерфейсом пользователя даже проще, чем в случае консольного приложения, поскольку C++Builder предназначен именно для этого. Выполните такие действия:
Создайте новый проект, выбрав в меню File | New Application (это эквивалентно выбору значка Application в диалоге New Items). При этом будет открыт конструктор форм с новой, пустой формой. Инспектор объектов будет показывать ее свойства.
Выберите в левой колонке страницы Properties свойство Caption. Замените его значение (в правой колонке) на “Hello World”. Обратите внимание, что этот текст сразу же появляется в строке заголовка формы.
Теперь разместите на форме необходимые компоненты — две командных кнопки и метку, в которой будет отображаться требуемый текст.
Рисунок 5. Форма программы в процессе проектирования
Откройте в палитре компонентов главного окна C++Builder страницу Standard (она открыта по умолчанию) и выберите в ней компонент
Button (значок, изображающий командную кнопку). После этого щелкните кнопкой мыши в том месте формы, где должен находиться верхний левый угол компонента. Кнопка будет помещена на форму; вокруг нее будут находиться черные маркеры, которые позволяют изменять размер кнопки с помощью мыши и, кроме того, служат признаком активного (выбранного) компонента формы. Перемещать компонент по форме можно, поместив курсор внутрь компонента.
Вы наверняка заметили, что при перемещении компонента или изменении размеров положение его фиксируется узлами сетки, показанной на форме маленькими точками. Шаг сетки можно изменять или вообще отменить привязку к сетке.
В инспекторе объектов измените свойство Caption кнопки на “Message”, аналогично тому, как это было сделано для самой формы.
Введенный текст задает надпись на кнопке. (По умолчанию это Buttonl.)
Разместите на форме вторую кнопку с надписью “Exit”.
Выберите в палитре компонентов значок Label (буква А) и поместите компонент метки на форму ниже командных кнопок. Выберите в инспекторе объектов свойство Font. Если нажать маленькую кнопку с многоточием в правой колонке инспектора, появится обычный диалог выбора шрифта, в котором можно задать желаемую гарнитуру и размер текста. Кнопка с многоточием в колонке значений — обычный признак того, что для свойства предусмотрен специализированный редактор.
Удалите из свойства Caption весь текст (“ Label 1”).
К данному моменту мы практически завершили то, что называют этапом визуального проектирования программы. Теперь нужно написать программный код, который будет решать требуемую задачу, в данном случае — вывод (по команде) на экран строки текста “Hello World”.
Выберите на форме первую из кнопок и перейдите в инспекторе объектов на страницу событий (Events).
Дважды нажмите кнопку мыши на событии OnClick; C++Builder создаст заготовку процедуры обработки ButtonlClick() и установит курсор редактора кода внутри нее. Введите строку кода, чтобы функция выглядела так:
void _fastcall TFormI::ButtonlClick(TObject *Sender) {
Labell->Caption = "Hello World from GUI!";
}
Точно так же создайте процедуру обработки события для второй командной кнопки:
void _fastcall TFormI::Button2Click(TObject *Sender) {
Forml->Close () ;
}
При желании измените размер формы (как это делается с обычным окном) и сохраните файлы проекта, дав исходному модулю имя, например, HWGuiU, а исходному файлу проекта — HWGui.
Осталось только компилировать и запустить программу. Нажмите на инструментальной панели C++Builder кнопку с зеленой стрелкой (Run). Если при компиляции возникают ошибки, значит вы, скорее всего, сделали где-то опечатку; другие проблемы маловероятны.
Вот и все. Нажмите кнопку Message. Будет выведена строка сообщения. Кнопка Exit завершает работу программы, закрывая ее главное окно (его можно закрыть и системной кнопкой в правом верхнем углу — это то же самое).
Рисунок 6. Работающая программа
Как видите, процесс визуального проектирования пользовательского интерфейса идейно очень прост. Вы берете из палитры очередной компонент, размещаете его на форме, подгоняете положение, размер, устанавливаете различные свойства с помощью инспектора объектов.
После размещения всех необходимых компонентов следует этап собственно программирования, т. е. написания кода на C++ для различных событий. Обратите внимание — в визуально спроектированном приложении C++Builder любой написанный вами код так или иначе вызывается из некоторой процедуры обработки события.
Те строки кода, что мы ввели в функции OnClick () для обеих командных кнопок, достаточно понятны. Первая из них присваивает свойству Caption расположенной на форме метки требуемую символьную строку. Вторая просто вызывает функцию закрытия формы Close (). Детали синтаксиса этого кода будут проясняться по ходу изучения языка.
Мы реализовали приложение с графическим интерфейсом пользователя, применив визуальные возможности C++Builder; однако можно построить и стандартное оконное приложение, так сказать, на пустом месте, ориентированное на интерфейс прикладного программирования (API) Windows. Для этого нужно воспользоваться тем же мастером Console Wizard, с помощью которого мы создавали заготовку консольного приложения:
Выберите File | New... и запустите Console Wizard. В открывшемся окне редактора кода введите единственный оператор (он расположен в листинге на двух строчках), чтобы файл принял следующий вид:
#include <windows.h>
#pragma hdrstop
#include <condefs.h>
//--------------------------------
#pragma argsused
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
MessageBox(NULL, "Hello World from Windows!",
"Simple Greeting", MB_OK | MB_ICONEXCLAMATION);
return 0;}
Сохраните проект, дав ему какое-нибудь новое имя, затем компилируйте и запустите программу, нажав кнопку Run инструментальной панели. На экране появится стандартная панель сообщения.
Эта панель отображается функцией API MessageBox (), аргументы которой задают текст сообщения, заголовок панели и ее вид (тип кнопок и значок). Главной функцией программы Windows является, как видите, не main (), а WinMain ().
Приведенные примеры показывают, каким образом в C++Builder можно экспериментировать с различными языковыми конструкциями, которые мы будем изучать. Можно написать “честное” (консольное) приложение C/C++, пользуясь в качестве интерактивных средств функциями ввода с клавиатуры и символьного вывода в окно MS-DOS. Либо с тем же (и даже большим) успехом можно воспользоваться методикой визуального программирования и общаться с тестовым приложением в рамках GUI Windows. Правда, получаемые таким способом программы не являются в строгом смысле программами на C++, поскольку язык визуально-компонентной модели содержит некоторые расширения; однако в плане изучения стандартных элементов языка это несущественно. Существенно то, что стандарт ANSI C++ поддерживается в полном объеме.
Напоследок мы продемонстрируем пример группы проектов C++Builder, т. е. совместного создания нескольких целевых модулей. Мы построим простейшую DLL и тестирующее ее приложение.