- •1. Общие характеристики
- •1.1 Основные характеристики
- •1.1.1 Скорость визуальной разработки
- •1.1.2 Продуктивность компонент
- •1.1.4 Масштабируемые соединения с базами данных
- •1.2 Другие программные продукты Borland
- •1.3 Проблемы совместимости
- •1.3.2.1 Какую систему выбрать?
- •1.3.2.2 Какая система является более мошной?
- •2.1 Первое знакомство
- •2.1.1 Визуальное проектирование
- •2.1 Первое знакомство
- •2.1.2 Свойства, методы и события
- •2.1.3 Технология двунаправленной разработки
- •2.1.4 Использование проектных шаблонов
- •2.2 Палитра компонент - краткий обзор
- •2.3 Приложения управления базами данных
- •2.3.1 Пример из существующего проекта
- •2.4 Итоги
- •3.1 Инкапсуляция
- •3.2 Классы, компоненты и объекты
- •3.3 Наследование
- •3.5 Полиморфизм
- •3.5.2 Дружественные функции
- •3.6.1.1 Объявления компонентных классов
- •3.6.1.2 Объявления свойств
- •3.6.1.3 Объявления обработчиков событий '
- •3.6.1.4 Объявления автоматизированных свойств и методов
- •3.6.1.5 Быстрый вызов функций
- •3.6.1.6 Расширенные типы данных Delphi
- •3.6.2.1 Шаблоны
- •3.6.2.2 Пространства имен
- •3.6.2.3 Явные объявления
- •3.6.2.4 Непостоянные объявления
- •3.6.2.5 Идентификация типов rtti
- •3.6.2.6 Исключения
- •4. Инструменты визуальной разработки приложений
- •4.1 Администратор проекта
- •4.2 Редактор форм
- •4.3 Инспектор объектов
- •4.4 Хранилище объектов
- •4.4.1 Разделение объектов
- •4.5 Редактор кода
- •4.6 Палитра компонент
- •4.6.1.2 TPopUpMenu
- •4.6.1.4 TEdit
- •4.6.1.6 TButton
- •4.6.1.7 TCheckBox
- •4.6.1.8 Ей tRadioButton
- •4.6.1.9 TListBox
- •4.6.1.10 TComboBox
- •4.6.1.12 TGroupВох
- •4.6.2.1 TTabControl
- •4.6.2.2 TPageControl
- •4.6.2.5 TImageList
- •4.6.2.6 THeaderControl
- •4.6.2.7 TRichEdit
- •4.6.2.9 TTrackBar
- •4.6.2.10 TProgressBar
- •4.6.2.11 TUpDown
- •4.6.2.12 И tHotKey
- •4.6.3.5 TDrawGrid
- •4.6.4.1 TDataSource
- •4.6.4.2 ТТаble
- •4.6.4.3 TQuery
- •4.6.4.4 TStoredProc
- •4.6.4.6 TSession
- •4.6.4.8 TUpdateSql
- •4.6.5.1 TdbGrid
- •4.6.5.2 TdbNavigator
- •4.6.5.3 TdbText
- •4.6.5.4 TdbEdit
- •4.6.5.6 TdbImage
- •4.6.5.7 TdbListBox
- •4.6.5.8 TdbComboBox
- •4.6.5.9 TdbCheckBox
- •4.6.5.11 TdbLookupListBox
- •4.6.7.1 TOpenDialog
- •4.6.7.2 TSaveDialog
- •4.6.7.3 TFontDialog
- •4.6.7.4 TColorDialog
- •4.6.7.5 TPrintDialog
- •4.6.7.6 TPrinterSetupDialog
- •4.6.7.8 TReplaceDialog
- •4.6.7.9 Использование диалоговых компонент текстовым редактором. Приемы отладки
- •4.6.8.1 TTimer
- •4.6.8.2 TPaintBox
- •4.6.8.3 TFileListBox
- •4.6.8.6 TFilterComboBox
- •4.6.8.7 TMediaPlayer
- •4.6.8.8 TOleContainer
- •4.6.8.9 TDdeClientConv
- •4.6.8.10 TDdeClientltem
- •4.6.8.11 TDdeServerConv
- •4.6.8.12 TDdeServerltem
- •4.6.9.1 TQuickReport
- •4.6.9.2 TqrBand
- •4.7 Дизайнер меню
- •4.8 Итоги
- •5. Визуальная разработка приложений баз данных
- •5.1 Организация доступа к базам данных
- •5.1.2.1 Страница Drivers
- •5.1.2.2 Страница Aliases
- •5.1.2.3 Страница System
- •5.1.2.4 Страница Date
- •5 .1.2.5 Страница Time
- •5.1.2.6 Страница Number
- •5*2 Использование визуальных компонент
- •5.2.1.1 Источники данных
- •6. Использование и создание визуальных компонент
- •6.1 Назначение и устройство vcl
- •6.2 Типы компонент
- •6.2.5.1 Право владения
- •6.2.5.2 Родительское право
- •6.2.5.3 Поточность
- •6.3 Свойства компонент
- •6.3.1 Зачем нужны свойства?
- •6.3.2.1 Доступ к внутренним данным свойств
- •6.3.2.2 Свойства обеспечивают доступ к членам данных
- •6.3.2.3 Методы записи и чтения свойств
- •6.3.3 Переопределение свойств
- •6.3.4.1 Свойства типа множество
- •6.3.4.2 Свойства типа массив
- •6.4 События
- •6.4.1 Зачем нужны события?
- •6.4.2 Определение событий
- •6.4.2.3 Стандартные события
- •6.4.2.4 Собственные события
- •6.4.2.5 События и сообщения Windows
- •6.4.3 Обработка событий
- •6.5 Методы
- •6.5.1 Вызовы статических методов
- •6.6.1 TObject
- •6.6.2 TPersistent
- •6.6.3 TComponent
- •6.6.4 TControl
- •6.6.5 TWinControl
- •6.6.6 TGraphicControl
- •6.7 Схема разработки компонент
- •6.7.1 Создание модуля компоненты
- •6.7.2 Наследование компоненты
- •6.7.2.1 Модификация существующих компонент
- •6.7.2.2 Создание оригинальных оконных компонент
- •6.7.2.3 Создание графических компонент
- •6.7.2.4 Создание невидимых компонент
- •6.7.3 Добавление свойств, событий и методов.
- •6.7.4 Регистрация компоненты
- •6.7.5 Отладка неинсталлированной компоненты
- •6.7.6 Инсталляция компоненты на Палитру
- •6.7.7 Сохранение файлов новой компоненты
- •6.8 Разработка простой компоненты
- •6.8.1 Форма тестового приложения
- •6.8.2 Модуль тестового приложения
- •6.8.3 Члены данных, свойства и методы
- •6.8.4 Испытание компоненты
- •6.8.5 Инсталляция компоненты
- •6.9 Итоги
- •7. Графические компоненты
- •7*2 Использование канвы
- •7.3 Работа с рисунками
- •7.3.1 Рисунок, графика или канва9
- •7.3.2 Графические файлы
- •7.3.3 Обслуживание палитр
- •7.4 Внеэкранные битовые образы
- •7.4.1 Копирование битовых образов.
- •7.4.2 Создание и обслуживание
- •7.4.3 Реакция на изменения
- •7.5 Разработка графического приложения
- •7.5.1 Проектирование формы
- •7.5.2 Программный модуль
1.2 Другие программные продукты Borland
Корпорация Borland давно завоевала приоритетную позицию на рынке мощных систем разработки программного обеспечения персональных компьютеров. Появление C++Builder ни в коей мере не затормозило развитие других программных продуктов, имеющих своих приверженцев и потребителей.
Borland C++ остается одной из самых популярных систем разработки математического обеспечения на языке C++. Система предоставляет в распоряжение программистов-профессионалов высокопродуктивные средства разработки 16- и 32-разрядных приложений для операционных систем Windows 95, NT. Windows 3.1, и DOS. Модифицированные библиотеки Object Windows Library (OWL) и Microsoft Foundation Classes (MFC), а также инструменты Visual Database Tools (VDBT) для визуальной разработки эффективных приложений баз данных - выводят Borland C++ на новый качественный уровень систем объектно-ориентированного программирования. Borland C++ "понимает" последние языковые расширения стандарта ANSI/ISO, включая пространства имен, стандартные шаблоны и др. Последние версии Borland C++ также содержат новые инструменты программирования на языке Java.
Delphi появился на рынке в начале 1995 года и быстро завоевал титул первой системы быстрой разработки приложений для Windows, сочетающей в единой среде высокопроизводительный компилятор, визуальные механизмы двунаправленного проектирования и новую методику масштабируемого доступа к базам данных. Уже через два года число зарегистрированных потребителей Delphi достигло полумиллиона. Новый 32-разрядный оптимизирующий компилятор Delphi 2.0 для Windows 95 и NT дает 3 - 4-кратное повышение производительности по сравнению с Delphi 1.0 и работает в 15-20 раз быстрее, чем интерпретаторы языка Паскаль. Delphi 2.0 также включает так называемый Borland Internet Solutions Puck - собрание компонент ActiveX для построения приложений в сетях Internet и Intranet.
IntraBuilder - это мощный инструментарий визуальной разработки приложений на языке Java. предназначенных для работы в сети Internet. Система поддерживает масштабируемые соединения с популярными серверами сетевых коммуникаторов Netscape. Microsoft и O'Reilly.
InterBase - это масштабируемый высокопроизводительный SQL сервер баз данных, совершенный по простоте инсталляции, использования и обслуживания. Выпуск нескольких версий InterBase для операционных систем Windows, NT, NetWare и UNIX делает его независимым от платформы, что позволяет обеспечить надежную работу реляционных баз данных в рамках локальной компьютерной сети крупного отдела или фирмы.
Visual dBASE предоставляет проверенные двунаправленные инструменты и легкий в освоении язык для быстрой визуальной разработки приложений базы данных в сети Intranet под Windows З.х. Windows95 или NT. Пользователи Visual dBASE легко осваивают навыки объектно-ориентированного программирования в архитектуре клиент/сервер.
1.3 Проблемы совместимости
C++ Builder предоставляет свою мощность и широкие возможности языка C++ всему семейству систем объектно-ориентированного программирования. C++ Builder может быть использован везде, где требуется дополнить существующие приложения расширенным промышленным стандартом языка C++, повысить быстродействие и придать пользовательскому интерфейсу профессиональный облик.
1.3.1 C++ Builder и Borland C++
Между программными продуктами C++ Builder и Borland C++ существует полная и взаимная функциональная совместимость. C++ Builder добавляет процессу программирования новое качество - быструю визуальную разработку приложений на языке C++. Если вы привыкли работать в системах программирования Borland C++ (версий 3.1. 4.5 и 5.0), то ни переход к новой системе, ни возврат к старой не окажутся слишком затруднительными. В вашем распоряжении остаются удобный администратор проектных файлов, компилятор и инкрементальный загрузчик.
Поначалу C++ Builder разочарует многих разработчиков тем, что вместо привычных библиотек OWL и MFC он использует неведомую дотоле библиотеку VCL. Каждая библиотека представляет собой специфическую модель объектно-ориентированного программирования под Windows. Каждая библиотека решает проблемы ООП по-своему, и нельзя сказать, что какая-то одна справляется с задачей лучше или хуже других. Впервые инсталлировав C++Builder, я продолжал разделять приверженность к OWL с большинством C++ программистов. Уже через несколько дней работы я начал ощущать всю прелесть, легкость и удобство использования компонентной модели. Чем больше я проникал в суть VCL, тем больше она мне нравилась, и теперь уже не могу отказаться от работы в среде C++Builder. Время от времени я обращаюсь к проверенному в боях заслуженному ветерану ВС45, чтобы повозиться со старыми OWL программами, постоянно ловя себя на мысли: "Это было бы гораздо легче сделать с помощью C++Builder". И эта мысль отдаляет меня от OWL все дальше и дальше, так что скоро я вовсе распрощаюсь со своей прежней привязанностью.
Borland C++ версий 5.0 и выше поддерживает внедрение в ранее разработанные OWL или MFC программы типовых форм, спроектированных в среде C++Builder на базе VCL. Разработчик идет на такого рода переделки из-за простой причины: C++Builder позволяет включить в форму все диалоги с пользователем чрезвычайно быстро, придавая приложению для Windows законченный профессиональный облик, устраняя из программы всю шелуху вспомогательного кода и оставляя только содержательную часть, воплощающую основную идею алгоритма. Таким образом, совместимость обеспечивается на уровне форм. Перенос отдельных компонент из VCL оказывается затруднительным, да и не нужным, поскольку в предельном случае форма может содержать единственную компоненту. Далее ваша комбинированная программа сможет использовать форму как окно диалога или окно клиента. Подробное описание процедур интеграции OWL или MFC программ с VCL формами и примеры создания комбинированных приложений можно найти в сети Internet no адресу http://www.borland.com/bcppbuilder/papers
Не удивительно, что совместная работа с двумя библиотеками объектных классов заметно увеличивает размер ЕХЕ файла.
1.3.2 C++Builder и Delphi
Все компоненты, формы и модули данных, которые накопили программисты, работающие в Delphi, могут быть повторно использованы в приложениях C++Builder для Windows без каких бы то ни было изменении. Delphi пока еще продолжает оставаться самой легкой в использовании и самой продуктивной системой RAD. Поэтому C++Builder идеально подойдет тем разработчикам, которые предпочитают выразительную мощность языка C++, однако хотят сохранить продуктивность Delphi. Уникальная взаимосвязь этих систем программирования позволяет при создании приложения без труда переходить из одной среды разработки в другую.
Политика, проводимая руководством отделов математического обеспечения большинства фирм и организаций, допускает свободу разработчиков в выборе языка программирования, при условии совместимости производимых ими объектов и кодов. Неукоснительно следуя этой политике, C++Builder сохраняет материальные вложения в Delphi, вобрав в себя Библиотеку Визуальных Компонент, интуитивную интегрированную среду, визуальные механизмы двунаправленной разработки, методику наследования форм и разномасштабные средства доступа к базам данных.
Гамлетовская проблема выбора между двумя альтернативами вообще не ставится - в мире программистов достаточно жизненного пространства для "мирного сосуществования" обеих систем. Оставьте ненужные споры политического толка о преимуществе одной системы над другой. Используйте тот аппарат программирования, который сделает решение ваших задач более продуктивным, который вам больше нравится и который вам представляется более выразительным. C++ и Delphi равноправны в вашей работе - почти все, что вы написали в Delphi, можно легко использовать в C++Builder, и наоборот. Не забывайте об основном направлении своей профессиональной деятельности - создании качественных и надежных программ под операционную систему Windows.
Преимущества разделения кода между C++Builder ч Delphi:
• Программисты могут работать в той среде, которая лучше и быстрее обеспечит реализацию поставленной текущей задачи. Delphi и C++Builder скомпилируют и соберут готовое приложение с одинаковым успехом.
• Написав некоторый объект для проекта Delphi, вы сможете повторно использовать его, без изменений, в проекте C++Builder.
• Delphi предлагает программистам очень простой, легкий в освоении синтаксис языка. Ваше начальство может не опасаться, что разработки Delphi не пойдут на C++Builder. При реализации сложных проектов большой командой программистов любой ее участник волен выбрать язык Объектный Паскаль или C++ в соответствии с индивидуальным вкусом, навыками и приверженностью. В любых комбинациях результатом совместной разработки будет единая высокоэффективная исполняемая программа.
• Выбирайте Delphi, когда вам надо как можно скорее создать какой-нибудь простой модуль или объект, даже если вы привыкли работать на C++.
Таким образом, C++Builder в симбиозе с Delphi образует исключительно продуктивную пару систем для быстрой коллективной разработки сложнейших приложений для Windows.
