Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка приложений на C++ в среде MATLAB

Покупка
Артикул: 114516.03.99
Доступ онлайн
349 ₽
В корзину
Данная книга посвящена изложению вопросов совместного использования богатой библиотеки визуальных компонент Borland C++ Builder и возможностей языка С++ с мощными математическими процедурами MATLAB®. Книга содержит основы программирования в Borland C++ Builder и на MATLAB, описание математических библиотек MATLAB для С/С++ и компиляторов MATLAB. Рассматриваются примеры программ на Borland C++ Builder, которые используют математические библиотеки MATLAB С++. Освоение технологии использования функций математических библиотек MATLAB в Borland C++ Builder позволит создавать полноценные Windows-приложения с развитой графической средой, в которых возможна реализация сложных математических алгоритмов. Книга предназначена преподавателям и студентам вузов по специальностям, близким к прикладной математике, профессиональным программистам С++, которые сталкиваются с проблемами реализации математических алгоритмов на С++, и MATLAB-программистам, которые хотят использовать гибкость языка С++ и богатую библиотеку визуальных компонент Borland C++ Builder для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB приложений. Файлы, содержащие примеры программ вместе с исходными текстами, а также архив с математическими библиотеками С/С++ MATLAB от компании MathWorks, можно найти на сайте издательства.
Подкур, М. Л. Разработка приложений на C++ в среде MATLAB : практическое руководство / М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев. - 2-е изд. - Москва : ДМК Пресс, 2023. - 497 с. - ISBN 978-5-89818-465-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/2106235 (дата обращения: 02.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев

Разработка приложений
на С++ в среде MATLAB

Москва, 2023

2-е издание, электронное
УДК 519.68
ББК 32.913
П44 

П44 
Подкур, М. Л.
Разработка приложений на C++ в среде MATLAB / М. Л. Подкур, П. Н. Подкур, 
Н. К. Смоленцев. — 2-е изд., эл. — 1 файл pdf : 497 с. — Москва : ДМК Пресс, 2023. — Систем. 
требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : 
электронный.
ISBN 978-5-89818-465-0
Данная книга посвящена изложению вопросов совместного использования богатой библиотеки 
визуальных компонент Borland C++ Builder и возможностей языка С++ с мощными математическими 
процедурами MATLAB®. Книга содержит основы программирования в Borland C++ Builder 
и на MATLAB, описание математических библиотек MATLAB для С/С++ и компиляторов 
MATLAB. Рассматриваются примеры программ на Borland C++ Builder, которые используют математические 
библиотеки MATLAB С++. Освоение технологии использования функций математических 
библиотек MATLAB в Borland C++ Builder позволит создавать полноценные Windows-приложения 
с развитой графической средой, в которых возможна реализация сложных математических 
алгоритмов.
Книга предназначена преподавателям и студентам вузов по специальностям, близким к прикладной 
математике, профессиональным программистам С++, которые сталкиваются с проблемами 
реализации математических алгоритмов на С++, и MATLAB-программистам, которые хотят 
использовать гибкость языка С++ и богатую библиотеку визуальных компонент Borland C++ 
Builder для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB 
приложений.
Файлы, содержащие примеры программ вместе с исходными текстами, а также архив с математическими 
библиотеками С/С++ MATLAB от компании MathWorks, можно найти на сайте издательства.


УДК 519.68 
ББК 32.913

Электронное издание на основе печатного издания: Разработка приложений на C++ в среде MATLAB / 
М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев. — Москва : ДМК Пресс, 2008. — 496 с. — ISBN 978-5-94074- 
445-0. — Текст : непосредственный.

MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the 
text or exercises in this book. This book’s use or discussion of MATLAB® software or related products does not constitute endorsement 
or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских 
прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-465-0
© Подкур М. Л., Подкур П. Н., Смоленцев Н. К.
© Оформление,издание. ДМК Пресс, 2008
Содержание

Предисловие ..............................................................................10

Глава 1. Основы программирования
на Borland C++ Builder

1.1. Среда разработки ................................................................ 13
1.1.1. Панель инструментов.................................................... 14
1.1.2. Палитра компонентов ................................................... 14
1.1.3. Редактор форм ............................................................. 14
1.1.4. Редактор кода ............................................................... 14
1.1.5. Инспектор объектов...................................................... 15
1.1.6. Менеджер проекта ........................................................ 16
1.1.7. Контекстное меню ........................................................ 16
1.1.8. Контекстная помощь ..................................................... 16
1.2. Компоненты C++ Builder ....................................................... 17
1.2.1. Свойства компонентов.................................................. 18
1.2.2. События компонентов................................................... 18
1.2.3. Методы компонентов .................................................... 19
1.3. Основы С++ как языка создания программ в C++ Builder ..... 19
1.3.1. Комментарии ................................................................ 19
1.3.2. Типы и описания ........................................................... 20
1.3.3. Основные типы ............................................................. 21
1.3.4. Константы ..................................................................... 22
1.3.5. Производные типы........................................................ 23
1.3.6. Базовые операторы ...................................................... 27
1.3.7. Выражения и операторы ............................................... 28
Описания ...................................................................... 29
1.3.8. Функции........................................................................ 32
1.3.9. Классы и объектноориентированное
программирование ................................................................ 33
1.3.10. Структура программы на С++...................................... 51
1.3.11. Событийное программирование ................................. 54
1.4. Использование основных классов библиотеки VCL .............. 58
Содержание
Содержание
Содержание
Содержание
Содержание

1.4.1. Классы описания данных .............................................. 58
1.4.2. Компоненты интерфейса .............................................. 69
1.4.3. Системные компоненты ................................................ 83
TForm............................................................................ 86
1.4.4. Обработка исключений ................................................. 98
1.5. Пример построения графиков функций в C++ Builder .......... 99

Глава 2. Основы работы в системе MATLAB®

2.1. Система компьютерной математики MATLAB..................... 109
2.1.1 Основные компоненты системы MATLAB ..................... 110
2.1.2. Инструментальные средства рабочего стола MATLAB ... 111
2.1.3. Константы и системные переменные MATLAB ............ 117
2.1.4. Типы данных MATLAB .................................................. 117
2.2. Основы работы с MATLAB .................................................. 120
2.2.1. Запуск MATLAB и начало работы ................................. 120
2.2.2. Задание массивов ...................................................... 122
2.2.3. Операции над массивами ........................................... 125
2.2.4. Решение систем линейных уравнений ........................ 128
2.2.5. Мфайлы ..................................................................... 131
2.2.6. Чтение и запись текстовых файлов ............................. 133
2.2.7. Операции с рабочей областью и текстом сессии ........ 136
2.3. Массивы символов ............................................................ 137
2.3.1. Задание массива символов ........................................ 137
2.3.2. Общие функции .......................................................... 138
2.3.3. Проверка строк ........................................................... 139
2.3.4. Операции над строками .............................................. 139
2.3.5. Преобразование чисел в символы и обратно .............. 141
2.3.6. Функции преобразования систем счисления .............. 142
2.3.7. Вычисление строковых выражений ............................. 143
2.4. Массивы ячеек ................................................................... 143
2.4.1. Создание массивов ячеек ........................................... 144
2.4.2. Доступ к данным в ячейках.......................................... 146
2.4.3. Вложенные массивы ячеек.......................................... 147
2.4.4. Массивы ячеек, содержащих структуры...................... 149
2.4.5. Многомерные массивы ячеек ..................................... 149
2.5. Массивы структур .............................................................. 150
2.5.1. Построение структур .................................................. 150
2.5.2. Доступ к полям и данным структуры ........................... 151
2.4.3. Многомерные массивы структур................................. 154
2.6. Программирование в среде MATLAB.................................. 154
Содержание
Содержание
Содержание
Содержание
Содержание

2.6.1. Мфункции .................................................................. 155
2.6.2. Операторы системы MATLAB ..................................... 160
 2.6.3. Управление последовательностью
исполнения операторов ....................................................... 163
2.6.4. Вычисление символьных выражений .......................... 167
2.6.5. Ошибки и предупреждения ......................................... 168
2.6.6. Повышение эффективности обработки Мфайлов ...... 169

Глава 3. Математическая библиотека MATLAB®

для языка C

3.1. Введение ........................................................................... 171
3.1.1. Установка Математической библиотеки MATLAB ........ 172
3.1.2. Каталоги Математической библиотеки ....................... 174
3.1.3. Документация Математической
библиотеки MATLAB C .......................................................... 174
3.1.4. Сходство и различие MATLAB и C................................ 175
3.1.5. Пример написания простой программы ..................... 176
3.1.6. Компиляция и компоновка приложения ...................... 178
3.2. Работа с массивами mxArray .............................................. 182
3.2.1. Поддерживаемые типы массивов MATLAB .................. 182
3.2.2. Числовые массивы...................................................... 183
3.2.3. Разреженные матрицы................................................ 188
3.2.4. Массивы символов ..................................................... 191
3.2.5. Массивы ячеек............................................................ 193
3.2.6. Структуры MATLAB ...................................................... 196
3.2.7. Выполнение обычных задач программирования
с массивами ......................................................................... 198
3.3. Управление памятью массива............................................ 202
3.3.1. Автоматизированное управление памятью
против явного ...................................................................... 202
3.3.2. Использование автоматизированного
управления памятью ............................................................ 205
3.4. Индексация в массивах...................................................... 210
3.4.1. Введение .................................................................... 211
3.4.2. Функции индексации .................................................. 212
3.4.3. Индексация числовых массивов ................................. 214
3.4.4. Индексация массива ячеек ......................................... 220
3.4.5. Индексация массива структур .................................... 223
3.5. Вызов процедур библиотеки .............................................. 225
3.5.1. Как вызывать функции MATLAB .................................. 226
Содержание
Содержание
Содержание
Содержание
Содержание

3.5.2. Передача функций в качестве аргументов .................. 231
3.5.3. Замена списков параметров массивом ячеек ............. 238
3.6. Импорт и экспорт данных................................................... 239
3.7. Процедуры Математической библиотеки С ....................... 241

Глава 4. Математическая библиотека MATLAB®

для языка C++

4.1. Введение ........................................................................... 244
4.1.1. Установка Математической библиотеки ..................... 245
4.1.2. Каталоги Математической библиотеки ....................... 246
4.1.3. Документация Математической
библиотеки MATLAB C++ ...................................................... 248
4.1.4. Сходство и различие MATLAB и C++ ............................ 249
4.1.5. Знакомство с Математической
библиотекой MATLAB C++ .................................................... 250
4.1.6. Создание автономных С++приложений ..................... 252
4.1.7. Компиляция и компоновка приложения ...................... 255
4.2. Работа с массивами mwArray ............................................. 257
4.2.1. Числовые массивы...................................................... 258
4.2.2. Разреженные матрицы................................................ 263
4.2.3. Массивы символов ..................................................... 265
4.2.4. Массивы ячеек............................................................ 267
4.2.5. Структуры ................................................................... 270
4.2.6. Выполнение обычных задач программирования
с массивами ......................................................................... 271
4.3. Индексация в массивах...................................................... 278
4.3.1. Индексация числовых массивов ................................. 279
4.3.2. Индексация в массивах ячеек ..................................... 283
4.3.3. Индексация в массивах структур MATLAB ................... 286
4.3.4. Некоторые методы индексации .................................. 288
4.4. Вызов функций библиотеки ............................................... 289
4.4.1. Как вызывать функции библиотеки C++ ...................... 289
4.4.2. Представление входных аргументов
как массива ячеек ................................................................ 293
4.4.3. Передача функций в качестве аргументов .................. 294
4.4.4. Использование математических операторов .............. 296
4.4.5. Конфликты имен с функциями стандартной
библиотеки C........................................................................ 297
4.5. Ввод и вывод массивов...................................................... 299
4.5.1. Использование потока вводавывода массива ........... 299
Содержание
Содержание
Содержание
Содержание
Содержание

4.5.2. Использование функций ввода/вывода файлов .......... 301
4.5.3. Импорт и экспорт данных MATфайла ......................... 305
4.6. Интерфейс класса mwArray ................................................ 307
4.6.1. Конструкторы.............................................................. 308
4.6.2. Индексация................................................................. 309
4.6.3. Операторы .................................................................. 311
4.6.4. Размер массива .......................................................... 312
4.6.5. Извлечение данных из mwArray................................... 312

Глава 5. Компилятор MATLAB® версии 3.0

5.1. Введение в Компилятор MATLAB........................................ 315
5.1.1. Инсталляция и конфигурация ..................................... 316
5.1.2. Использование Компилятора mcc............................... 318
5.1.3. Конечные продукты Компилятора MATLAB .................. 320
5.1.4. Ограничения компиляторов ........................................ 323
5.1.5. Пример создания МЕХфайла ..................................... 324
5.2. Опции mbuild ..................................................................... 325
5.3. Опции Компилятора mcc.................................................... 328
5.3.1. Обычное использование Компилятора ....................... 328
5.3.2. Опции mcc .................................................................. 329
5.3.3. Использование опций и макроопций mcc ................... 332
5.3.4. Опции создания кода .................................................. 335
5.3.5. Опции настройки Компилятора и среды разработки .... 337
5.3.6. Опции mbuild/mex ....................................................... 339
5.4. Создание автономных приложений и библиотек ................ 340
5.4.1. Создание автономных приложений............................. 341
5.4.2. Создание общедоступных библиотек ......................... 346
5.4.3. Распространение автономных приложений ................ 352
5.5. Создаваемые Компилятором коды .................................... 353
5.5.1. Типы создаваемых файлов ......................................... 353
5.5.2. Внутренние функции интерфейса ............................... 356
5.5.3. Поддерживаемые выполнимые типы .......................... 360
5.5.4. Управление видом кода программы ........................... 362
5.5.5. Использование псевдокомментариев......................... 364
5.6. Выполнение оптимизации ................................................. 367

Глава 6. Компилятор MATLAB® версии 4

6.1. Введение ........................................................................... 372
6.1.1. Системные требования и ограничения ....................... 372
6.1.2. Различия между MATLAB Компилятором 4
и предыдущими версиями.................................................... 375
Содержание
Содержание
Содержание
Содержание
Содержание

6.1.3. Использования Компилятора MATLAB ........................ 378
6.2. Процесс трансляции .......................................................... 379
6.2.1. Обзор технологии Компилятора MATLAB .................... 379
6.2.2. Файлы, создаваемые mcc ........................................... 381
6.2.3. Функция mbuild ........................................................... 382
6.3. Работа с программой mcc.................................................. 384
6.3.1. Опции mcc .................................................................. 385
6.3.2. Использование файлов групп ..................................... 392
6.3.3. Использование файлов обертки ................................. 394
6.3.4. Использование псевдокомментариев......................... 394
6.3.5. Скриптфайлы ............................................................ 395
6.4. Автономные приложения ................................................... 396
6.4.1. Создание кода только из mфайлов ............................ 396
6.4.2. Объединение Мфайлов и кода C или C++ .................. 398
6.4.3. Управление путями при компиляции........................... 400
6.4.4. Пропущенные функции ............................................... 402
6.4.5. Автономное Сприложение для пользователя............. 402
6.5. Библиотеки ........................................................................ 404
6.5.1. Библиотека совместного использования C ................. 405
6.5.2. C++библиотека совместного использования............. 409
6.5.3. Функции, созданные из mфайлов .............................. 412
6.5.4. Использование varargin
и varargout в интерфейсе mфункции ................................... 413

Глава 7. Создание приложений
на Borland С++ Builder с использованием
Математической библиотеки С++ MATLAB®

7.1. Чтение, обработка и запись данных ................................... 415
7.2. Построение графиков данных mwArray .............................. 421
7.3. Пакетное вейвлетразложение сигнала ............................. 425
7.3.1. Описание пакетного вейвлетразложения .................. 425
7.3.2. Описание функций программы ................................... 426
7.3.3. Описание работы программы ..................................... 428

Приложение 1. Функции Математической
библиотеки C++ MATLAB®

П.1.1. Операторы...................................................................... 437
П.1.2. Функции Математической библиотеки MATLAB C++ ....... 439
1.2.1. Функции ввода/вывода файлов .................................. 439
1.2.2. Операторы и специальные функции............................ 440
Содержание
Содержание
Содержание
Содержание
Содержание

1.2.3. Элементарные матрицы и управление матрицами ..... 442
1.2.4. Элементарные математические функции ................... 443
1.2.5. Специализированные математические функции ........ 444
1.2.6. Численная линейная алгебра ...................................... 445
1.2.7. Анализ данных и преобразования Фурье .................... 446
1.2.8. Полиномы и интерполяционные функции ................... 447
1.2.9. Функции от функций и решение обыкновенных
дифференциальных уравнений ............................................ 448
1.2.10. Типы данных ............................................................. 449
1.2.11. Функции многомерных массивов .............................. 449
1.2.12. Функции строк символов .......................................... 449
1.2.13. Функции массива ячеек ............................................ 450
1.2.14. Функции структур...................................................... 451
1.2.15. Функции разреженных матриц .................................. 451
1.2.16.  Время и даты............................................................ 452
П.1.3. Сервисные функции ....................................................... 452
П.1.4. Функции доступа к массивам.......................................... 455

Приложение 2. Библиотека классов C++
Компилятора 4 MATLAB®

П.2.1. Основные типы данных ................................................... 458
П.2.2. Класс mwString ............................................................... 458
2.2.1. Конструкторы.............................................................. 459
2.2.2. Методы ....................................................................... 460
2.2.3. Операторы .................................................................. 460
П.2.3. Класс mwException ......................................................... 462
2.3.1. Конструкторы.............................................................. 462
2.3.2. Методы ....................................................................... 464
2.3.3. Операторы .................................................................. 464
П.2.4. Класс mwArray ................................................................ 465
2.4.1. Конструкторы.............................................................. 466
2.4.2. Методы ....................................................................... 470
2.4.3. Операторы .................................................................. 481
2.4.4. Статические методы ................................................... 482

Содержание компактдиска .................................................. 485

Литература................................................................................ 489

Предметный указатель .......................................................... 490
Предисловие

Данная книга посвящена изложению вопросов совместного использования богатой библиотеки визуальных компонент Borland C++ Builder и возможностей
языка С++ с мощными математическими процедурами MATLAB®. Книга содержит основы программирования в Borland C++ Builder и на MATLAB, описание
математических библиотек MATLAB для С/С++ и компиляторов MATLAB
(включая последнюю версию). Рассматриваются примеры программ на Borland
C++ Builder, которые используют математические библиотеки MATLAB. Хотя
книг по основам системы MATLAB и по программированию на С/С++ и на
Borland C++ Builder достаточно много, в настоящее время нет ни одной книги,
в которой были бы изложены вопросы совместного использования MATLAB
и С/С++ и Borland C++ Builder.
Книга предназначена преподавателям и студентам вузов по специальностям,
близким к прикладной математике (математическая подготовка читателя предполагается в пределах технического вуза), профессиональным программистам
С++, которые сталкиваются с проблемами реализации математических алгоритмов на С++, и MATLABпрограммистам, которые хотят использовать гибкость
языка С++ и богатую библиотеку визуальных компонент Borland C++ Builder
для реализации алгоритмов MATLAB в виде законченных и независимых от
MATLAB приложений.
Углубленное программирование на MATLAB предполагает использование
языка С для создания МЕХфайлов, создание автономных приложений на
MATLAB, создание библиотек (dll) функций. Это направление в MATLAB представлено тремя пакетами расширений: MATLAB C Math Library, MATLAB C++
Math Library и MATLAB Compiler – математические библиотеки С/С++ MATLAB
и Компилятор MATLAB. На сегодняшний день эти пакеты не отражены ни в одной книге по MATLAB.
Стандартная математическая библиотека С++ содержит около 20 элементарных функций. Поэтому создание программы на С++, где даже немного используется математика, возможно, но требует серьезной работы по программированию
математических функций и процедур. Даже такая простая задача, как вычисление ранга матрицы, требует от программиста очень больших усилий. Система
MATLAB в своих пакетах MATLAB C/C++ Math Library и MATLAB Compiler
предлагает богатую коллекцию математических функций (более 400), которые
могут быть эффективно использованы программистами С/С++. При программировании на С++ имеются определенные трудности использования математических библиотек MATLAB. Предлагаемая книга рассказывает, как решить эти
проблемы. Освоение технологии использования математических библиотек
11
11
11
11

MATLAB в Borland C++ Builder позволит создавать полноценные Windowsприложения с развитой графической средой, в которых возможна реализация сложных математических алгоритмов.
Рассмотрим кратко содержание данной книги по главам.
Первая глава представляет краткое введение в программирование на Borland
С++ Builder 6. Она предназначена для читателей, которые немного владеют программированием, например на MATLAB, но не на С/С++. Дается общая характеристика системы, ее возможности, инструментальные средства Borland С++
Builder. Рассматриваются файлы, создаваемые Borland С++ Builder при построении проекта, их характеристики и взаимосвязи. Дается краткий обзор программирования на С++.
Вторая глава содержит первоначальные сведения о системе MATLAB. Она
предназначена для читателей, которые немного владеют программированием, но
не на MATLAB. Глава содержит описание работы с числовыми массивами, массивами символов, массивами ячеек и структур и основы программирования в среде
MATLAB.
Глава 3 является введением в Математическую библиотеку C. Данная библиотека представляет собой набор более чем 400 математических подпрограмм,
написанных на языке C. Библиотека предлагает определенные типы массивов,
аналогичных массивам MATLAB, и свой язык для использования математических функций и массивов в программах на С. Глава содержит детальный анализ
ряда тестовых примеров Спрограмм, в которых используются функции Математической библиотеки С (все эти примеры входят в инсталляционный пакет Математической библиотеки С).
Глава 4 посвящена описанию Математической библиотеки MATLAB C++.
Данная библиотека основана на Математической библиотеке С, главное, что изменилось, – это синтаксис вызова математических процедур библиотеки. Язык
Математической библиотеки C++ стал почти таким же интуитивно понятным и
кратким, как в MATLAB. Математическая библиотека C++ использует класс
mwArray для представления всех типов массивов MATLAB.
Пятая глава посвящена описанию пакета расширения MATLAB Compiler
версии 3 (для MATLAB 6.х). Компилятор MATLAB из mфайлов MATLAB может создать MEXфайлы, C или C++ исходные коды, автономные приложения,
библиотеки общего доступа, Cкоды Sфункций для использования с Simulink,
дополнения Excel и COMобъекты. Изложение материала сопровождается обсуждением многочисленных тестовых примеров MATLAB 6 (все эти примеры
входят в инсталляционный пакет MATLAB Compiler).
Глава 6 является введением в Компилятор версии 4 (для MATLAB R14) и его
использование. Данная версия Компилятора существенно отличается от предыдущей. В частности, Компилятор 4 включает все математические библиотеки
MATLAB (они в MATLAB R14 даже не выделены в отдельный пакет расширения). Возможности Компилятора огромны. Компилятор MATLAB поддерживает
почти все функциональные возможности MATLAB.

Предисловие
Предисловие
Предисловие
Предисловие
Предисловие
12
12
12
12
Предисловие
Предисловие
Предисловие
Предисловие
Предисловие

В последней главе 7 на примерах рассматривается создание Windowsприложений на Borland С++ Builder с использованием Математической библиотеки
MATLAB С++. Полные тексты этих примеров записаны на компактдиске, прилагаемом к данной книге.
Книга имеет три приложения. Первое приложение содержит полный перечень
функций и процедур Математической библиотеки MATLAB С++. Приложение 2
содержит описание библиотеки классов C++ для Компилятора MATLAB последней версии 4. Третье приложение есть компактдиск с примерами программ,
рассматриваемых в данной книге.
Книга написана при содействии корпорации MathWorks в соответствии
с программой MathWorks поддержки книг, посвященных MATLAB®. Авторы
благодарят компанию MathWorks за предоставленную возможность использования документации и лицензионного программного обеспечения MATLAB® для
написания этой книги.
Глава 1. Основы программирования
на Borland C++ Builder

Borland C++ Builder является средством быстрой разработки приложений
(Rapid Application Development Environment), позволяющим создавать приложения на языке C++ и использующим в качестве основы библиотеку визуальных
компонентов (Visual Component Library), позаимствованную у Borland Delphi.
Сведения, приведенные в данной главе, ориентированы на читателя, уже имеющего навыки программирования. В главе будут рассмотрены: основы языка С++,
среда разработки C++ Builder, основные приемы, применяемые при проектировании пользовательского интерфейса, а также простые примеры построения математических графиков.
1.1. Среда разработки

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

Рис.1.1.1. Среда разработки C++ Builder
14
14
14
14
Глава 1. Основы программирования
Глава 1. Основы программирования
Глава 1. Основы программирования
Глава 1. Основы программирования
Глава 1. Основы программирования

Builder отображаются окно дерева объектов (Object Tree View), окно инспектора
объектов (Object Inspector), форма нового приложения (например, Form1) и
окно редактора кода (например, Unit1.cpp).

1.1.1. Панель инструментов

Рассмотрим панель инструментов, на которой стандартно размещены 16 кнопок быстрого доступа (все эти кнопки соответствуют определенным пунктам
меню). Этими кнопками являются: «новый файл», «открыть проект», «сохранить», «сохранить все», «добавить к проекту», «выбрать модуль», «выбрать форму», «запустить», «пауза» и т. д. Панель инструментов можно полностью перенастроить под собственные предпочтения, внеся в нее требуемые комманды меню
или удалив ненужные.

1.1.2. Палитра компонентов

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

1.1.3. Редактор форм

Формы являются основой для разработки интерфейса приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы компонентов (объектов) C++ Builder и задания некоторой реакции компонента на события. Для помещения компонента в форму необходимо
щелкнуть на его пиктограмме в палитре компонентов, а затем щелкнуть на нужном
месте в вашей форме, при этом новому компоненту (экземпляру класса) будет автоматически присвоено имя и заполнены некоторые свойства, например отвечающие за местоположение компонента в форме. При этом в заголовочном файле формы появится строка типа TLabel *Label1 (в public разделе объявлений). Если
вы хотите разместить несколько копий компонентов одного типа, то, выбрав в палитре необходимый компонент и удерживая клавишу Shift, кликая мышкой, помещайте в форму сколько угодно компонентов. При завершении процесса тиражирования щелкните на быструю кнопку «стрелка» в палитре компонентов.

1.1.4. Редактор кода

Окно редактора кода разделено на расположенный слева проводник классов
(ClassExplorer) и непосредственно сам редактор кода справа. Проводник классов
позволяет оперативно следить за развитием собственной программы, а также ви
15
15
15
15

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

1.1.5. Инспектор объектов

Инспектор объектов работает совместно с редактором форм. Инспектор
объектов предназначен для установки значений свойств, доступных на этапе разработки. Окно инспектора объектов состоит из: Селектора компонентов, Закладки Properties (свойства) и Закладки Events (события). О свойствах и событиях
мы подробнее поговорим при изучении компонентов.
Селектор представляет собой выпадающий комбинированный список, в котором отображены все компоненты формы. Выбранный в списке компонент будет выделен в форме.
Закладка Properties отображает все свойства текущего компонента, доступные на этапе разработки. Если вы выбрали в форме несколько компонентов, то
инспектор объектов отобразит их общие свойства. В левом столбце вы видите
имя свойства, а в правом – установленное значение. Практически все значения
можно поменять прямым вводом значения в правом столбце, но во многих случаях редактор свойств содержит список возможных значений. У некоторых свойств
(например, Font) стоит знак плюс. Это означает, что данное свойство представляет собой другой объект, также содержащий набор свойств. Щелкнув на плюс, вы
раскроете весь набор. Для свойств, представляющих собой объекты, есть второй
способ редактирования свойств: нужно щелкнуть в столбце значений на многоточие, при этом раскроется соответствующее окно редактора свойств. Для редактирования некоторых свойств можно пользоваться только многоточием.
Закладка Events содержит список событий, которые может обрабатывать данный компонент. Использование этой закладки заключается в том, чтобы соответствующим событиям назначить имена функций, которые будут выполняться при
возникновении этого события. Это позволяет нескольким компонентам, в случае
указания одной и той же функции, одинаково реагировать на одно и то же событие. Если вы хотите написать отдельный код для этого события, то самый
простой вариант – это просто дважды щелкнуть в столбце значений соответствующего события. При этом автоматически будет создана функция для этого
события.

1.1. Среда разработки
1.1. Среда разработки
1.1. Среда разработки
1.1. Среда разработки
1.1. Среда разработки
16
16
16
16
Глава 1. Основы программирования
Глава 1. Основы программирования
Глава 1. Основы программирования
Глава 1. Основы программирования
Глава 1. Основы программирования

1.1.6. Менеджер проекта

Файлы, образующие программное приложение (формы и модули), собраны в
проект. Менеджер проекта показывает список файлов и модулей приложения,
позволяя осуществлять навигацию между ними. Менеджер проектов можно вызвать, выбрав пункт меню View/Project Manager. По умолчанию вновь созданный
проект получает имя Project1.cpp.

Рис. 1.1.2. Менеджер проекта

Первоначально проект содержит файлы для одной формы и исходного кода
одного модуля. Однако большинство проектов содержат несколько форм и модулей. Можно добавлять существующие формы и модули к проекту: для этого нужно щелкнуть правой кнопкой мыши по проектному файлу (в окне менеджера проекта отображается жирным шрифтом) и выбрать пункт Add контекстного меню
менеджера проектов, затем выбирать модуль или форму, которую нужно добавить. Аналогичным образом формы и модули можно удалять в любой момент из
разработки проекта. Однако, изза того что форма с модулем всегда связаны,
нельзя удалять одно без удаления другого, за исключением случая, когда модуль
изначально не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove менеджера проектов или через контекстное меню.
Если выбрать пункт меню Options в менеджере проектов, откроется диалоговая панель опций проекта (рис. 1.1.3), в которой можно выбрать главную форму
приложения, определить, какие формы будут создаваться динамически, каковы
будут параметры компиляции и компоновки модулей.

1.1.7. Контекстное меню

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

1.1.8. Контекстная помощь

Разумеется, C++ Builder обладает встроенной системой контекстнозависимой помощи, доступной для любого элемента интерфейса и являющейся обшир
17
17
17
17

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

Под компонентами C++ Builder понимаются классы С++, которые размещены в палитре компонентов и могут быть перенесены в разрабатываемую форму. Компоненты C++ Builder разделяются на визуальные и невизуальные. Визуальные компоненты во время выполнения разработанного приложения
отображаются на форме точно так же, как и во время проектирования. Этот
класс компонент, исходя из названия, необходим для представления данных на
экране компьютера. Примерами таких компонент являются поля редактирования, статический текст, кнопки, списки и т. д. Следует также отметить, что во
время выполнения программы, при необходимости, они могут быть видимыми
и невидимыми. Невизуальные компоненты во время исполнения программы не
отображаются, а в процессе проектирования отображаются на форме в виде соответствующих иконок. Такие компоненты обладают определенной функциональностью (например, вызывают стандартные диалоги открытия или закрытия файлов, обрабатывают системные события, обеспечивают доступ к базам
данным и т. д.)

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

Рис. 1.1.3. Установка опций проекта
Доступ онлайн
349 ₽
В корзину