Обзор бесплатной версии Delphi. Обзор бесплатной версии Delphi Изменения в компиляторе

Название : Delphi 6 - Программирование на Object Pascal.

Книга является руководством по программированию в среде Delphi 6. В ней рассматривается весь процесс создания программы: от разработки алгоритма и диалогового окна до отладки и создания справочной системы. Материал включает ряд тем, которые, как правило, остаются за рамками книг, адресованных начинающим программистам: обработка символьной информации, использование динамических структур, работа с файлами, создание справочной системы. Рассматриваются вопросы работы с графикой, мультимедиа и базами данных. Приведено описание процесса создания анимации в Macromedia Flash 5, создание справочной системы при помощи программы Microsoft HTML Help Workshop.
Книга отличается доступностью изложения, большим количеством наглядных примеров и адресована студентам, школьникам старших классов и всем изучающим программирование в учебном заведении или самостоятельно. Прилагаемая дискета содержит примеры приведенных в книге программ.


Содержание
Предисловие
Delphi - что это?
Об этой книге
Введение
Начало работы
Первый проект
Форма
Компоненты
Событие и процедура обработки события
Редактор кода
Система подсказок
Справочная система
Структура проекта
Сохранение проекта
Компиляция
Ошибки
Предупреждения и подсказки
Запуск программы
Ошибки времени выполнения
Внесение изменений
Окончательная настройка приложения
Создание уникального значка для приложения
Перенос приложения на другой компьютер
Глава 1. Основы программирования
Программа
Этапы разработки программы
Определение требований к программе
Разработка алгоритма
Кодирование
Отладка
Тестирование
Алгоритм и программа
Компиляция
Язык программирования Object Pascal
Тип данных
Целый тип
Вещественный тип
Символьный тип
Строковый тип
Логический тип
Переменная
Константы
Числовые константы
Строковые и символьные константы
Логические константы
Именованная константа
Инструкция присваивания
Выражение
Тип выражения
Выполнение инструкции присваивания
Стандартные функции
Арифметические функции
Функции преобразования типов
Использование функций
Ввод данных
Ввод из окна ввода
Ввод из поля редактирования
Вывод результатов
Вывод в окно сообщения
Вывод в поле диалогового окна
Процедуры и функции
Структура процедуры
Структура функции
Запись инструкций программы
Стиль программирования
Глава 2. Управляющие структуры Object Pascal
Условие
Выбор
Инструкция IF
Инструкция CASE
Циклы
Инструкция FOR
Инструкция WHILE
Инструкция REPEAT
Инструкция GOTO
Глава 3. Символы и строки
Символы Строки
Операции со строками
Функция LENGTH
Процедура DELETE
Функция POS
Функция COPY
Глава 4. Консольное приложение
Инструкции WRITE WRITELN
Инструкции READ и READLN
Создание консольного приложения
Глава 5. Массивы
Объявление массива
Операции с массивами
Вывод массива
Ввод массива
Использование компонента StringGrid
Использование компонента Memo
Поиск минимального (максимального) элемента массива.
Поиск в массиве заданного элемента
Алгоритм простого перебора
Метод бинарного поиска
Сортировка массива
Сортировка методом прямого выбора
Сортировка методом обмена
Многомерные массивы
Ошибки при использовании массивов
Глава 6. Процедуры и функции
Функция
Объявление функции
Использование функции
Процедура
Объявление процедуры
Использование процедуры
Повторное использование функций и процедур
Создание модуля
Использование модуля
Глава 7. Файлы
Объявление файла
Назначение файла
Вывод в файл
Открытие файла для вывода
Ошибки открытия файла
Закрытие файла
Пример программы
Ввод из файла
Открытие файла
Чтение данных из файла
Чтение чисел
Чтение строк
Определение конца файла
Глава 8. Типы данных, определяемые программистом
Перечисляемый тип
Интервальный тип
Запись
Объявление записи
Инструкция WITH
Ввод и вывод записей в файл
Вывод записи в файл
Ввод записи из файла
Динамические структуры данных
Указатели
Динамические переменные
Упорядоченный список
Добавление элемента в список
Удаление элемента из списка
Глава 9. Введение в объектно-ориентированное программирование
Класс
Объект
Метод
Инкапсуляция и свойства объекта
Наследование
Директивы Protected и Private
Полиморфизм и виртуальные методы
Классы и объекты Delphi
Глава 10. Графические возможности Delphi
Холст
Карандаш и кисть
Карандаш
Кисть
Вывод текста
Методы вычерчивания графических примитивов
Линия
Ломаная линия
Окружность и эллипс
Дуга
Прямоугольник
Многоугольник
Сектор
Точка
Вывод иллюстраций
Битовые образы
Мультипликация
Метод базовой точки
Использование битовых образов
Загрузка битового образа из ресурса программы
Создание файла ресурсов
Подключение файла ресурсов Просмотр "мультика"
Глава 11. Мультимедийные возможности Delphi
Компонент Animate
Компонент MediaPlayer
Воспроизведение звука
Запись звука
Просмотр видеороликов и анимации
Создание анимации
Глава 12. Рекурсия Понятие рекурсии Примеры программ
Поиск файлов
Кривая Гильберта
Поиск пути
Поиск кратчайшего пути
Глава 13. Отладка программы
Классификация ошибок
Предотвращение и обработка ошибок
Отладчик
Трассировка программы
Точки останова программы
Добавление точки останова
Изменение характеристик точки останова
Удаление точки останова
Наблюдение значений переменных
Глава 14. Справочная система
Файл документа справочной информации
Создание справочной системы
Использование справочной системы
HTML
Help
Workshop
Подготовка справочной информации
Использование редактора Microsoft Word
Использование HTML Help Workshop
Создание файла справки
Компиляция
Вывод справочной информации
Глава 15. Примеры программ
Система проверки знаний
Требования к программе
Файл теста
Форма приложения
Вывод иллюстрации
Загрузка файла теста
Текст программы
Усовершенствование программы
Игра Сапер 2001
Правила
Представление данных
Форма приложения
Начало игры
Игра
Справочная информация
Информация о программе
Листинги
Глава 16. Компонент программиста
Выбор базового класса
Создание модуля компонента
Тестирование модуля компонента
Установка компонента
Ресурсы компонента
Установка
Ошибки при установке компонента
Тестирование компонента
Удаление компонента
Настройка палитры компонентов
Глава 17. Базы данных Классификация баз данных
Локальная база данных
Удаленная база данных
Структура базы данных
Модель базы данных в Delphi
Псевдоним базы данных
Создание базы данных
Создание каталога
Создание псевдонима
Создание таблицы
Программа управления базой данных
Доступ к файлу данных (таблице)
Просмотр базы данных
Режим формы
Режим таблицы Выбор информации из базы данных Динамически создаваемые псевдонимы
Перенос программы управления базой данных на другой компьютер
Заключение
Приложение 1. Язык Pascal (краткий справочник)
Зарезервированные слова и директивы
Структура модуля
Основные типы данных
Строки
Массив
Запись
Инструкции выбора
Инструкция if
Инструкция case
Циклы
Инструкция for
Инструкция repeat
Инструкция while
Безусловный переход
Инструкция GoTo
Объявление функции
Объявление процедуры
Стандартные функции и процедуры
Приложение 2. Кодировка символов в Windows
Приложение 3. Представление информации в компьютере
Десятичные и двоичные числа
память компьютера
Приложение 4. Рекомендуемая дополнительная литература
Приложение 5. Описание дискеты
Предметный указатель

