Рейсдорф К. Хендерсон К.- Borland C++ Builder. Освой самостоятельно.

0 Pages • 2,264 Words • PDF • 95.2 MB
Uploaded at 2021-09-24 18:21

This document was submitted by our user and they confirm that they have the consent to share it. Assuming that you are writer or own the copyright of this document, report to us by using this DMCA report button.


Кент Рейсдорф и Кен Хендерсон BORLAND C++BUILDER. ОСВОЙ САМОСТОЯТЕЛЬНО Данная книга представляет собой практический курс программирования в C++Builder — новой среде фирмы Borland, предназначенной для визуальной разработки приложений на языке Си++. Книга адресована широкому кругу пользователей — от только начинающих изучать программирование до опытных программистов, работавших в средах Borland C++ и Borland Delphi. Содержание Введение 19 1-я неделя. Краткий обзор 21 День 1. Первое знакомство 23 Что такое C++Builder? 23 Обзор IDE C++Builder 24 Hello World 26 Hello World, часть II — консольное приложение Win32 28 Обзор языка Си++ 33 Истоки Си++ 34 Переменные 34 Типы данных Си++ 35 Операторы Си++ 37 Функции Си++ 39 Функция main() 43 Массивы 45 Символьные массивы 47 Заключение 51 Вопросы и задания 52 Вопросы и ответы 52 Вопросы 52 Упражнения 53 День 2. Операторы управления и структуры 55 Оператор if 55 Циклы 59 Цикл for 60 Цикл while 62 Цикл do-while 63 Оператор goto 63 Операторы continue и break 64 Оператор switch 65 Области видимости 66 Переменные extern 69 Структуры 69 Массивы структур 71 Заголовки и исходные файлы 71

Пример использования структур Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 3. Указатели, ссылки и функции в Си++ Указатели Локальное и динамическое распределение памяти Динамическое размещение объектов и указатели Назад к нашей программе Разыменование указателей Собираем все вместе Ссылки Передача аргументов функции с использованием ссылок и указателей Ключевое слово const Операторы new и delete Оператор new Оператор delete Решение еще одной загадки new[] и delete[] Функции в Си++ Перегрузка функций Аргументы, передаваемые по умолчанию Функции-члены класса Подставляемые функции Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 4. Классы и объектно-ориентированное программирование Что такое класс? Анатомия класса Уровни доступа к членам класса Конструкторы Списки инициализаторов Деструкторы Члены-данные Функции-члены Что такое this? Один пример Наследование

73 76 77 77 77 78 79 79 80 81 82 83 85 87 89 91 92 92 93 95 95 96 96 98 99 100 101 101 101 102 102 103 103 104 104 106 108 109 110 112 113 115 122

Множественное наследование Базовый файловый ввод-вывод Ввод из файла Вывод в файл Режимы открытия файлов Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 5. Библиотеки классов Си++ и модель визуальных компонентов Краткая история Зачем нужны библиотеки классов? Какой ценой все это дается? Библиотеки классов как пример объектно-ориентированного программирования Сравнение библиотек классов Си++ Библиотека объектов Windows фирмы Borland Библиотека базовых классов фирмы Microsoft Кто же победитель? Библиотека визуальных компонентов Компоненты Свойства, методы и события C++Builder и VCL VCL для программиста на Си++ Структура VCL Классы форм и приложений Классы компонентов Но это еще не все... Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 6. Изучение IDE C++Builder: проекты и формы Проекты в C++Builder Файлы, используемые в проектах C++Builder Модули исходного кода Главное меню и панель инструментов C++Builder Использование палитры компонентов Размещение нескольких копий компонента Размещение компонента в центре формы Контекстное меню палитры компонентов

124 126 127 129 130 131 132 132 133 133 135 135 136 138 138 139 139 140 141 141 142 142 154 155 157 158 158 162 163 163 164 165 165 167 168 168 172 173 175 175 176 176

