Урок 29: Генератор отчетов ReportSmith
- Краткий Обзор
Важной составной частью
приложения является вывод данных на печать – получение отчета. В пакет
Delphi входит средство для генерации и печати отчетов – ReportSmith. Вы
можете объединить отчет с приложениями Delphi. Также, библиотека визуальных
компонент Delphi включает специальный компонент TReport. В данном уроке
показано, как использовать компоненту TRepor и рассмотрены основные принципы
проектирования отчетов в ReportSmith.
- ReportSmith
Borland ReportSmith является
инструментом для получения отчетов и интегрирован в среду Delphi. Он может
быть вызван непосредственно из меню Tools. Отчет может быть добавлен к
приложениям Delphi, для этого есть компонента TReport на странице Data
Access Палитры Компонентов. Войти в ReportSmith можно, нажав правую кнопка
мыши на компоненте TReport и выбрав пункт контекстного меню (popup menu)
или двойным щелчком левой кнопки мыши на компоненте TReport на форме. Read the rest of this entry »
Урок 28: Редакторы свойств
- Обзор
Открытость Delphi
проявляется наиболее ярко в том, что наряду
с расширяемостью Библиотеки Визуальных Компонент можно изменять саму среду
программирования. Delphi предоставляет
соответствующее API с тем, чтобы программисты
могли расширять функциональность среды разработки. С помощью этого API
можно создать свои собственные Эксперты (Experts),
свою Систему Контроля Версий (Version
Control system), Редакторы Компонент (Component
Editors) и Редакторы Свойств (Property
Editors).
При написании новых объектов
часто требуется создавать для них свои Редакторы Свойств и Редакторы Компонент.
В данном уроке и рассказывается, как это сделать и приводятся примеры.
Краткое описание инструментов
среды Delphi и модулей, в которых реализованы
соответствующие API:
API Экспертов – Позволяет
создать свои собственные эксперты; модули EXPINTF.PAS
и VIRTINTF.PAS
API Контроля Версий
- Дает возможность создать свою систему Контроля Версий или подключить
систему третьей фирмы; модули VCSINTF.PAS
и VIRTINTF.PAS
API Редакторов Компонент
- Создание диалогов, связанных с объектом во время дизайна. Пример – Menu
Designer для TMenu или
Fields Editor для TTable; модуль DSGNINTF.PAS
API Редакторов Свойств
- Создание редакторов для использования их при редактировании свойств в
Инспекторе Объектов; модуль
DSGNINTF.PAS
Модули можно найти в библиотеке
визуальных компонент (в директории X:\DELPHI\SOURCE\VCL).
Необходимо отметить, что
большинству людей никогда не придется использовать вышеперечисленные API.
Однако, некоторым программистам они очень могут пригодиться, особенно разработчикам
новых объектов. Read the rest of this entry »
Урок 27 : Создание собственных компонент
- Обзор
Поскольку Delphi является
открытой средой и позволяет не только использовать объекты из Библиотеки
Визуальных Компонент (VCL) в своей
программе, но и создавать новые объекты. Причем, ничего другого, кроме
Delphi, для этого не требуется. Создание
нового объекта в Delphi не является
очень сложной задачей, хотя для этого и требуется знание Windows
API, объектно-ориентированного программирования
и иерархии классов в VCL.
Может возникнуть вопрос;
если в Delphi уже есть своя библиотека,
то зачем еще создавать какие-то объекты?
Ответ прост: нельзя создать библиотеку на все случаи жизни и на все вкусы.
Новые компоненты, во-первых, позволяют расширить область применения Delphi:
например, с помощью библиотек объектов третьих
фирм разрабатывать приложения для работы в Internet.
Во-вторых, позволяют дополнить или настроить для себя имеющиеся в VCL
объекты (например, переопределить значения
свойств, устанавливаемые по умолчанию).
- Добавление новых объектов в VCL
Предположим, что у вас
появился уже готовый компонент. Как его добавить в VCL? Для
этого выберите пункт меню Options|Install Components… Появится
диалог, как на рис.1