Если вы хотите разрабатывать приложения быстрее, чем в Visual Basic, и при этом не подходя к проблеме слишком комплексно, как в C++, то Delphi - специально для вас.

Компания Borland продолжает свои разработки, и - вот новый пакет Delphi 6. Это самый быстрый разработчик и создатель приложений для Windows, который теперь поддерживает все самые распространенные функции и серверы WEB. С помощью Delphi 6 индивидуальные или корпоративные пользователи смогут создавать e-business пакеты и приложения следующего поколения легко и быстро.
Пакет Delphi 6 - это мощное высокопродуктивное средство для разработки приложений. Он помогает сделать любой проект в кратчайшие сроки. Данное средство создания приложений обеспечит вас мощными современными стандартизированными утилитами для контроля и доводки бизнес-данных.
Delphi 6 теперь обеспечивает совместимость с Linux, а также поддерживается программирование баз данных для Access, DB2, Dbase, FoxPro, InterBase, Informix, MS SQL, MySQL, MyBase, Oracle, Paradox и Sybase.
Delphi 6 имеет новые особенности и изменения в следующих областях: IDE, Internet, XML, Compiler, COM/Active X, Database support, CORBA, Actions, Custom Variants, VCL units and features, RTL units and features, Cross-platform development, Translation tools, Deployment changes, Help system extensibility.
Но некоторые изменения не доступны в отдельных версиях Delphi 6.
Рассмотрим, какие особенности имеет интегрированная среда разработчика Delphi 6 Enterprise Edition.
После запуска Delphi перед вами откроются следующие окна (рисунок 1).
Вы видите, что выше инспектора объекта появился новый элемент - это Object TreeView. Расположенный в верхнем левом углу IDE объект TreeView представляет собой диаграмму дерева, которая показывает логические отношения между визуальными и не визуальными компонентами на форме.
TreeView синхронизирован с Инспектором Объекта и Проектировщиком Формы таким образом, что если вы выбираете компонент и изменяете его в любом из трех инструментов (форме, Инспекторе объекта или объекте TreeView), то изменения отражаются в двух других инструментах.
Объект TreeView имеет некоторые характеристики, рассмотрим их. Он расположен выше Инспектора Объекта, и если вы его скрыли, то он появляется, когда вы нажимаете Alt+Shift+F11 или производите выбор View|Object TreeView.
Объект TreeView отображает как визуальные так и не визуальные компоненты.
Панель инструментов включает команду удаление и кнопки продвижения вверх и вниз, которые работают для составных свойств компонентов. Например, если вы добавили компонент набора данных, вы можете выбирать значение из совокупности.
Дополнительно каждый помещаемый на форму компонент представляется своим изображением, например, по-разному отображается родительский компонент или дочерний компонент, визуальный компонент или не визуальный компонент (рисунок 2).
Если вы активизируете компонент в Object TreeView, то происходит его активизация на форме и Инспекторе объекта.
Щелчком правой кнопки мыши открывается всплывающее меню с командами редактирования, положения компонента на форме (передний или задний план) скрытия Object TreeView и др. (рисунок 3).
Окно Редактора Кода имеет стандартную страницу со встроенным окном Code Explorer. Кроме этого, имеется дополнительная страница Diagram.
Страница "Диаграммы" в Редакторе Кода обеспечивает визуальные инструменты для создания диаграммы, чтобы показать отношения среди визуальных и не визуальных компонентов. Диаграмма - это инструмент документации, который иллюстрирует отношения в виде схемы и позволяет вам добавлять комментарии к диаграмме. Компоненты не появляются на странице "Диаграммы", пока вы их не перетянете с окна Object TreeView (рисунок 4).
Вы можете выбирать множество компонентов из объекта TreeView и перетягивать их на страницу "Диаграммы" одновременно.
Левая сторона страницы "Диаграммы" имеет редактирующий элемент, где вы можете напечатать название и описание для каждой диаграммы, которую вы создаете. В верхней части имеется комбинированное окно перехода к следующей диаграмме.
Вверху страницы расположена инструментальная панель (Toolbar) кнопок для соединения блоков, помещаемых вами для создания диаграммы.
Вы можете создавать диаграмму для каждого модуля данных, формы, которые добавили к вашему проекту.