Перемещение по палитре компонентов Приложение, содержащее несколько форм Компиляция, построение и компоновка Компиляция и построение других программ на Си++ Дополнительные сведения о формах C++Builder Формы для главного окна Формы для диалоговых окон Сравнение вторичных и диалоговых окон Модель многодокументного интерфейса Основные свойства форм Методы форм События форм Инспектор объектов Селектор компонентов Вкладка Properties Вкладка Events Пример MDI-программы Шаг 1: Создание формы для главного окна Шаг 2: Написание кода для пунктов меню File | Open и File | Save As Шаг 3: Написание кода для меню Window Шаг 4: Создание подчиненной формы MDI Шаг 5: Создание окна About Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 7. Работа с редактором форм и редактором меню Работа с редактором форм Контекстное меню редактора форм Размещение компонентов Сетка редактора форм Выделение компонентов Перемещение компонентов Защита компонентов от перемещения и изменения размера Упорядочивание компонентов и работа с буфером обмена Изменение размера компонентов Выравнивание компонентов Меню, пожалуйста! Создание главного меню Написание кода Контекстные меню Создание и сохранение шаблонов меню

176 177 179 181 182 182 183 188 188 188 191 192 193 194 195 196 197 197 199 201 201 202 204 205 205 206 206 209 209 209 210 211 212 216 217 218 219 221 230 231 238 244 245

Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения 1-я неделя. Подведение итогов 2-я неделя. Краткий обзор День 8. Компоненты VCL Обзор Визуальные и невизуальные компоненты Свойство Name Важные общие свойства Свойство Align Свойство Color Курсоры Свойство Enabled Свойство Font Подсказки Свойства ParentColor, ParentCtl3D, ParentFont и ParentShowHint Свойство Tag Другие общие свойства Основные методы компонентов Основные события Класс TStrings Стандартные элементы управления Windows Элементы редактирования Компоненты ListBox и ComboBox Кнопки Основы работы с кнопками Компонент Label Компонент ScrollBar Компонент Panel И это еще не все... Стандартные диалоговые окна Метод Execute Диалоговые окна File Open и File Save Диалоговое окно Color Диалоговое окно Font Диалоговые окна Find и Replace Заключение Вопросы и задания Вопросы и ответы Вопросы

246 246 246 247 247 249 251 253 253 254 254 256 256 256 258 258 259 260 261 261 262 262 263 265 266 267 270 273 274 281 282 282 283 284 284 285 287 288 288 289 289 289 291

Упражнения День 9. Создание приложений в C++Builder Работа с репозиторием объектов Страницы и опции репозитория объектов Создание новых объектов из репозитория Добавление объектов в репозиторий Добавление проектов в репозиторий Конфигурирование репозитория объектов Создание форм и приложений с помощью мастеров Мастер диалогов Создание приложений с помощью мастера приложений Добавление функций и членов-данных в исходный код Как C++Builder управляет объявлениями классов Включение функций в программу Добавление членов-данных класса Удаление кода, созданного C++Builder Использование файлов ресурсов Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 10. Подробнее о проектах Проекты нужны всем Менеджер проектов Окно менеджера проектов Оперативная панель менеджера проектов Исследование проектов Команды проводника проекта Опции проекта Вкладка Forms Вкладка Application Вкладка С++ Вкладка Pascal Вкладка Linker Вкладка Directories/Conditionals Редактор кода C++Builder Основные операции редактора Специальные возможности редактора Контекстное меню редактора кода Изменение опций редактора Заключение Вопросы и задания

291 293 293 294 297 298 300 300 302 303 304 308 309 311 313 313 314 320 321 321 322 322 325 325 325 325 327 330 331 332 333 335 336 340 340 342 343 344 348 350 351 355 355

