SlideShare a Scribd company logo
1 of 700
Download to read offline
Кент Рейсдорф и Кен Хендерсон
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
Пример использования структур 73
Заключение 76
Вопросы и задания 77
Вопросы и ответы 77
Вопросы 77
Упражнения 78
День 3. Указатели, ссылки и функции в Си++ 79
Указатели 79
Локальное и динамическое распределение памяти 80
Динамическое размещение объектов и указатели 81
Назад к нашей программе 82
Разыменование указателей 83
Собираем все вместе 85
Ссылки 87
Передача аргументов функции с использованием ссылок и указателей 89
Ключевое слово const 91
Операторы new и delete 92
Оператор new 92
Оператор delete 93
Решение еще одной загадки 95
new[] и delete[] 95
Функции в Си++ 96
Перегрузка функций 96
Аргументы, передаваемые по умолчанию 98
Функции-члены класса 99
Подставляемые функции 100
Заключение 101
Вопросы и задания 101
Вопросы и ответы 101
Вопросы 102
Упражнения 102
День 4. Классы и объектно-ориентированное программирование 103
Что такое класс? 103
Анатомия класса 104
Уровни доступа к членам класса 104
Конструкторы 106
Списки инициализаторов 108
Деструкторы 109
Члены-данные 110
Функции-члены 112
Что такое this? 113
Один пример 115
Наследование 122
Множественное наследование 124
Базовый файловый ввод-вывод 126
Ввод из файла 127
Вывод в файл 129
Режимы открытия файлов 130
Заключение 131
Вопросы и задания 132
Вопросы и ответы 132
Вопросы 133
Упражнения 133
День 5. Библиотеки классов Си++ и модель визуальных компонентов 135
Краткая история 135
Зачем нужны библиотеки классов? 136
Какой ценой все это дается? 138
Библиотеки классов как пример объектно-ориентированного
программирования
138
Сравнение библиотек классов Си++ 139
Библиотека объектов Windows фирмы Borland 139
Библиотека базовых классов фирмы Microsoft 140
Кто же победитель? 141
Библиотека визуальных компонентов 141
Компоненты 142
Свойства, методы и события 142
C++Builder и VCL 154
VCL для программиста на Си++ 155
Структура VCL 157
Классы форм и приложений 158
Классы компонентов 158
Но это еще не все... 162
Заключение 163
Вопросы и задания 163
Вопросы и ответы 164
Вопросы 165
Упражнения 165
День 6. Изучение IDE C++Builder: проекты и формы 167
Проекты в C++Builder 168
Файлы, используемые в проектах C++Builder 168
Модули исходного кода 172
Главное меню и панель инструментов C++Builder 173
Использование палитры компонентов 175
Размещение нескольких копий компонента 175
Размещение компонента в центре формы 176
Контекстное меню палитры компонентов 176
Перемещение по палитре компонентов 176
Приложение, содержащее несколько форм 177
Компиляция, построение и компоновка 179
Компиляция и построение других программ на Си++ 181
Дополнительные сведения о формах C++Builder 182
Формы для главного окна 182
Формы для диалоговых окон 183
Сравнение вторичных и диалоговых окон 188
Модель многодокументного интерфейса 188
Основные свойства форм 188
Методы форм 191
События форм 192
Инспектор объектов 193
Селектор компонентов 194
Вкладка Properties 195
Вкладка Events 196
Пример MDI-программы 197
Шаг 1: Создание формы для главного окна 197
Шаг 2: Написание кода для пунктов меню File | Open и File | Save As 199
Шаг 3: Написание кода для меню Window 201
Шаг 4: Создание подчиненной формы MDI 201
Шаг 5: Создание окна About 202
Заключение 204
Вопросы и задания 205
Вопросы и ответы 205
Вопросы 206
Упражнения 206
День 7. Работа с редактором форм и редактором меню 209
Работа с редактором форм 209
Контекстное меню редактора форм 209
Размещение компонентов 210
Сетка редактора форм 211
Выделение компонентов 212
Перемещение компонентов 216
Защита компонентов от перемещения и изменения размера 217
Упорядочивание компонентов и работа с буфером обмена 218
Изменение размера компонентов 219
Выравнивание компонентов 221
Меню, пожалуйста! 230
Создание главного меню 231
Написание кода 238
Контекстные меню 244
Создание и сохранение шаблонов меню 245
Заключение 246
Вопросы и задания 246
Вопросы и ответы 246
Вопросы 247
Упражнения 247
1-я неделя. Подведение итогов 249
2-я неделя. Краткий обзор 251
День 8. Компоненты VCL 253
Обзор 253
Визуальные и невизуальные компоненты 254
Свойство Name 254
Важные общие свойства 256
Свойство Align 256
Свойство Color 256
Курсоры 258
Свойство Enabled 258
Свойство Font 259
Подсказки 260
Свойства ParentColor, ParentCtl3D, ParentFont и ParentShowHint 261
Свойство Tag 261
Другие общие свойства 262
Основные методы компонентов 262
Основные события 263
Класс TStrings 265
Стандартные элементы управления Windows 266
Элементы редактирования 267
Компоненты ListBox и ComboBox 270
Кнопки 273
Основы работы с кнопками 274
Компонент Label 281
Компонент ScrollBar 282
Компонент Panel 282
И это еще не все... 283
Стандартные диалоговые окна 284
Метод Execute 284
Диалоговые окна File Open и File Save 285
Диалоговое окно Color 287
Диалоговое окно Font 288
Диалоговые окна Find и Replace 288
Заключение 289
Вопросы и задания 289
Вопросы и ответы 289
Вопросы 291
Упражнения 291
День 9. Создание приложений в C++Builder 293
Работа с репозиторием объектов 293
Страницы и опции репозитория объектов 294
Создание новых объектов из репозитория 297
Добавление объектов в репозиторий 298
Добавление проектов в репозиторий 300
Конфигурирование репозитория объектов 300
Создание форм и приложений с помощью мастеров 302
Мастер диалогов 303
Создание приложений с помощью мастера приложений 304
Добавление функций и членов-данных в исходный код 308
Как C++Builder управляет объявлениями классов 309
Включение функций в программу 311
Добавление членов-данных класса 313
Удаление кода, созданного C++Builder 313
Использование файлов ресурсов 314
Заключение 320
Вопросы и задания 321
Вопросы и ответы 321
Вопросы 322
Упражнения 322
День 10. Подробнее о проектах 325
Проекты нужны всем 325
Менеджер проектов 325
Окно менеджера проектов 325
Оперативная панель менеджера проектов 327
Исследование проектов 330
Команды проводника проекта 331
Опции проекта 332
Вкладка Forms 333
Вкладка Application 335
Вкладка С++ 336
Вкладка Pascal 340
Вкладка Linker 340
Вкладка Directories/Conditionals 342
Редактор кода C++Builder 343
Основные операции редактора 344
Специальные возможности редактора 348
Контекстное меню редактора кода 350
Изменение опций редактора 351
Заключение 355
Вопросы и задания 355
Вопросы и ответы 355
Вопросы 356
Упражнения 357
День 11. Работа с отладчиком 359
Для чего нужен отладчик? 360
Отладочные пункты меню 360
Контрольные точки 361
Установка и удаление контрольных точек 362
Окно списка контрольных точек 363
Простые контрольные точки 365
Условные контрольные точки 365
Команда Run to Cursor 366
Наблюдение за переменными 367
Контекстное меню списка объектов наблюдения 367
Диалоговое окно Watch Properties 368
Разрешение и запрещение наблюдения за объектами 369
Добавление переменных в список объектов наблюдения 369
Использование списка объектов наблюдения 370
Инспектор отладки 372
Другие инструменты отладки 375
Evaluate/Modify 375
Просмотр стека вызовов 376
CPU View 377
Команда Go to Address 377
Пошаговое выполнение программы 378
Методика отладки 380
Диагностические макросы: TRACE и WARN 380
Отслеживание GPF 382
Короткие советы по отладке 383
Заключение 384
Вопросы и задания 385
Вопросы и ответы 385
Вопросы 386
Упражнения 387
День 12. Вспомогательные инструменты и опции C++Builder 389
Редактор изображений 389
Цвета переднего плана и фона 390
Инструменты рисования редактора изображений 392
Масштабирование изображения 393
Палитра толщины линии 394
Работа с файлами растровых изображений 395
Редактирование значков 396
Редактирование курсоров 398
Контекстные меню редактора изображений 399
Создание проекта ресурсов 399
WinSight: наблюдение за Windows 401
Система сообщений Windows 402
Дерево окон 403
Окно трассировки сообщений 404
Наблюдение за окном 404
Опции трассировки сообщений 405
Другие возможности WinSight 406
Инструменты командной строки 408
grep.exe 409
implib.exe 410
touch.exe 411
tdump.exe 412
Конфигурирование меню Tools 413
Диалоговое окно Configure Tools 413
Установка опций среды 415
Вкладка Preferences 415
Вкладка Library 417
Вкладка Palette 417
Заключение 418
Вопросы и задания 419
Вопросы и ответы 419
Вопросы 420
Упражнения 421
День 13. После изучения основ 423
Декоративные элементы окна 423
Оперативные панели 423
Строки состояния 429
Панели инструментов 436
Управление доступом к командам 436
Проблемы управления доступом к командам 436
К спасительному Onldle 438
От теории к практике 438
В заключение... 440
Печать в приложениях C++Builder 440
Стандартные диалоговые окна печати 441
Простой способ печати 443
Печать через QuickReport 445
Сложный способ печати 445
Использование курсоров 451
Курсоры 451
Загрузка и использование базовых курсоров 452
Загрузка и использование курсоров пользователя 453
Заключение 454
Вопросы и задания 454
Вопросы и ответы 455
Вопросы 456
Упражнения 456
День 14. Углубленное программирование 459
Реализация контекстно-зависимой справки 459
Создание справочного файла 460
Идентификаторы контекста и свойство HelpContext 461
Реализация контекстно-зависимой справки 461
Использование заголовочных файлов справки 464
Практика 465
Обработка исключений 466
Ключевые слова обработки исключений: try, catch и throw 467
Захват исключений с try и catch 467
Формирование исключений 468
Захват 469
Захват необрабатываемых исключений на уровне приложения 471
Отладка с обработкой исключений 472
Работа с реестром 473
Ключи реестра 474
Типы данных реестра 475
Класс TRegistry 475
Использование TRegistry 477
Специальная обработка сообщений 483
Более подробно о сообщениях Windows 484
Отправление и пересылка 486
Обработка событий 487
Обработка других сообщений Windows 488
Сообщения, определяемые пользователем 493
Заключение 494
Вопросы и задания 494
Вопросы и ответы 494
Вопросы 495
Упражнения 496
2-я неделя. Подведение итогов 497
3-я неделя. Краткий обзор 511
День 15. OLE, ActiveX и OCX 513
Autosrv и Autocon 514
Создание собственного автоматизированного сервера 518
Olemdi и Olesdi 524
Olemdi изнутри 525
Элементы управления OCX 526
Заключение 526
Вопросы и задания 527
Вопросы и ответы 527
Вопросы 527
Упражнения 527
День 16. Архитектура доступа к базам данных в C++Builder 529
Некоторые термины, которые необходимо знать 529
Обзор архитектуры 532
Обзор компонентов C++Builder, обеспечивающих работу с базами данных 534
TSession 535
TDatabase 537
TTable 541
TQuery 549
TStoredProc 554
TBatchMove 558
TDataSource 560
TUpdateSQL 561
TField 563
Заключение 566
Вопросы и задания 566
Вопросы и ответы 566
Вопросы 567
Упражнения 567
День 17. Создание форм для работы с базами данных 569
Простая форма 569
Мастер форм баз данных 569
Изучение созданной формы 573
Создание простой формы сложным способом 575
Запуск новой формы 579
Заключение 580
Вопросы и задания 580
Вопросы и ответы 580
Вопросы 581
Упражнения 581
День 18. Построение приложений для работы с базами данных 583
Компонент TDatabase 583
Псевдонимы BDE 584
Модули данных 586
Создание формы главный/подчиненный 589
Отчеты 593
Заключение 595
Вопросы и задания 595
Вопросы и ответы 595
Вопросы 596
Упражнения 596
День 19. Создание и использование DLL 597
Обзор DLL 597
Что представляет собой динамически компонуемая библиотека? 597
Почему стоит использовать DLL? 598
Вызов функций и использование классов в DLL 601
Загрузка DLL 602
Вызов функций, расположенных в DLL 602
Создание DLL 603
Импорт и экспорт функций и классов 604
Секрет заголовков DLL 607
Создание DLL с помощью репозитория объектов 608
Создание библиотеки импорта 612
Создание вызывающего приложения 613
Добавление #include для заголовка DLL 614
Добавление файла библиотеки импорта 614
Использование форм в DLL 615
Вызов формы DLL из приложения C++Builder 615
Использование ресурсов в DLL 618
Создание DLL ресурсов 618
Использование ресурсов DLL 620
Заключение 621
Вопросы и задания 621
Вопросы и ответы 621
Вопросы 623
Упражнения 623
День 20. Создание компонентов 625
Предварительные сведения 625
Изменение существующих компонентов 627
Создание компонентов заново 627
Регистрация компонента 627
Мастер компонентов 628
Создание компонента 629
Написание свойств 631
Свойства имеют базовые члены-данные. 631
Свойства имеют методы записи 632
Свойства имеют методы чтения 633
Свойства могут использовать прямой доступ 634
Свойства могут быть доступны только для записи или только для чтения 634
Свойства могут иметь значения по умолчанию 635
Свойства могут быть отображаемыми или неотображаемыми 636
Написание методов для компонентов 636
Уровни доступа для компонентов 636
TFlashingLabel: пример компонента 637
Предварительное планирование 642
Тестирование компонента 643
Добавление компонента в библиотеку компонентов 645
Диалоговое окно Install Components 645
Инсталляция компонента FlashingLabel 646
Добавление значка для кнопки компонента 647
Написание событий для компонентов 648
Обзор событий 648
План работы 649
Замещение событий базового класса 653
Собираем все вместе 654
Заключение 659
Вопросы и задания 660
Вопросы и ответы 660
Вопросы 661
Упражнения 661
День 21. C++Builder и Delphi 663
Основные различия между C++Builder и Delphi 663
Другие различия между C++Builder и Delphi 664
Файлы проектов 664
Библиотека компонентов 664
Поддержка нескольких языков программирования 665
Заголовочные файлы 665
Эмуляция элементов Delphi в C++Builder 665
Изменения в компиляторе 665
Новые классы 665
Поддержка компонентов 665
Открытые массивы 666
Среда разработки 666
Доступ к базам данных 667
Заключение 667
Вопросы и задания 667
Вопросы и ответы 667
Вопросы 667
Упражнения 668
3-я неделя. Подведение итогов 669
День 22. Создание приложений для Internet 671
Общие сведения 671
Обзор вкладки Internet палитры компонентов 672
Создание собственного Web-браузера 673
«Оживление» новой формы 675
Заключение 681
Вопросы и задания 681
Вопросы и ответы 681
Вопросы 682
Упражнения 682
День 23. Расширения Си++ в C++Builder 683
Немного истории 683
Расширения языка: великие дебаты 684
Новые ключевые слова Си++ в C++Builder 686
_automated 687
_classid 687
_closure 687
_declspec 687
_int8, _intl6, _int32, _int64 688
_property 688
_published 690
Заключение 691
Вопросы и задания 691
Вопросы и ответы 691
Вопросы 692
Упражнения 692
Приложение А. Ответы на вопросы 693
День 1 693
День 2 693
День 3 694
День 4 694
День 5 695
День 6 695
День 7 696
День 8 696
День 9 697
День 10 697
День 11 697
День 12 698
День 13 698
День 14 699
День 15 699
День 16 699
День 17 700
День 18 700
День 19 700
День 20 701
День 21 701
День 22 702
День 23 702
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно
Borland C++ Builder освой самостоятельно