Delphi 6 - мощная высокопроизводительная среда разработки приложений, значительно упрощающуая разработку e-business приложений следующего поколения. Delphi включает в себя большой набор инструментов для управления и доставки бизнес-данных с использованием открытых стандартов.

Платформа разработки Web Services BizSnap упрощает разработку и интеграцию приложений business-to-business (B2B) за счет создания Web Services на основе стандартов SOAP/XML и предоставления средств их соединения между собой, позволяющих интегрировать бизнес компании-производителя продукта с бизнесом поставщиков и клиентов этой компании.

Платформа разработки Web-приложений WebSnap обеспечивает скорость, эффективность и надежность разработки.

Платформа DataSnap позволяет разработчикам создавать высокопроизводительные многозвенные решения с доступом к данным через программное обеспечение среднего звена, позволяющее интегрировать такие решения с любыми приложениями ваших партнеров по бизнесу.

BizSnap
Обеспечение интеграции Web Services

Delphi BizSnap представляет собой мощную платформу разработки Web Services. BizSnap упрощает обмен, трансформацию и манипуляцию XML-документами, обеспечивая гибкость и расширяемость ваших бизнес-приложений, приводя их в готовность к использованию в электронном бизнесе новой волны. Delphi полностью соответствует индустриальным стандартам, что означает возможность адекватной реакции на быстро меняющиеся требования современного бизнеса. Delphi позволяет вам тесно взаимодействовать с различными приложениями ваших торговых партнеров, использующих такие платформы, как.Net и BizTalk от Micorsoft, ONE от Sun Microsystems.