Вопросы и ответы Вопросы Упражнения День 11. Работа с отладчиком Для чего нужен отладчик? Отладочные пункты меню Контрольные точки Установка и удаление контрольных точек Окно списка контрольных точек Простые контрольные точки Условные контрольные точки Команда Run to Cursor Наблюдение за переменными Контекстное меню списка объектов наблюдения Диалоговое окно Watch Properties Разрешение и запрещение наблюдения за объектами Добавление переменных в список объектов наблюдения Использование списка объектов наблюдения Инспектор отладки Другие инструменты отладки Evaluate/Modify Просмотр стека вызовов CPU View Команда Go to Address Пошаговое выполнение программы Методика отладки Диагностические макросы: TRACE и WARN Отслеживание GPF Короткие советы по отладке Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 12. Вспомогательные инструменты и опции C++Builder Редактор изображений Цвета переднего плана и фона Инструменты рисования редактора изображений Масштабирование изображения Палитра толщины линии Работа с файлами растровых изображений Редактирование значков Редактирование курсоров

355 356 357 359 360 360 361 362 363 365 365 366 367 367 368 369 369 370 372 375 375 376 377 377 378 380 380 382 383 384 385 385 386 387 389 389 390 392 393 394 395 396 398

Контекстные меню редактора изображений Создание проекта ресурсов WinSight: наблюдение за Windows Система сообщений Windows Дерево окон Окно трассировки сообщений Наблюдение за окном Опции трассировки сообщений Другие возможности WinSight Инструменты командной строки grep.exe implib.exe touch.exe tdump.exe Конфигурирование меню Tools Диалоговое окно Configure Tools Установка опций среды Вкладка Preferences Вкладка Library Вкладка Palette Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 13. После изучения основ Декоративные элементы окна Оперативные панели Строки состояния Панели инструментов Управление доступом к командам Проблемы управления доступом к командам К спасительному Onldle От теории к практике В заключение... Печать в приложениях C++Builder Стандартные диалоговые окна печати Простой способ печати Печать через QuickReport Сложный способ печати Использование курсоров Курсоры Загрузка и использование базовых курсоров

399 399 401 402 403 404 404 405 406 408 409 410 411 412 413 413 415 415 417 417 418 419 419 420 421 423 423 423 429 436 436 436 438 438 440 440 441 443 445 445 451 451 452

Загрузка и использование курсоров пользователя Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 14. Углубленное программирование Реализация контекстно-зависимой справки Создание справочного файла Идентификаторы контекста и свойство HelpContext Реализация контекстно-зависимой справки Использование заголовочных файлов справки Практика Обработка исключений Ключевые слова обработки исключений: try, catch и throw Захват исключений с try и catch Формирование исключений Захват Захват необрабатываемых исключений на уровне приложения Отладка с обработкой исключений Работа с реестром Ключи реестра Типы данных реестра Класс TRegistry Использование TRegistry Специальная обработка сообщений Более подробно о сообщениях Windows Отправление и пересылка Обработка событий Обработка других сообщений Windows Сообщения, определяемые пользователем Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения 2-я неделя. Подведение итогов 3-я неделя. Краткий обзор День 15. OLE, ActiveX и OCX Autosrv и Autocon Создание собственного автоматизированного сервера Olemdi и Olesdi Olemdi изнутри

453 454 454 455 456 456 459 459 460 461 461 464 465 466 467 467 468 469 471 472 473 474 475 475 477 483 484 486 487 488 493 494 494 494 495 496 497 511 513 514 518 524 525

Элементы управления OCX Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 16. Архитектура доступа к базам данных в C++Builder Некоторые термины, которые необходимо знать Обзор архитектуры Обзор компонентов C++Builder, обеспечивающих работу с базами данных TSession TDatabase TTable TQuery TStoredProc TBatchMove TDataSource TUpdateSQL TField Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 17. Создание форм для работы с базами данных Простая форма Мастер форм баз данных Изучение созданной формы Создание простой формы сложным способом Запуск новой формы Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 18. Построение приложений для работы с базами данных Компонент TDatabase Псевдонимы BDE Модули данных Создание формы главный/подчиненный Отчеты Заключение Вопросы и задания

526 526 527 527 527 527 529 529 532 534 535 537 541 549 554 558 560 561 563 566 566 566 567 567 569 569 569 573 575 579 580 580 580 581 581 583 583 584 586 589 593 595 595