More Related Content

Similar to Borland C++ Builder освой самостоятельно

вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетуппAnastasia Snegina
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетуппAnastasia Snegina
 
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...GoSharp
 
Основы программирования на РНР Самоучитель
Основы программирования на РНР СамоучительОсновы программирования на РНР Самоучитель
Основы программирования на РНР СамоучительМихаил Тукнов
 
О тестировании в EDI
О тестировании в EDIО тестировании в EDI
О тестировании в EDIMaxim Zakharov
 
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordCamp Kyiv
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Alexander Babich
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Evgeniy Krivosheev
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Storesandy97
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Denis Vasilyev
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Alexander Babich
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25MoscowJS
 
redux: the best for isomorphic apps
redux: the best for isomorphic appsredux: the best for isomorphic apps
redux: the best for isomorphic appsDenis Izmaylov
 
Как мы измеряем наши проекты
Как мы измеряем наши проектыКак мы измеряем наши проекты
Как мы измеряем наши проектыRambler Android
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
 WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь... WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...GeeksLab Odessa
 
Конструктор карточек Docsvision 5: конструктор разметок
Конструктор карточек Docsvision 5: конструктор разметокКонструктор карточек Docsvision 5: конструктор разметок
Конструктор карточек Docsvision 5: конструктор разметокDocsvision
 