WebSnap
Ускорение разработки Web-приложений

WebSnap представляет собой законченную платформу разработки Web-приложений на Delphi за счет использования самых современных средств быстрой разработки приложений (RAD). Инструменты, входящие в состав WebSnap, например отладочный Web-сервер, упрощают отладку и тестирование приложений. Возможность плотной интеграции приложений WebSnap в корпоративные Web-сайты порталы, разработанные с использованием таких известных средств, как DreamWeaver и FrontPage, а также поддержка серверных сценариев на JavaScript, VBScript и других языках позволяют вам задействовать существующие наработки в области Web-приложений.

DataSnap
Обеспечение разработки приложений среднего звена с поддержкой Web

Delphi DataSnap позволяет использовать все существующие стандарты распределенной обработки данных, такие, как SOAP, XML, COM, CORBA и средства TCP/IP для упрощения интеграции существующих систем с новыми приложениями электронного бизнеса. Эти стандарты позволяют Delphi-приложениям взаимодействовать с любыми бизнес-процессами или Web-службами ваших партнеров. DataSnap предоставляет высокопроизводительные средства доступа к таким СУБД, как DB2, Informix, InterBase, MS SQL Server, Oracle и Sybase.

DataSnap оптимизирует число соединений и потоки данных между клиентами и серверами баз данных за счет централизации доступа к данным и их обновлению среди всех процессов и приложений электронного бизнес, а также позволяет масштабировать приложения в зависимости о изменения объемов обрабатываемых данных.

В начале мая этого года компания Borland Software Corporation, известный производитель средств разработки и средств middleware, анонсировала новую, шестую версию Delphi - средства быстрой разработки Windows-приложений, бывшего долгое время ведущим продуктом этой компании и по-прежнему весьма популярного в нашей стране. В этой статье мы кратко рассмотрим, что нового появилось в этом продукте по сравнению с предыдущей версией. Мы предполагаем, что читатели хорошо знакомы с предыдущими версиями Delphi; тем же, кто с этим продуктом не знаком, мы можем порекомендовать обратиться к книгам, посвященным предыдущим версиям, - их на русском языке издано более чем достаточно.

Что нового появилось в среде разработки

В менеджере проектов теперь отображаются все открытые пакеты компонентов. Это может быть удобным при написании компонентов: в процессе их тестирования можно работать одновременно и с проектом, предназначенным для тестирования компонентов, и с пакетом, в котором содержится тестируемый компонент.

В среде разработки появился новый элемент - дерево объектов (Object TreeView), отображающее иерархию компонентов приложения с точки зрения их принадлежности друг другу (рис. 1). В дереве объектов можно осуществлять операции drag-and-drop, перемещая дочерние компоненты на другие контейнеры, и эти изменения синхронно отображаются в редакторе форм.

Отметим, что компоненты, у которых не определены ключевые свойства, отмечаются в дереве объектов вопросительными знаками, сразу же привлекающими внимание. Кроме того, дерево объектов отображает и компоненты, создаваемые неявно (рис. 2).

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

  • Diagram - отображение связей между компонентами доступа к данным наподобие редактора модулей данных из предыдущей версии Delphi);
  • HTML Scrip - отображение кода HTML и JavaScript, сгенерированного компонентами, которые предназначены для создания интерактивных Web-приложений (подробнее о них можно прочесть в статье «Разработка Internet-приложений с использованием Borland Delphi и Kylix» в этом номере журнала);
  • HTML Resul - отображение HTML-кода, сгенерированного при использовании HTML-шаблона;
  • Preview - отображение сгенерированного HTML-вывода так, как он выглядит в клиентском браузере (рис. 3).

В инспекторе объектов также появилось кое-что новое. В частности, если значением свойства является компонент, то он отображается другим цветом, и если щелкнуть по нему, то можно раскрыть список его свойств. На наш взгляд, это довольно удобное новшество (рис. 4).