Рис.A: Диалог установки нового компонента
Нажмите “Add” и укажите
модуль, содержащий процедуру регистрации, нажмите “OK” и
после успешной перекомпиляции новый объект появится в палитре. Read the rest of this entry »
Урок 26: Новые концепции ООП в Object Pascal
В языке Object Pascal, используемом
в Delphi, произошел ряд давно ожидаемых программистами изменений, по сравнению
с последней версией Borland Pascal. Перечислим, основные из них, позволившие
назвать объектную модель Object Pascal новой объектной моделью:
- изменения в синтаксисе объявления
и использования объектов
- введение функций классов
- введение методов классов
- изменения в организации определений
и вызовов методов
- введение раздела объявления
интерфейса разработчика объектного типа – protected
- введение раздела объявления
design-time интерфеса объектного типа – published
- введение механизмов RTTI – информации
о типах на этапе выполнения программ
- введение поддержки процедурных
полей
- введение понятия “свойства”
- property Read the rest of this entry »
Урок 25: Утилиты для Local InterBase
- Обзор
InterBase – это система управления реляционными базами данных,
поставляемая корпорацией BORLAND для построения приложений с архитектурой
клиент-сервер произвольного масштаба: от сетевой среды небольшой рабочей
группы с сервером под управлением Novell NetWare или Windows NT на базе
IBM PC до информационных систем крупного предприятия на базе серверов IBM,
Hewlett-Packard, SUN и т.п.
В пакет Delphi версии 1.0 входит однопользовательская версия InterBase
для Windows – Local InterBase. Используя Local InterBase можно создавать
и отлаживать приложения, работающие с данными по схеме клиент-сервер, без
подключения к настоящему серверу. В дальнейшем потребуется только перенастроить
используемый псевдоним базы данных и программа будет работать с реальной
базой без перекомпиляции. Кроме того, Local InterBase можно использовать
в приложениях для работы с данными вместо таблиц Paradox.
В данном уроке рассматриваются утилиты, поставляемые в пакете Delphi
2.0, которые служат для администрирования баз данных (как локальных, так
и на сервере) и для доступа к этим данным посредством SQL запросов. Read the rest of this entry »
Урок 24: Управление транзакциями
- Обзор
Все операции, выполняемые с данными на SQL сервере,
происходят в контексте транзакций. Транзакция – это групповая операция,
т.е. набор действий с базой данных; самым существенным для этих действий
является правило либо все, либо ни чего. Если во время выполнения
данного набора действий, на каком-то этапе невозможно произвести очередное
действие, то нужно выполнить возврат базы данных к начальному состоянию
(произвести откат транзакции). Таким образом (при правильном планировании
транзакций), обеспечивается целостность базы данных. В данном уроке объясняется,
как начинать, управлять и завершать транзакции с помощью SQL выражений.
А так же рассматривается вопрос об использовании транзакций в приложениях,
созданных в Delphi. Вся приведенная
информация касается InterBase. Read the rest of this entry »
Урок 23: Управление соединением с базой данных (класс TDataBase, объект Session)
- Обзор
В данной статье рассказывается об управлении соединением с базой
данных при помощи компоненты TDataBase и
объекта TSession, который создается
в программе автоматически. Описываются процедуры создания локального псевдонима
базы данных и доступа к таблицам Paradox по
паролю.
- Класс TDataBase
Объект типа TDataBase
не является обязательным при работе с базами данных, однако он предоставляет
ряд дополнительных возможностей по управлению соединением с базой данных.
TDataBase служит для:
- Создания постоянного соединения
с базой данных
- Определения собственного диалога
при соединении с базой данных (опрос пароля)
- Создания локального псевдонима
базы данных
- Изменения параметров при соединении
- Управления транзакциями
TDataBase является невидимым
во время выполнения объектом. Он находится на странице “Data Access”
Палитры Компонент. Для включения в проект
TDataBase нужно “положить”
его на главное окно вашей программы. Read the rest of this entry »
Урок 22: Редактор DataSet, Вычисляемые поля
- Обзор
В этой статье вы узнаете
о Редакторе DataSet и о способах управления компонентом TDBGrid во время
выполнения программы. Здесь же будут рассмотрены вычисляемые поля – весьма
ценная особенность Редактора DataSet.
Примеры, которые вы увидите
в этой статье, продемонстрируют основные способы, которыми пользуются большинство
программистов для показа таблиц БД пользователям. Для понимания большей
части материала требуется общее знание среды и языка Delphi. Read the rest of this entry »
Урок 21: Объект TQuery
- Краткий Обзор
В этой главе Вы узнаете некоторые
основные понятия о запросах (queries) и транзакциях. Это достаточно широкие
понятия, поэтому обсуждение разбито на следующие основные части:
- Объект TQuery.
- Использование SQL с локальным
и удаленным серверами (Select, Update, Delete и Insert).
- Использование SQL для создания
объединения (joins), связанных курсоров (linked cursors) и программ, которые
ведут поиск заданных записей.
Сокращение SQL означает Structured
Query Language – Язык Структурированных Запросов, и обычно произноситься
либо как “Sequel” либо ” Ess Qu El”. Однако, как бы Вы его ни произносили,
SQL – это мощный язык БД, который легко доступен из Delphi, но который
отличается от родного языка Delphi. Delphi может использовать утверждения
SQL для просмотра таблиц, выполнять объединение таблиц, создавать отношения
один-ко-многим, или исполнить почти любое действие, которое могут сделать
ваши основные инструменты БД. Delphi поставляется с Local
SQL, так что Вы можете выполнять запросы SQL при работе с локальными таблицами,
без доступа к SQL серверу.
Delphi обеспечивает поддержку
“pass through SQL”, это означает то, что Вы можете составлять предложения
SQL и посылать их непосредственно серверам Oracle, Sybase, Inrterbase и
другим. “Pass through SQL” – это мощный механизм по двум причинам:
- Большинство серверов могут обрабатывать
SQL запросы очень быстро, а это означает, что используя SQL для удаленных
данных, Вы получите ответ очень быстро.
- Есть возможность составлять
SQL запросы, которые заставят сервер исполнить специализированные задачи,
недоступные через родной язык Delphi.
Перед чтением этой статьи Вы
должны иметь, по крайней мере, элементарное понятие о серверах и различиях
между локальными и удаленными (remote) данными. Read the rest of this entry »
Урок 20: Компонент TTable. Создание таблиц с помощью компонента TTable
- Обзор
На этом небольшом уроке мы завершим изучение возможностей создания
таблиц. Как Вы помните, мы уже освоили два способа создания таблиц – с
помощью утилиты Database Desktop, входящей в поставку Delphi (урок 11)
и с помощью SQL-запросов (урок 12), которые можно использовать как в WISQL
(Windows Interactive SQL – клиентская часть Local InterBase), так и в компоненте
TQuery.
Теперь мы рассмотрим, как можно создавать локальные таблицы в режиме выполнения
с помощью компонента TTable. Read the rest of this entry »