Вопросы и ответы Вопросы Упражнения День 19. Создание и использование DLL Обзор DLL Что представляет собой динамически компонуемая библиотека? Почему стоит использовать DLL? Вызов функций и использование классов в DLL Загрузка DLL Вызов функций, расположенных в DLL Создание DLL Импорт и экспорт функций и классов Секрет заголовков DLL Создание DLL с помощью репозитория объектов Создание библиотеки импорта Создание вызывающего приложения Добавление #include для заголовка DLL Добавление файла библиотеки импорта Использование форм в DLL Вызов формы DLL из приложения C++Builder Использование ресурсов в DLL Создание DLL ресурсов Использование ресурсов DLL Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 20. Создание компонентов Предварительные сведения Изменение существующих компонентов Создание компонентов заново Регистрация компонента Мастер компонентов Создание компонента Написание свойств Свойства имеют базовые члены-данные. Свойства имеют методы записи Свойства имеют методы чтения Свойства могут использовать прямой доступ Свойства могут быть доступны только для записи или только для чтения Свойства могут иметь значения по умолчанию Свойства могут быть отображаемыми или неотображаемыми

595 596 596 597 597 597 598 601 602 602 603 604 607 608 612 613 614 614 615 615 618 618 620 621 621 621 623 623 625 625 627 627 627 628 629 631 631 632 633 634 634 635 636

Написание методов для компонентов Уровни доступа для компонентов TFlashingLabel: пример компонента Предварительное планирование Тестирование компонента Добавление компонента в библиотеку компонентов Диалоговое окно Install Components Инсталляция компонента FlashingLabel Добавление значка для кнопки компонента Написание событий для компонентов Обзор событий План работы Замещение событий базового класса Собираем все вместе Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 21. C++Builder и Delphi Основные различия между C++Builder и Delphi Другие различия между C++Builder и Delphi Файлы проектов Библиотека компонентов Поддержка нескольких языков программирования Заголовочные файлы Эмуляция элементов Delphi в C++Builder Изменения в компиляторе Новые классы Поддержка компонентов Открытые массивы Среда разработки Доступ к базам данных Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения 3-я неделя. Подведение итогов День 22. Создание приложений для Internet Общие сведения Обзор вкладки Internet палитры компонентов Создание собственного Web-браузера

636 636 637 642 643 645 645 646 647 648 648 649 653 654 659 660 660 661 661 663 663 664 664 664 665 665 665 665 665 665 666 666 667 667 667 667 667 668 669 671 671 672 673

«Оживление» новой формы Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения День 23. Расширения Си++ в C++Builder Немного истории Расширения языка: великие дебаты Новые ключевые слова Си++ в C++Builder _automated _classid _closure _declspec _int8, _intl6, _int32, _int64 _property _published Заключение Вопросы и задания Вопросы и ответы Вопросы Упражнения Приложение А. Ответы на вопросы День 1 День 2 День 3 День 4 День 5 День 6 День 7 День 8 День 9 День 10 День 11 День 12 День 13 День 14 День 15 День 16 День 17 День 18 День 19 День 20

675 681 681 681 682 682 683 683 684 686 687 687 687 687 688 688 690 691 691 691 692 692 693 693 693 694 694 695 695 696 696 697 697 697 698 698 699 699 699 700 700 700 701

День 21 День 22 День 23

701 702 702
Рейсдорф К. Хендерсон К.- Borland C++ Builder. Освой самостоятельно.

Related documents

1,200 Pages • 301,805 Words • PDF • 9 MB

2,038 Pages • 219,396 Words • PDF • 19.3 MB

135 Pages • 35,241 Words • PDF • 641.3 KB

1,122 Pages • 331,544 Words • PDF • 11.1 MB

1 Pages • 55 Words • PDF • 600.8 KB

147 Pages • 56,940 Words • PDF • 938.8 KB

104 Pages • 54,011 Words • PDF • 667.4 KB

8 Pages • 2,842 Words • PDF • 151.6 KB

267 Pages • 60,475 Words • PDF • 15.6 MB

150 Pages • PDF • 11.2 MB

962 Pages • 266,995 Words • PDF • 18 MB