Свойства, не предназначенные для редактирования (read-only properties), теперь также отображаются другим цветом. Кроме того, можно указать, какими цветами что отображать в инспекторе объектов - для этой цели используется диалог Object Inspector Properties (рис. 5).

Средства Code Insight и Code Completion тоже претерпели некоторые изменения. Так, теперь можно пользоваться средством Code completion в секции интерфейса модулей, получать список виртуальных методов, свойств и методов интерфейса, фильтровать значения элементов в списке. Несколько изменился внешний вид выпадающего списка Code Completion: элементы разных типов отображаются разными цветами, вместе с именем метода появляется и список параметров, а размеры окна со списком теперь можно менять (рис. 6).

Отметим, что для создания Web-приложений в новой версии предусмотрена отдельная инструментальная панель (рис. 7).

Изменения в компиляторе

Кратко перечислим некоторые изменения, внесенные в компилятор:

  • все процедуры и функции, предназначенные для работы с типами данных Variant, удалены из модуля System и перенесены в новый модуль Variants. Отметим, что в Delphi 6 можно создавать собственные вариантные типы данных - соответствующие классы должны быть наследниками класса TcustomVariantType;
  • модуль Consts.pas разделен на две части: Consts.pas и RTLConsts.pas;
  • директива компилятора $IFDEF поддерживает вычисление выражений, использующих константы, например: {$IF Defined(WIN32) and (MyValue > 1) } ... {$ENDIF}

    В этих выражениях могут использоваться и константы Pascal, причем можно проверять, объявлены ли они, например:

    {$IF Declared(SomeConst)} ... {$ENDIF}

  • Delphi 6 содержит новый встроенный ассемблер. Подробные сведения о нем (а также о некоторых других изменениях, внесенных в компилятор) можно найти в справочной системе продукта.

Новое в VCL и RTL

Библиотека компонентов Visual Component Library, как это всегда происходит при выпуске очередной версии Delphi, пополнилась новыми компонентами. Из компонентов, предназначенных для создания пользовательских интерфейсов Windows-приложений, следует особо отметить:

  • TLabeledEdit - поле для ввода текста с меткой (рис. 8);
  • TValueListEditor - компонент, предназначенный для отображения списка пар типа «параметр-значение», наподобие того, что представлен в инспекторе объектов (рис. 9);
  • TComboBoxEx - комбинированный список, позволяющий отображать рядом с текстом графические изображения (рис. 10);
  • TColorBox - комбинированный список для выбора цвета (рис. 11).

Многие из компонентов приобрели дополнительные свойства (например, указывающие на то, как выглядят границы компонентов, такие как BevelEdges, BevelInner, BevelOuter, BevelKind, BevelWidth).

Еще одно новшество VCL - возможность использования в качестве свойств так называемых субкомпонентов, то есть компонентов, владельцем которых является не форма, а другой компонент. Иными словами, свойством какого-либо компонента может быть ссылка на компонент, который представляет собой либо обычный компонент, либо субкомпонент. Это означает, что теперь свойства субкомпонентов должны быть доступны в списке свойств компонентов-владельцев, и именно с этой целью в инспектор объектов были внесены соответствующие изменения, о которых упоминалось выше.

Появление в одной из предыдущих версий Delphi компонента TActionList существенно облегчило создание пользовательских интерфейсов приложений. В Delphi 6 для работы с объектами TAction добавлены новые компоненты - TActionManager (для хранения коллекции объектов Taction; рис. 12), TToolActionBar и TMainMenuActionBar (интерфейсные элементы, предназначенные для предоставления пользователю доступа к функциональности, описанной в объектах TAction).

Отметим, что создавать пункты меню в компоненте TMainMenuActionBar и кнопки на инcтрументальных панелях, созданных с помощью компонентов TtoolActionBar, можно посредством переноса соответствующих объектов методом drag-and-drop из редактора свойств компонента TActionManager. Delphi 6 также содержит внушительный набор стандартных компонентов TAction.

Несколько новых свойств и событий появилось у компонентов TTreeView, TMenuItem, TListView, TCheckListBox, THeaderControl, TDateTimePicker, TDBLookupListBox, TDBLookupComboBox, TDBComboBox, TDBListBox, TOpenDialog, у классов TApplication, TScreen, TThread, TCustomComboBox, TListBox, TImage, TList, TStringList, TObjectList, TComponentList, TClassList, TCollection, TStack, TQueue, TObjectStack и TObjectQueue. Появилось также несколько новых классов, напр. TCustomListControl, THashedStringList)