Similar to Borland C++ Builder освой самостоятельно (20)

вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
 
вопросы к зачетупп
вопросы к зачетуппвопросы к зачетупп
вопросы к зачетупп
 
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
Как перейти с двухзвенной архитектуры Desktop приложения на трехзвенную за од...
 
Основы программирования на РНР Самоучитель
Основы программирования на РНР СамоучительОсновы программирования на РНР Самоучитель
Основы программирования на РНР Самоучитель
 
О тестировании в EDI
О тестировании в EDIО тестировании в EDI
О тестировании в EDI
 
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
WordPress Kitchen MeetUp Summer 2015 - Никита Галкин "Каноны современной разр...
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"Вебинар "Введение в процесс разработки ПО"
Вебинар "Введение в процесс разработки ПО"
 
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store2 Продуктивность работы в IDE; Разработка для Windows 10 Store
2 Продуктивность работы в IDE; Разработка для Windows 10 Store
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
 
redux: the best for isomorphic apps
redux: the best for isomorphic appsredux: the best for isomorphic apps
redux: the best for isomorphic apps
 
Как мы измеряем наши проекты
Как мы измеряем наши проектыКак мы измеряем наши проекты
Как мы измеряем наши проекты
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
 WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь... WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
WebCamp:Back-end Developers Day Андрей Чебукин "ASP.NET Identity 2.0‏ исполь...
 