Свойства типа Interface теперь могут быть опубликованы, если имеется хотя бы один компонент, реализующий данный интерфейс.

Из других изменений в VCL и RTL следует выделить наличие некоторых новых функций для работы с датой и временем, пары новых функций для работы с динамическими массивами, нескольких новых стандартных цветов, включая clMoneyGreen - серо-зеленый, как доллар (ох уж эти американцы, считающие свою страну пупом земли и центром вселенной!). Отметим также, что многие функции для работы с данными типа Variant теперь вызывают не функции Windows API, а функции из модуля Variants.pas - это сделано c целью поддержки многоплатформенной разработки приложений.

Приложения с базами данных: что нового?

В Delphi 6 появился новый универсальный механизм доступа к данным - dbExpress. Для его применения в приложениях Delphi 6 содержит компоненты доступа к данным и драйверы баз данных, реализующие интерфейсы этого универсального механизма доступа к данным с помощью клиентских API соответствующих серверных СУБД. В комплект поставки Delphi 6 входят драйверы dbExpress для InterBase, Oracle, DB2, MySQL. Драйверы dbExpress представляют собой одну динамически загружаемую библиотеку, и обычно только она и требуется при поставке клиентских приложений, использующих dbExpress. Спецификация dbExpress разработана Borland, но является открытой, поэтому при необходимости можно создавать драйверы dbExpress для своих приложений.

Все эти особенности выгодно отличают dbExpress от библиотеки BDE, традиционно использовавшейся в Delphi и бывшей единственным поддерживаемым универсальным механизмом доступа к данным до момента появления в Delphi 5 поддержки ADO на компонентном уровне. BDE, будучи потомком библиотеки Paradox Engine, сохранила многие особенности механизма доступа к настольным базам данных, которые не всегда успешно можно применить при работе с серверными СУБД. Можно сказать, что к настоящему времени вопрос замены универсального механизма доступа к данным на более соответствующий современным потребностям уже назрел, тем более что такой механизм все равно требовалось разработать при создании Kylix - Linux-версии Delphi (статью о Kylix вы сможете найти в этом номере журнала).

Однако BDE в Delphi 6 и сейчас поддерживается, так что пока нет необходимости переписывать прежние приложения, использующие этот механизм доступа к данным.

В связи с тем, что Delphi теперь поддерживает три универсальных механизма доступа к данным: BDE, ADO и dbExpress, палитра компонентов несколько реорганизована (рис. 13).

Отметим, что в Delphi 6 в палитре компонентов нет страницы MIDAS (да и сам термин MIDAS выведен из употребления). Компоненты для распределенных приложений перенесены на новую страницу DataSnap, содержащую также несколько новых компонентов (рис. 14).

В основные компоненты доступа к данным с помощью механизма dbExpress входят:

  • TSQLConnection - компонент, обеспечивающий соединение с базой данных и взаимодействующий непосредственно с драйвером dbExpress;
  • TSQLDataSet - клиентский набор данных, реализующий функциональность однонаправленного курсора (сама библиотека dbExpress позволяет создать только однонаправленный курсор, так как не буферизует данные в клиентском приложении);
  • TSQLQuery, TSQLStoredProc и TSQLTable - клиентские наборы данных, также реализующие функциональность однонаправленного курсора и созданные главным образом для совместимости с соответствующими компонентами BDE в унаследованных приложениях, в которых производится замена BDE на dbExpress.

При необходимости редактирования данных, полученных с помощью dbExpress, можно использовать компоненты TClientDataSet или TSQLClientDataSet. Для реализации клиентских наборов данных, кэшируемых в оперативной памяти клиентского приложения, в Delphi 6 имеется три новых класса: TBDEClientDataSet, TSQLClientDataSet, TIBClientDataSet, которые являются потомками нового базового класса TСustomClientDataset, предназначенными для применения с разными механизмами доступа к данным.

Компонент TClientDataSet приобрел несколько дополнительных свойств, связанных с обработкой концевых пробелов в строковых данных, доступом к пакетам данных в формате XML, сменой компонента доступа к данным и выбором источника данных. Помимо этого появилось несколько компонентов, позволяющих конвертировать клиентские наборы данных в XML и обратно.

Компонент TUpdateSQL также подвергся некоторым изменениям: теперь его можно использовать не только с наборами данных BDE, но и с другими наборами данных; можно также использовать несколько таких компонентов при кэшировании данных с помощью клиентских наборов данных. Следует заметить, что клиентские наборы данных, появившиеся в Delphi 3 лишь как средство кэширования данных в презентационном слое распределенных приложений, постепенно стали основным механизмом работы с базами данных во всех приложениях, независимо от их архитектуры. Впрочем, этого следовало ожидать - ведь многие разработчики их уже давно используют именно с данной целью.

Для поддержки клиентских наборов данных в распределенных приложениях созданы два новых компонента: TSharedConnection, позволяющий клиентскому приложению обращаться к нескольким удаленным модулям данных одного сервера, и TLocalConnection, предназначенный для применения с провайдерами данных, которые содержатся в том же приложении, что и клиентский набор данных.

Обсуждая поддержку баз данных в Delphi 6, нельзя не остановиться на поддержке ADO. Здесь, к сожалению, ничего нового не появилось - ни редактора запросов, хотя бы отдаленно напоминающего SQL Builder, ни исправлений ошибок в help-файле (например, в списке методов компонента TADOStoredProc по-прежнему нет ссылки на ExecProc - один из самых важных методов этого компонента); как и раньше, нет никакой поддержки OLAP, кроме наличия компонентов DecisionCube, по-прежнему не работающих с ADO-источниками; нет никакой поддержки на компонентном уровне новых объектов, появившихся в ADO 2.5 и 2.6. Похоже, поддержке ADO в Delphi в этом году уделялось не слишком много внимания. А ведь такие досадные мелочи могут заставить кого-либо задуматься о том, что есть и другие средства разработки…

Поддержка XML

Delphi 6 поддерживает создание приложений, использующих XML-документы и позволяющих интегрировать их в приложения с базами данных. В частности, этот продукт содержит несколько различных инструментов для работы с XML-документами:

  • компоненты и интерфейсы для работы с XML-документами в приложениях;
  • XML Data Binding wizard, генерирующий классы для представления конкретного XML-документа;
  • компоненты и утилиты для преобразования XML-документов в пакеты данных и обратно, в том числе XML Mapping Tool (рис. 15).

Новая версия позволяет работать с XML-документами так же, как с обычными базами данных. Поддержка применения XML в приложениях с базами данных основана на компонентах, конвертирующих пакеты данных в XML-документы и обратно. Для применения этих компонентов следует определить соответствующие правила преобразования XML в пакеты данных и обратно, что производится с помощью утилиты XML Mapping Tool. После определения правил преобразования (сохраненных в файле) можно либо конвертировать XML-документ в клиентский набор данных, либо работать с ним как с базой данных, считывая данные и сохраняя в нем результаты редактирования.

Новые средства создания Интернет-приложений

Средства создания Интернет-приложений подверглись в новой версии Delphi весьма существенным изменениям. Теперь Delphi поддерживает Web-сервисы и написание клиентов для них с применением SOAP, создание приложений для Apache и многое другое (о том, что нового появилось в средствах создания Web-приложений в Delphi 6, вы также сможете прочесть в статье «Разработка Internet-приложений с использованием Borland Delphi и Kylix»).

Поддержка CORBA

Через три года после приобретения VisiBroker в состав Delphi наконец-то включили компилятор IDL2PAS, предназначенный для создания CORBA-серверов и клиентов. С его помощью можно генерировать код stub- и skeleton-объектов на языке Pascal (до сих пор пользователи VisiBroker могли генерировать соответствующий код только на языках C++ и Java, что исключало полноценную поддержку CORBA в Delphi - раннее поддержка CORBA базировалась на применении для этой цели COM). Компилятор IDL2PAS доступен с помощью пункта меню Tools|Regenerate CORBA IDL files среды разработки Delphi.

Полноценная поддержка CORBA в Delphi означает, что теперь можно создавать клиентские приложения для CORBA-серверов, созданных с помощью других средств разработки и языков программирования (в частности, C++ или Java), а также для серверов приложений, поддерживающих CORBA (главным образом Borland Application Server; см. статью в этом номере журнала).