Конструктор карточек Docsvision 5: конструктор разметок
Конструктор карточек Docsvision 5: конструктор разметокКонструктор карточек Docsvision 5: конструктор разметок
Конструктор карточек Docsvision 5: конструктор разметок
 

Borland C++ Builder освой самостоятельно

  • 1. Кент Рейсдорф и Кен Хендерсон 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
  • 2. Пример использования структур 73 Заключение 76 Вопросы и задания 77 Вопросы и ответы 77 Вопросы 77 Упражнения 78 День 3. Указатели, ссылки и функции в Си++ 79 Указатели 79 Локальное и динамическое распределение памяти 80 Динамическое размещение объектов и указатели 81 Назад к нашей программе 82 Разыменование указателей 83 Собираем все вместе 85 Ссылки 87 Передача аргументов функции с использованием ссылок и указателей 89 Ключевое слово const 91 Операторы new и delete 92 Оператор new 92 Оператор delete 93 Решение еще одной загадки 95 new[] и delete[] 95 Функции в Си++ 96 Перегрузка функций 96 Аргументы, передаваемые по умолчанию 98 Функции-члены класса 99 Подставляемые функции 100 Заключение 101 Вопросы и задания 101 Вопросы и ответы 101 Вопросы 102 Упражнения 102 День 4. Классы и объектно-ориентированное программирование 103 Что такое класс? 103 Анатомия класса 104 Уровни доступа к членам класса 104 Конструкторы 106 Списки инициализаторов 108 Деструкторы 109 Члены-данные 110 Функции-члены 112 Что такое this? 113 Один пример 115 Наследование 122
  • 3. Множественное наследование 124 Базовый файловый ввод-вывод 126 Ввод из файла 127 Вывод в файл 129 Режимы открытия файлов 130 Заключение 131 Вопросы и задания 132 Вопросы и ответы 132 Вопросы 133 Упражнения 133 День 5. Библиотеки классов Си++ и модель визуальных компонентов 135 Краткая история 135 Зачем нужны библиотеки классов? 136 Какой ценой все это дается? 138 Библиотеки классов как пример объектно-ориентированного программирования 138 Сравнение библиотек классов Си++ 139 Библиотека объектов Windows фирмы Borland 139 Библиотека базовых классов фирмы Microsoft 140 Кто же победитель? 141 Библиотека визуальных компонентов 141 Компоненты 142 Свойства, методы и события 142 C++Builder и VCL 154 VCL для программиста на Си++ 155 Структура VCL 157 Классы форм и приложений 158 Классы компонентов 158 Но это еще не все... 162 Заключение 163 Вопросы и задания 163 Вопросы и ответы 164 Вопросы 165 Упражнения 165 День 6. Изучение IDE C++Builder: проекты и формы 167 Проекты в C++Builder 168 Файлы, используемые в проектах C++Builder 168 Модули исходного кода 172 Главное меню и панель инструментов C++Builder 173 Использование палитры компонентов 175 Размещение нескольких копий компонента 175 Размещение компонента в центре формы 176 Контекстное меню палитры компонентов 176
  • 4. Перемещение по палитре компонентов 176 Приложение, содержащее несколько форм 177 Компиляция, построение и компоновка 179 Компиляция и построение других программ на Си++ 181 Дополнительные сведения о формах C++Builder 182 Формы для главного окна 182 Формы для диалоговых окон 183 Сравнение вторичных и диалоговых окон 188 Модель многодокументного интерфейса 188 Основные свойства форм 188 Методы форм 191 События форм 192 Инспектор объектов 193 Селектор компонентов 194 Вкладка Properties 195 Вкладка Events 196 Пример MDI-программы 197 Шаг 1: Создание формы для главного окна 197 Шаг 2: Написание кода для пунктов меню File | Open и File | Save As 199 Шаг 3: Написание кода для меню Window 201 Шаг 4: Создание подчиненной формы MDI 201 Шаг 5: Создание окна About 202 Заключение 204 Вопросы и задания 205 Вопросы и ответы 205 Вопросы 206 Упражнения 206 День 7. Работа с редактором форм и редактором меню 209 Работа с редактором форм 209 Контекстное меню редактора форм 209 Размещение компонентов 210 Сетка редактора форм 211 Выделение компонентов 212 Перемещение компонентов 216 Защита компонентов от перемещения и изменения размера 217 Упорядочивание компонентов и работа с буфером обмена 218 Изменение размера компонентов 219 Выравнивание компонентов 221 Меню, пожалуйста! 230 Создание главного меню 231 Написание кода 238 Контекстные меню 244 Создание и сохранение шаблонов меню 245
  • 5. Заключение 246 Вопросы и задания 246 Вопросы и ответы 246 Вопросы 247 Упражнения 247 1-я неделя. Подведение итогов 249 2-я неделя. Краткий обзор 251 День 8. Компоненты VCL 253 Обзор 253 Визуальные и невизуальные компоненты 254 Свойство Name 254 Важные общие свойства 256 Свойство Align 256 Свойство Color 256 Курсоры 258 Свойство Enabled 258 Свойство Font 259 Подсказки 260 Свойства ParentColor, ParentCtl3D, ParentFont и ParentShowHint 261 Свойство Tag 261 Другие общие свойства 262 Основные методы компонентов 262 Основные события 263 Класс TStrings 265 Стандартные элементы управления Windows 266 Элементы редактирования 267 Компоненты ListBox и ComboBox 270 Кнопки 273 Основы работы с кнопками 274 Компонент Label 281 Компонент ScrollBar 282 Компонент Panel 282 И это еще не все... 283 Стандартные диалоговые окна 284 Метод Execute 284 Диалоговые окна File Open и File Save 285 Диалоговое окно Color 287 Диалоговое окно Font 288 Диалоговые окна Find и Replace 288 Заключение 289 Вопросы и задания 289 Вопросы и ответы 289 Вопросы 291
  • 6. Упражнения 291 День 9. Создание приложений в C++Builder 293 Работа с репозиторием объектов 293 Страницы и опции репозитория объектов 294 Создание новых объектов из репозитория 297 Добавление объектов в репозиторий 298 Добавление проектов в репозиторий 300 Конфигурирование репозитория объектов 300 Создание форм и приложений с помощью мастеров 302 Мастер диалогов 303 Создание приложений с помощью мастера приложений 304 Добавление функций и членов-данных в исходный код 308 Как C++Builder управляет объявлениями классов 309 Включение функций в программу 311 Добавление членов-данных класса 313 Удаление кода, созданного C++Builder 313 Использование файлов ресурсов 314 Заключение 320 Вопросы и задания 321 Вопросы и ответы 321 Вопросы 322 Упражнения 322 День 10. Подробнее о проектах 325 Проекты нужны всем 325 Менеджер проектов 325 Окно менеджера проектов 325 Оперативная панель менеджера проектов 327 Исследование проектов 330 Команды проводника проекта 331 Опции проекта 332 Вкладка Forms 333 Вкладка Application 335 Вкладка С++ 336 Вкладка Pascal 340 Вкладка Linker 340 Вкладка Directories/Conditionals 342 Редактор кода C++Builder 343 Основные операции редактора 344 Специальные возможности редактора 348 Контекстное меню редактора кода 350 Изменение опций редактора 351 Заключение 355 Вопросы и задания 355
  • 7. Вопросы и ответы 355 Вопросы 356 Упражнения 357 День 11. Работа с отладчиком 359 Для чего нужен отладчик? 360 Отладочные пункты меню 360 Контрольные точки 361 Установка и удаление контрольных точек 362 Окно списка контрольных точек 363 Простые контрольные точки 365 Условные контрольные точки 365 Команда Run to Cursor 366 Наблюдение за переменными 367 Контекстное меню списка объектов наблюдения 367 Диалоговое окно Watch Properties 368 Разрешение и запрещение наблюдения за объектами 369 Добавление переменных в список объектов наблюдения 369 Использование списка объектов наблюдения 370 Инспектор отладки 372 Другие инструменты отладки 375 Evaluate/Modify 375 Просмотр стека вызовов 376 CPU View 377 Команда Go to Address 377 Пошаговое выполнение программы 378 Методика отладки 380 Диагностические макросы: TRACE и WARN 380 Отслеживание GPF 382 Короткие советы по отладке 383 Заключение 384 Вопросы и задания 385 Вопросы и ответы 385 Вопросы 386 Упражнения 387 День 12. Вспомогательные инструменты и опции C++Builder 389 Редактор изображений 389 Цвета переднего плана и фона 390 Инструменты рисования редактора изображений 392 Масштабирование изображения 393 Палитра толщины линии 394 Работа с файлами растровых изображений 395 Редактирование значков 396 Редактирование курсоров 398
  • 8. Контекстные меню редактора изображений 399 Создание проекта ресурсов 399 WinSight: наблюдение за Windows 401 Система сообщений Windows 402 Дерево окон 403 Окно трассировки сообщений 404 Наблюдение за окном 404 Опции трассировки сообщений 405 Другие возможности WinSight 406 Инструменты командной строки 408 grep.exe 409 implib.exe 410 touch.exe 411 tdump.exe 412 Конфигурирование меню Tools 413 Диалоговое окно Configure Tools 413 Установка опций среды 415 Вкладка Preferences 415 Вкладка Library 417 Вкладка Palette 417 Заключение 418 Вопросы и задания 419 Вопросы и ответы 419 Вопросы 420 Упражнения 421 День 13. После изучения основ 423 Декоративные элементы окна 423 Оперативные панели 423 Строки состояния 429 Панели инструментов 436 Управление доступом к командам 436 Проблемы управления доступом к командам 436 К спасительному Onldle 438 От теории к практике 438 В заключение... 440 Печать в приложениях C++Builder 440 Стандартные диалоговые окна печати 441 Простой способ печати 443 Печать через QuickReport 445 Сложный способ печати 445 Использование курсоров 451 Курсоры 451 Загрузка и использование базовых курсоров 452
  • 9. Загрузка и использование курсоров пользователя 453 Заключение 454 Вопросы и задания 454 Вопросы и ответы 455 Вопросы 456 Упражнения 456 День 14. Углубленное программирование 459 Реализация контекстно-зависимой справки 459 Создание справочного файла 460 Идентификаторы контекста и свойство HelpContext 461 Реализация контекстно-зависимой справки 461 Использование заголовочных файлов справки 464 Практика 465 Обработка исключений 466 Ключевые слова обработки исключений: try, catch и throw 467 Захват исключений с try и catch 467 Формирование исключений 468 Захват 469 Захват необрабатываемых исключений на уровне приложения 471 Отладка с обработкой исключений 472 Работа с реестром 473 Ключи реестра 474 Типы данных реестра 475 Класс TRegistry 475 Использование TRegistry 477 Специальная обработка сообщений 483 Более подробно о сообщениях Windows 484 Отправление и пересылка 486 Обработка событий 487 Обработка других сообщений Windows 488 Сообщения, определяемые пользователем 493 Заключение 494 Вопросы и задания 494 Вопросы и ответы 494 Вопросы 495 Упражнения 496 2-я неделя. Подведение итогов 497 3-я неделя. Краткий обзор 511 День 15. OLE, ActiveX и OCX 513 Autosrv и Autocon 514 Создание собственного автоматизированного сервера 518 Olemdi и Olesdi 524 Olemdi изнутри 525
  • 10. Элементы управления OCX 526 Заключение 526 Вопросы и задания 527 Вопросы и ответы 527 Вопросы 527 Упражнения 527 День 16. Архитектура доступа к базам данных в C++Builder 529 Некоторые термины, которые необходимо знать 529 Обзор архитектуры 532 Обзор компонентов C++Builder, обеспечивающих работу с базами данных 534 TSession 535 TDatabase 537 TTable 541 TQuery 549 TStoredProc 554 TBatchMove 558 TDataSource 560 TUpdateSQL 561 TField 563 Заключение 566 Вопросы и задания 566 Вопросы и ответы 566 Вопросы 567 Упражнения 567 День 17. Создание форм для работы с базами данных 569 Простая форма 569 Мастер форм баз данных 569 Изучение созданной формы 573 Создание простой формы сложным способом 575 Запуск новой формы 579 Заключение 580 Вопросы и задания 580 Вопросы и ответы 580 Вопросы 581 Упражнения 581 День 18. Построение приложений для работы с базами данных 583 Компонент TDatabase 583 Псевдонимы BDE 584 Модули данных 586 Создание формы главный/подчиненный 589 Отчеты 593 Заключение 595 Вопросы и задания 595
  • 11. Вопросы и ответы 595 Вопросы 596 Упражнения 596 День 19. Создание и использование DLL 597 Обзор DLL 597 Что представляет собой динамически компонуемая библиотека? 597 Почему стоит использовать DLL? 598 Вызов функций и использование классов в DLL 601 Загрузка DLL 602 Вызов функций, расположенных в DLL 602 Создание DLL 603 Импорт и экспорт функций и классов 604 Секрет заголовков DLL 607 Создание DLL с помощью репозитория объектов 608 Создание библиотеки импорта 612 Создание вызывающего приложения 613 Добавление #include для заголовка DLL 614 Добавление файла библиотеки импорта 614 Использование форм в DLL 615 Вызов формы DLL из приложения C++Builder 615 Использование ресурсов в DLL 618 Создание DLL ресурсов 618 Использование ресурсов DLL 620 Заключение 621 Вопросы и задания 621 Вопросы и ответы 621 Вопросы 623 Упражнения 623 День 20. Создание компонентов 625 Предварительные сведения 625 Изменение существующих компонентов 627 Создание компонентов заново 627 Регистрация компонента 627 Мастер компонентов 628 Создание компонента 629 Написание свойств 631 Свойства имеют базовые члены-данные. 631 Свойства имеют методы записи 632 Свойства имеют методы чтения 633 Свойства могут использовать прямой доступ 634 Свойства могут быть доступны только для записи или только для чтения 634 Свойства могут иметь значения по умолчанию 635 Свойства могут быть отображаемыми или неотображаемыми 636
  • 12. Написание методов для компонентов 636 Уровни доступа для компонентов 636 TFlashingLabel: пример компонента 637 Предварительное планирование 642 Тестирование компонента 643 Добавление компонента в библиотеку компонентов 645 Диалоговое окно Install Components 645 Инсталляция компонента FlashingLabel 646 Добавление значка для кнопки компонента 647 Написание событий для компонентов 648 Обзор событий 648 План работы 649 Замещение событий базового класса 653 Собираем все вместе 654 Заключение 659 Вопросы и задания 660 Вопросы и ответы 660 Вопросы 661 Упражнения 661 День 21. C++Builder и Delphi 663 Основные различия между C++Builder и Delphi 663 Другие различия между C++Builder и Delphi 664 Файлы проектов 664 Библиотека компонентов 664 Поддержка нескольких языков программирования 665 Заголовочные файлы 665 Эмуляция элементов Delphi в C++Builder 665 Изменения в компиляторе 665 Новые классы 665 Поддержка компонентов 665 Открытые массивы 666 Среда разработки 666 Доступ к базам данных 667 Заключение 667 Вопросы и задания 667 Вопросы и ответы 667 Вопросы 667 Упражнения 668 3-я неделя. Подведение итогов 669 День 22. Создание приложений для Internet 671 Общие сведения 671 Обзор вкладки Internet палитры компонентов 672 Создание собственного Web-браузера 673
  • 13. «Оживление» новой формы 675 Заключение 681 Вопросы и задания 681 Вопросы и ответы 681 Вопросы 682 Упражнения 682 День 23. Расширения Си++ в C++Builder 683 Немного истории 683 Расширения языка: великие дебаты 684 Новые ключевые слова Си++ в C++Builder 686 _automated 687 _classid 687 _closure 687 _declspec 687 _int8, _intl6, _int32, _int64 688 _property 688 _published 690 Заключение 691 Вопросы и задания 691 Вопросы и ответы 691 Вопросы 692 Упражнения 692 Приложение А. Ответы на вопросы 693 День 1 693 День 2 693 День 3 694 День 4 694 День 5 695 День 6 695 День 7 696 День 8 696 День 9 697 День 10 697 День 11 697 День 12 698 День 13 698 День 14 699 День 15 699 День 16 699 День 17 700 День 18 700 День 19 700 День 20 701
  • 14. День 21 701 День 22 702 День 23 702