Создание многоплатформенных приложений

Пакет Delphi 6 содержит еще одну библиотеку компонентов - Borland Component Library for Cross-Platform (CLX), предназначенную для применения и в Windows, и в Linux (подробности о ней вы найдете в статье, посвященной Borland Kylix). Многие из компонентов и классов CLX имеют такие же имена, что и соответствующие компоненты и классы VCL, а также во многом совпадающие списки свойств, событий и методов. CLX можно использовать для создания приложений, совместимых с приложениями Kylix на уровне исходных текстов.

Для создания приложения, переносимого в Linux, нужно выбрать из меню среды разработки пункт File|New|CLX application. После этого палитра компонентов изменится: на ней будут отображены компоненты, доступные в CLX.

Следует иметь в виду, что на сегодняшний день существует не так много RAD-средств, которые позволяют создавать многоплатформенные приложения, - особенно основанных на компиляторах.

Вместо заключения

Развитие технологий создания приложений и обмена данными, похоже, трудно остановить. И если игнорировать этот факт, то в условиях конкуренции будет непросто выжить, особенно производителям инструментальных средств.

Мы убедились в том, что Delphi 6, безусловно, интересный и заслуживающий внимания продукт, и те нововведения, которые в нем присутствуют, в основном отражают современные тенденции развития индустрии: в этом продукте есть поддержка Web-сервисов, SOAP, обмена XML-данными, полноценная поддержка CORBA и даже поддержка многоплатформенности. Явно заметен прогресс по сравнению с предыдущей версией, в которой было, пожалуй, не так уж много нововведений: поддержка ADO, некоторые изменения в технологии распределенных вычислений, изменения в поддержке COM - да вот, собственно, и все... Можно, наверное, утверждать, что к лучшим результатам (с точки зрения желания приобрести продукт) приводит выпуск новых версий не раз в год по календарю, как это было раньше, а именно в тот момент, когда появляются новые технологии, стандарты, платформы, поддержка которых нужна разработчикам.

И тем не менее нельзя не отметить, что пока в Delphi поддерживаются далеко не все современные технологии. Например, нет никакого намека на поддержку Microsoft .NET, и это в ситуации, когда версия Delphi для Windows (операционной системы, созданной, как известно, все той же компанией Microsoft) остается одним из самых популярных и продаваемых продуктов Borland. Менеджеры Borland уверяют, что просто ждут появления соответствующей операционной системы. Им, конечно, виднее. А нам решать, готовы ли и мы ждать вместе с ними.

КомпьютерПресс 6"2001

Является одним из самых успешных продуктов в линейке интегрированной среды обработки от компании Borland (начавшейся продуктом Borland Delphi и последним на данный момент 10.1 Berlin). Программа предназначена в первую очередь для разработки приложений в архитектуре клиент-сервер. Основным производимыми Delphi 7 модулями являются.exe и.dll. Среда визуального проектирования программы берёт на себя множество рутинных функций по подготовке приложения. Этим она ускоряет время создания приложения и повышает его качество. Во многом схожими параметрами обладает продукт Borland C++ Builder, однако вместо паскаля в нём используется язык C++.

Преимущества и недостатки Delphi

Время разработки приложений значительно ниже, чем при работе в аналогичных программах;
+ высокая производительность при компактном объёме;
+ созданное приложение обладает минимальными требованиями к ресурсам ПК;
+ возможность наращивания потенциала программы за счёт встраиваемых модулей;
+ а также возможность создания таких модулей в самой среде Delphi;
+ стройная иерархия объектов;
- большой размер некоторых итоговых приложений и программ;
- невозможность использования других стандартных UI;
- отсутствие гибкости и оригинальности: по любой программе, выполненной в Delphi, можно понять, что она выполнена в Delphi.

Основные возможности

  • создание приложений и прикладных программ на языке Delphi;
  • запуск и отладка программ на языке Delphi;
  • создание кроссплатформенных отчетов Rave Reports;
  • работа в среде моделирования ModelMaker;
  • разработка WEB-приложений;
  • редактирование, отладка и запуск WEB-приложений;
  • визуализация, интеграция и реинжиниринг;
  • встроенные мануалы по базовым функциям;
  • возможность использования готовых шаблонов проектирования;
  • использования модулей.exe и.dll.