
- •Министерство образования и науки
- •Введение 13
- •Глава 1. Язык программирования Delphi 22
- •Глава 2. Среда разработки Delphi 88
- •Глава 3. Работа с базами данных 143
- •Глава 4. Взаимодействие приложений 207
- •Глава 5. Дополнительные возможности 229
- •Except application.Messagebox('приложение будет закрыто', 'ошибка!', 0); 233
- •Глава 8. Лабораторный практикум 289
- •Приложения 333
- •Лабораторные работы
- •Методы структурного программирования
- •Объектно-ориентированное программирование
- •Сравнительный анализ объектно-ориентированных языков программирования
- •Глава 1. Язык программированияDelphi
- •1.1. Типы данных
- •1.1.1. Константы
- •1.1.2. Переменные
- •1.1.3. Простые типы данных
- •1.1.3.1. Целые типы
- •1.1.3.2. Вещественные типы
- •1.1.3.3. Логические типы
- •1.1.3.4. Символьныетипы
- •1.1.3.5. Тип дата ‑ время (tDateTime)
- •1.1.3.6. Перечисляемые типы
- •1.1.3.7. Интервальные типы
- •1.1.3.8. Порядковые типы
- •1.1.4.Структурированные типы данных
- •1.1.4.1. Статические массивы
- •1.1.4.2. Динамические массивы
- •1.1.4.3. Записи
- •1.1.4.4. Множества
- •1.1.5. Типы строк
- •1.1.6. Универсальные типы -Variant
- •1.1.7. Массивы типаVariant
- •1.1.8. Указатели
- •1.1.9. Процедурные типы
- •1.1.10. Процедурные указатели
- •Вопросы для самопроверки и контроля
- •1.2. Операции
- •1.2.1. Арифметические операции
- •1.2.2. Операции присвоения и сравнения
- •1.2.3. Логические операции
- •1.2.4. Логические поразрядные операции
- •1.2.5. Операции со строками
- •1.2.6. Операции над множествами
- •1.2.7. Операции с указателями
- •1.2.8. Порядок вычисления выражений
- •1.2.9. Преобразование типов
- •Вопросы для самопроверки и контроля
- •1.3. Структура и этапы разработки проекта
- •1.3.1. Структура проекта
- •1.3.1.1. Основные типы файлов
- •1.3.1.2. Файлы ресурсов
- •1.3.2. Программа
- •1.3.2.1. Структура программы
- •1.3.2.2. Структура головной программы проекта
- •1.3.3. Подпрограммы
- •1.3.3.1. Типы подпрограмм
- •1.3.3.2. Процедуры и функции, определенные пользователем
- •1.3.4. Модули
- •Interfac e //интерфейсная часть с объявлением типов и процедур
- •Implementation //исполнимая часть с текстами процедур
- •1.3.5. Компилятор
- •1.3.5.1. Общее описание компилятора
- •1.3.5.2. Основные директивы компилятора
- •1.3.5.3. Директивы условной компиляции
- •1.3.6. Этапы разработки проекта
- •1.3.6.5. Выполнение консольного приложения иDos‑программ
- •1.3.7. Отладка
- •1.3.7.1. Максимальный контроль ошибок
- •1.3.7.2. Оптимизация кода программы
- •1.3.7.3. Пошаговое выполнение программы
- •1.3.7.4. Протокол событий
- •1.3.7.5. Просмотр и изменение значений
- •1.3.7.6. Просмотр программного кода
- •1.3.7.7. Отладка внешних процессов
- •1.3.7.8. Отладка в машинных кодах
- •1.3.7.9. Инспектор отладки
- •1.3.8. Редактор кода
- •Вопросы для самопроверки и контроля
- •1.4. Операторы
- •1.4.1.Общие сведения
- •1.4.2.Оператор присваивания
- •Примеранализа односимвольного ответа пользователя:
- •1.4.8.Операторы цикла
- •1.4.8.1. Счетный цикл For
- •1.4.8.2. Цикл Repeat‑ Until
- •1.4.8.3. ЦиклWhile
- •1.4.9. Оператор присоединения имени ‑With
- •1.4.10. Вставка команд ассемблера
- •Вопросы для самопроверки и контроля
- •1.5. Объектно‑ориентированное программирование
- •1.5.1. Определение
- •1.5.2. Объявление класса и объекта
- •1.5.3. Динамическое создание и удаление объекта
- •1.5.4. Динамическое конструирование объектов
- •1.5.5. Свойства
- •1.5.6. Методы
- •1.5.7. Конструкторы и деструкторы
- •1.5.8. События
- •Вопросы для самопроверки и контроля
- •1.6. Обработка исключительных ситуаций
- •1.6.1. Исключения
- •1.6.2. Иерархия классов исключений
- •1.6.3. Свойства и конструкторы исключений
- •1.6.4. Блок зачисткиTry‑Finally‑End
- •1.6.5. Зачистка в разделе модуляFinalization
- •1.6.6. Блок обработки исключенийTry‑Except‑End
- •1.6.7. Искусственная генерация исключений
- •1.6.8. ИсключенияEAbortи функцияAbort
- •1.6.9. Создание нового типа исключения
- •Вопросы для самопроверки и контроля
- •1.7.2.2. Функция форматированияFormat
- •1.7.3. Преобразование дат и времени
- •1.7.4. Обработка строк с нулевым символом в конце
- •1.7.5. Обработка строк без нулевого символа в конце
- •1.7.6.Диалоговые окна ввода и вывода сообщений
- •1.7.7.Воспроизведение звуков
- •1.7.8. Запуск из приложения внешних программ
- •1.7.9.Специальные процедуры и функции
- •1.7.10.СообщенияWindows
- •Вопросы для самопроверки и контроля
- •1.8. Файлы
- •1.8.1. Типы файлов
- •1.8.2. Файлы Паскаля
- •1.8.2.1. Любые файлы
- •1.8.2.2. Типизированные файлы
- •1.8.2.3. Текстовые файлы
- •1.8.2.4. Печать текста
- •1.8.2.5. Нетипизированные файлы
- •1.8.3. Объектный подход к файлам
- •1.8.4. ФайлыWindows
- •1.8.5. Обслуживание внешних файлов и каталогов
- •Вопросы для самопроверки и контроля
- •1.9. Динамические структуры данных
- •1.9.1.Общие сведения
- •1.9.2. Процедуры и функции динамического распределения памяти
- •1.9.3. Формирование стека
- •1.9.4. Формирование очереди
- •Вопросы для самопроверки и контроля
- •Глава 2. Среда разработкиDelphi
- •2.1. Общие сведения
- •2.1.1. Окна
- •2.1.2. Панели компонентов и их настройка
- •2.1.3. Архив объектов (репозиторий)
- •2.1.4. Справочная система
- •2.1.5. Характеристика компонентов
- •2.1.6. Размещение и настройка компонентов на форме
- •2.1.7. Свойства
- •2.1.7.1. Имя объекта
- •2.1.7.2. Внешний вид объекта
- •2.1.7.3. Размеры объекта
- •2.1.7.4. Местоположение объекта
- •2.1.7.5. Перемещение объекта
- •2.1.7.6. Доступ к объекту
- •2.1.7.7. Значение объекта
- •2.1.7.8. Меню
- •2.1.7.9. Вид указателя мыши
- •2.1.7.10. Справочная система
- •2.1.7.11. Наследование родительских свойств
- •2.1.8. События
- •2.1.8.1. Процедуры обработки событий
- •2.1.8.2. Мышь
- •2.1.8.3. Клавиатура
- •2.1.8.4. Перемещение объектов
- •2.1.8.5. Другие события
- •2.1.9. Методы
- •2.2. Глобальные объекты
- •2.2.1. Формы (Form)
- •2.2.1.1. Свойства
- •2.2.1.2. Методы
- •2.2.1.3. События
- •2.2.1.4. Некоторые приемы работы с формами
- •2.2.2. Приложение (Application)
- •2.2.2.1. Свойства
- •2.2.2.2. Методы
- •2.2.2.3. События
- •2.2.3. Экран (Screen)
- •2.2.3.1. Свойства
- •2.2.3.2. Методы
- •2.2.3.3. События
- •2.2.4. Принтер (Printer)
- •2.2.4.1. Свойства
- •2.2.4.2. Методы
- •2.2.5. Буфер обменаWindows(Clipboard)
- •2.2.5.1. Свойства
- •2.2.5.2. Методы
- •2.2.6. Списки (tList)
- •2.2.6.1. Свойства
- •2.2.6.2. Методы
- •2.2.6.3. Схема создания списка
- •2.2.7.Список строк и объектов (tStringList)
- •2.2.7.1. Свойства
- •2.2.7.2. События
- •2.2.7.3. Методы
- •2.2.8. Графика
- •2.2.8.1. Шрифт (tFont)
- •2.2.8.2. Перо (tPen)
- •2.2.8.3. Кисть (tBrush)
- •2.2.8.4. Канва, ее свойства и графические методы (tCanvas)
- •2.2.8.5. Изображение (tGraphic,tPicture)
- •2.2.8.6. Анимация
- •2.3. Основные компоненты
- •2.3.1. Вывод текста
- •2.3.1.1. Текстовая надпись (Label)
- •2.3.1.2. Статическая текстовая надпись (StaticText)
- •2.3.1.3. Строка состояния (StatusBar)
- •2.3.2. Ввод и редактирование данных
- •2.3.2.1. Одностроковый текст (Edit)
- •2.3.2.2. Одностроковый текст с маской (MaskEdit)
- •2.3.2.3. Многостроковый текст (Memo)
- •2.3.2.4. Таблица строк (StringGrid)
- •2.3.2.5. Рисуемая таблица (DrawGrid)
- •2.3.2.6. Многострочный редактор текста в форматеRtf(RichEdit)
- •2.3.2.7. Дата и время (DateTimePicker)
- •2.3.3. Списки
- •2.3.3.1. Простой список (ListBox)
- •2.3.3.2. Комбинированный список (ComboBox)
- •2.3.4. Командные кнопки
- •2.3.4.1. Стандартная кнопка (Button)
- •2.3.4.2. Кнопка с рисунком (BitBtn)
- •2.3.4.3. Кнопка быстрого доступа (SpeedButton)
- •2.3.4.4. Независимый переключатель (CheckBox)
- •2.3.4.5. Зависимый переключатель (RadioButton)
- •2.3.5.3. Группа независимых переключателей (CheckListBox)
- •2.3.5.4. Панель (Panel)
- •2.3.5.5. Область прокрутки (ScrollBox)
- •2.3.5.6. Фрейм (Frame)
- •2.3.5.7. Разделители контейнеров (Splitter)
- •2.3.5.8. Прокрутка страниц (PageScroller)
- •2.3.6. Счетчики
- •2.3.6.1. Полоса прокрутки ‑ счетчик (ScrollBar)
- •2.3.6.2. Ползунок (TrackBar)
- •2.3.6.3. Счетчик (UpDown)
- •2.3.6.4. Редактируемое поле со счетчиком (SpinEdit)
- •2.3.6.5. Индикаторы процесса выполнения программы (ProgressBar,Gauge)
- •2.3.7. Графика
- •2.3.7.1. Изображение (Image)
- •2.3.7.2. Список изображений (ImageList)
- •2.3.7.3. Геометрическая фигура (Shape)
- •2.3.7.4. Фаска (Bevel)
- •2.3.7.5. Окно рисования (PaintBox)
- •2.3.7.6. Простая диаграмма (Gauge)
- •2.3.7.7. Диаграмма (Chart)
- •2.3.8. Меню
- •2.3.8.1. Главное меню (MainMenu)
- •2.3.8.2. Контекстное меню (PopupMenu)
- •2.3.8.3. Программная настройка меню
- •2.3.8.4. Горячие клавиши (HotKey)
- •2.3.8.5. Синхронизация объектов (ActionList)
- •2.3.8.6. События приложения (ApplicationEvents)
- •2.3.9. Структурированные компоненты
- •2.3.9.1. Панели инструментов (ToolBar)
- •2.3.9.2. Панель управления (ControlBar)
- •2.3.9.3. Расширенная панель управления (CoolBar)
- •2.3.9.4. Набор страниц (PageControl)
- •2.3.9.5. Переключаемые страницы (TabControl)
- •2.3.9.6. Список элементов (ListView)
- •2.3.9.7. Дерево элементов (TreeView)
- •2.3.10. Системные компоненты
- •2.3.10.1. Таймер (Timer)
- •2.3.10.2. Мультимедийный проигрыватель (MediaPlayer)
- •2.3.10.3. АнимацияAvi(Animation)
- •2.3.11. Стандартные диалоги
- •2.3.11.1. Открытие и сохранение файла (OpenDialog,SaveDialog)
- •2.3.11.2. Открытие и сохранение графического файла (OpenPictureDialog,SavePictureDialog)
- •2.3.11.3. Выбор шрифта (FontDialog)
- •2.3.11.4. Выбор цвета (ColorDialog)
- •2.3.11.5. Настройка печати (PrintDialog)
- •2.3.11.6. Настройка принтера (PrinterSetupDialog)
- •2.3.11.7. Поиск (FindDialog)
- •2.3.11.8. Поиск и замена (ReplaceDialog)
- •2.3.11.9. Выбор диска (DriveComboBox)
- •2.3.11.10. Выбор каталога (DirectoryListBox)
- •Вопросы для самопроверки и контроля
- •Глава 3. Работа с базами данных
- •3.1. Основные понятия
- •3.2. Создание базы данных
- •3.3. Создание модуля данных
- •3.4. Компоненты доступа к данным (DataAccess)
- •3.4.1. Таблица (Table)
- •3.4.2. Источник данных (DataSource)
- •3.4.3. Описание и доступ к полям записи базы данных
- •3.4.4. Компоненты работы с базой (DataControl)
- •3.5. Установка связей между таблицами
- •3.6. Установка полей соответствия (Lookup)
- •3.7. Создание запросов
- •3.7.1. Визуальные средства
- •3.7.2. Командные средстваSql
- •3.8. Основные операции с записями
- •3.9. Мастер форм
- •3.10. Формирование отчетов средствамиQuickReports
- •3.10.1. Быстрый отчет (QuickRep)
- •3.10.2. Компоненты отчета
- •3.10.3. Простой отчет
- •3.10.4. Отчет из нескольких таблиц с группировкой данных и итогами
- •3.10.5. Отчет типа «мастер/детальный»
- •3.10.6. Составной отчет
- •3.11. Формирование отчетов средствамиRaveReports
- •3.11.1. Компоненты отчета
- •3.11.2. Конструктор отчетов
- •3.11.3. Компоненты панели инструментов
- •3.11.4. Отчет из нескольких таблиц с группировкой данных и итогами
- •3.12. Формирование отчетов средствамиFastReports
- •3.12.1. Компоненты отчета
- •3.12.2. Конструктор отчетов
- •3.12.3. Компоненты панели инструментов
- •3.12.4. Отчет из нескольких таблиц с группировкой данных и итогами
- •3.13. Анализ данныхcредствами многомерного кубаDecisionCube
- •3.14. Клиент‑серверные субд
- •3.15. Доступ к данным по технологииAdo
- •Вопросы для самопроверки и контроля
- •Глава 4. Взаимодействие приложений
- •4.1. Создание динамически подключаемых библиотек (dll)
- •4.2. Создание новых компонентов
- •4.3. Создание и установкаActiveX‑элементов
- •4.4. Создание и установка пакетов
- •4.5. Использование пакетов
- •4.6. Технология связывания и внедрения объектов (ole)
- •4.7. Многопоточные приложения
- •4.8. Технология применения объектовCom,dcom
- •4.9. Распределенные двухуровневые клиент‑серверные приложения
- •4.10.2. Создание сервера приложений доступа к базе данных
- •4.10.3. Связь с сервером приложений по протоколуDcom
- •4.10.4. Связь с сервером приложений по протоколу ИнтернетTcp/ip
- •4.10.5. Связь с сервером приложений по протоколуHttp
- •4.10.6. Основы разработки приложений Internet
- •Глава 5. Дополнительные возможности
- •5.1. Создание справочной системы
- •5.2. Обзор остальных возможностей
- •5.3. Формирование отчетов, диаграмм и анализа данных пакетомCrystalReports
- •5.4. Работа сExcel
- •5.5. Работа с Word
- •Except application.Messagebox('приложение будет закрыто', 'ошибка!', 0);
- •5.6. Основные отличия новых версий Delphi
- •6.1. Лексические структуры языка
- •6.1.1. Элементы
- •6.1.2. Константы
- •6.1.3. Типы данных
- •Простейшие скалярные стандартные типы
- •6.1.4. Массивы
- •6.1.5. Структуры (записи)
- •6.1.6. Объединенияunion
- •6.2.3. Директива #define
- •6.2.4. Функция вывод на терминал -Printf
- •6.2.5. Функция ввод с клавиатуры -Scanf
- •6.2.6. ФункцияMainв консольных приложениях
- •6.2.7. Функции
- •Int main(int argc,char **argv) // основная функция
- •Int main(int argc, char **argv) // основная функция
- •6.2.8. Классы памяти
- •6.2.8.1. Автоматические переменные
- •6.2.8.2. Регистровые переменные
- •6.2.8.3. Статические переменные и функции
- •6.2.8.4. Внешние переменные
- •6.2.9. Операции
- •6.2.9.1.Арифметические операции
- •6.2.9.2.Операции отношения
- •6.2.9.3. Логические операции
- •6.2.9.4.Операции присваивания
- •6.2.10. Операторы
- •6.2.10.6.Оператор безусловного перехода ‑goto
- •6.2.10.7. Цикл с предусловием ‑while
- •Int main(int argc, char **argv) // основная функция
- •6.2.10.9.Итерационный цикл ‑For
- •Int main(int argc, char **argv) { // основная функция
- •Int main(int argc, char **argv) { // основная функция
- •Int main(int argc, char **argv) { // основная функция
- •Void bubble_sort( float a [ ], int s ) { // функция сортировки массива
- •6.2.10.10. Пустой оператор
- •6.3. Указатели
- •6.4. Функции, методы и макросы
- •6.4.1. Математика
- •6.4.2. Обработка статистических данных
- •6.4.3. Взаимное преобразование чисел и строк типа char
- •Long double _strtold(const char *s, char**endptr) ‑ строки s в действительное число.
- •Char *gcvt(double value, int ndec, char *buf) ‑ value в строку buf с числом цифр ndec.
- •6.4.4. Взаимное преобразование чисел и строк типа AnsiString
- •6.4.5. Преобразования дат и времени
- •6.4.6. Методы обработки строк типа AnsiString
- •6.4.7. Функции обработки строк типа AnsiString
- •6.4.8. Макросы обработки символов
- •6.4.9. Обработка строк с нулевым символом в конце
- •6.4.10. Управление каталогами и файлами на дисках
- •6.4.11.Диалоговые окна ввода и вывода сообщений
- •6.4.12.Воспроизведение звуков
- •6.4.13. Управление текущим процессом
- •6.4.14. Запуск из приложения внешних программ
- •6.5. Работа с файлами
- •6.5.1. Файлы в с
- •Int main(int argc, char **argv) // основная функция
- •Void __fastcall tForm1::Button1Click(tObject *Sender) // процедура
- •6.6. Объектно‑ориентированное программирование
- •6.6.1. Создание классов и объектов
- •6.6.2. Виртуальные методы
- •6.6.3. Дружественные функции
- •6.6.4. Шаблоны
- •6.6.5. Пространство имен
- •6.6.6. Явные объявления конструкторов
- •6.6.7. Непостоянные объявления
- •6.6.8. Быстрый вызов функций -_fastcall
- •6.6.9. Блок обработки исключенийtry‑catch-_finally
- •Вопросы для самопроверки и контроля
- •7.1. Создание консольного приложения
- •7.2. Основные элементы управления
- •7.3. Списки
- •Void cPrimDlg::OnAdd() //обработка кнопки «Добавить»
- •Void cPrimDlg::OnDelete()//обработка кнопки «Удалить»
- •Void cPrimDlg::OnDblclkList1() //обработка двойного щелчка по списку
- •7.4. Линейные регуляторы и индикаторы
- •Void cPrimDlg::OnCheck2()//обработка переключателя «Сброс»
- •Var // раздел переменных модуля Unit1
- •8.1.2. Секундомер (Delphi)
- •Var // раздел переменных модуля Unit1
- •8.1.3. Бегущая строка (Delphi)
- •8.1.4. Рисование на экране (Delphi)
- •Var AllowChange: Boolean); // изменение счетчика UpDown1
- •8.1.5. Тестирование по арифметике (Delphi)
- •Var // раздел переменных модуля Unit1
- •8.1.6. Игра «Морской бой» (Delphi)
- •Var // раздел переменных модуля Unit1
- •8.1.7. Вывод диаграммы (Delphi)
- •Var // раздел переменных модуля Unit1
- •8.1.8. Работа компонентов панелейStandard,AdditionalиWin32 (Delphi)
- •Void __fastcall tForm1::Button1Click(tObject *Sender) / /кнопка «Выход»
- •Void __fastcall tForm1::Button3Click(tObject *Sender) // кнопка «Загадать»
- •Void __fastcall tForm1::Button4Click(tObject *Sender) //кн.»Назвать слово»
- •Void __fastcall tForm1::Button5Click(tObject *Sender) // Вращать барабан
- •Void __fastcall tForm1::Button6Click(tObject *Sender) //кн. «Подтвердите»
- •Void __fastcall tForm2::Button1Click(tObject *Sender) //кн. «Подтвердите»
- •Void __fastcall tForm3::Button1Click(tObject *Sender) // кн. «Сохранить»
- •Void cPerevozkaPredmetovDlg::OnButton2() //кнопка «Очистить»
- •Void cPerevozkaPredmetovDlg::OnButton3() //кнопка «Перевезти»
- •8.2. Задачи для программирования
- •8.2.1. Числовые типы, оператор присваивания
- •8.2.2. Алгоритмы линейной структуры
- •8.2.3. Алгоритмы разветвляющей структуры
- •8.2.3. Алгоритмы циклической структуры
- •8.2.5. Алгоритмы работы с рядами
- •8.2.6. Алгоритмы работы с массивами
- •8.2.7. Обработка символьных данных
- •8.2.8. Организация подпрограмм
- •8.2.9. Работа с файлами
- •8.2.10. Работа с формами и диаграммами
- •8.2.11. Контрольные работы
- •1. Учет семейного бюджета.
- •28. Учет успеваемости студентов.
- •3. Работа с базами данных
- •П р и л о ж е н и е 2. Вопросы для экзаменационных билетов
- •Тематический указатель
- •Библиографический список
- •Учебное издание
3.12. Формирование отчетов средствамиFastReports
По результатам опроса Delphi Magazine Fast Reports(fast-report.com,www.fastreport.ru) входит в тройку лидеров по популярности среди инструментов для разработки отчетов для Borland Delphi. В 2004 г. Fast Reportsвыбран продуктом года.
Данный пункт подготовлен М.В. Зыковым.
3.12.1. Компоненты отчета
frxReport- это основной
компонент проекта. Один компонент
TfrxReport содержит один отчет. Во время
проектирования приложения двойной
щелчок мышью на компоненте вызывает
дизайнер отчета. Для использования
дизайнера в скомпилированном проекте
необходимо использовать компонент
frxDesigner из палитры компонентов Fast Report,
либо включить в списокusesмодуль
frxDesign. Использование дизайнера во время
выполнения дает возможность пользователю
настраивать вид отчета, а также
редактировать готовый отчет.
Основные свойства
Name- имя отчета.
ScriptLanguage- язык, используемый для скриптов отчета.
EngineOptions- набор свойств ядра отчетаFastReport.
ConvertNulls- определяет интерпретацию генератором отчетов пустых значений (Null) полей БД. ЕслиTrue, то генератор конвертирует пустое значение (Null) поля базы данных в 0 (ноль),False(ложно) или '' (пустая строка) в зависимости от типа поля (True).
SilentMode- режим «молчания». Все сообщения об ошибках будут накапливаться в свойстве TfrxReport.Errors; на экран никаких сообщений выдано не будет (False).
TempDir- путь к каталогу для хранения временных файлов.
PreviewOptions- набор свойств предварительного просмотра.
AllowEdit- разрешает/запрещает редактирование готового отчета (True).
Buttons- набор кнопок, которые будут доступны в окне просмотра (pbPrint - печать, pbLoad - загрузка из файла, pbSave - запись в файл, pbExport - экспорт, pbZoom - масштабирование, pbFind - поиск, pbOutline - включение дерева отчета, pbPageSetup - свойства страницы, pbTools - инструменты, pbEdit - редактор, pbNavigator - навигация).
PrintOptions- набор свойств печати отчета.
Copies - количество печатуемых копий (1).
Collate- разбирать ли по копиям (True).
PageNumbers- номера страниц (диапазонов страниц), которые надо напечатать, например: '2,4,6-9,14'.
Printer- имя принтера.
PrintPages- страницы для печатати (ppAll- все, ppOdd - нечетные, ppEven - четные).
ShowDialog- показывать ли диалог печати (True).
AllObjects- список всех объектов, содержащихся в отчете (включая страницы).
DataSets- список наборов данных, доступных для отчета.
Designer- ссылка на дизайнер отчета (актуальна, когда запущен дизайнер).
Engine- ссылка на движок отчета. Полезна в случаях, когда нужно управлять процессом построения отчета из кода.
Errors - список ошибок, возникших при той или иной операции.
FileName- имя файла отчета; отображается в дизайнере.
PreviewPages- ссылка на страницы готового отчета. Используется при всех операциях, связанных с готовым отчетом (печать, сохранение и пр.).
Pages- список страниц отчета. В этом списке также присутствуют страницы типа «диалоговая форма».
PagesCount - количество страниц в отчете. Свойство только для чтения.
Script- компонент fsScript, привязанный к данному отчету. Используя эту ссылку, можно добавлять свои переменные, классы, функции, которые следует использовать в скрипте отчета. Используется только для чтения.
Styles - стиль (оформление) отчета.
Variables- список переменных отчета. Используется только для чтения.
Методы
Clear - очищает отчет.
LoadFromFile (constFileName:String;ExceptionIfNotFound:Boolean=False): Boolean- загружает отчет из файла с заданным именем; если второй параметр равенTrueи файл не найден, то генерирует исключение. Если файл загружен успешно, возвращаетTrue.
Пример использования метода: frxReport1.LoadFromFile('c:\1.fr3').
LoadFromStream (Stream: TStream) - загружает отчет из потока.
SaveToFile (const FileName: String) - записывает отчет в файл с заданным именем. По умолчанию форма отчета хранится вместе с формой проекта, т.е. в файле .dfm. Метод применяется, если требуется хранить форму отчета в отдельном файле .fr3. Пример: frxReport1.SaveToFile('c:\2.fr3').
SaveToStream (Stream: TStream) - записывает отчет в поток.
DesignReport- вызывает дизайнер отчета. Дизайнер должен быть включен в проект. Пример использования метода: TfrxReport.DesignReport.
ShowReport (ClearLastReport: Boolean = True) - запускает отчет на выполнение и показывает результат в окне предварительного просмотра. Если параметр ClearLastReport равен False, то отчет добавляется к ранее построенному, иначе ранее построенный отчет очищается (True). (frxReport1.ShowReport).
PrepareReport (ClearLastReport: Boolean = True): Boolean - запускает отчет на выполнение; без окна предварительного просмотра. Если отчет был построен успешно, возвращает True.
ShowPreparedReport- показывает отчет, построенный ранее с помощью вызоваPrepareReport(iffrxReport1.PrepareReportthen
frxReport1.ShowPreparedReport;).
Print - печатает отчет. (frxReport1.Print).
Export(Filter: TfrxCustomExportFilter) -экспортирует отчет, используя заданный фильтр экспорта (frxReport1.Export(frxHTMLExport1);).
Специфичные события
OnBeforePrint- происходит при запуске отчета на выполнение. Возникает перед обработкой каждого объекта.
OnAfterPrint- происходит при запуске отчета на выполнение. Возникает после обработки каждого объекта.
OnClickObject- происходит при просмотре отчета в окне предварительного просмотра. Возникает при щелчке мышью на объекте.
OnGetValue- происходит при запуске отчета на выполнение. Возникает, когда встречена неизвестная переменная. Обработчик события должен вернуть значение этой переменной.
OnManualBuild- происходит при запуске отчета на выполнение. Если назначен обработчик этого события, то ядро FastReport блокируется и пользователь должен самостоятельно обрабатывать построение отчета.
OnMouseOverObject- происходит при просмотре отчета в окне предварительного просмотра. Возникает при прохождении указателя мыши над объектом.
OnUserFunction- происходит при запуске отчета на выполнение. Возникает при вызове функции, добавленной с помощью метода AddFunction.
frxUserDataSet - компонент
подключения пользовательского набора
данных (не привязанного к базе данных,
например массива, файла и др.).
В случае использования этого компонента программист должен обеспечить навигацию по источнику данных.
Основные свойства
RecNo - номер текущей записи. Первая запись имеет номер 0. Свойство только для чтения.
Enabled- будет ли доступен данный компонент из дизайнера (True).
RangeBegin- начальная точка навигации (rbFirst - с начала набора данных, rbCurrent - с текущей записи) (rbFirst).
RangeEnd- конечная точка навигации (reLast - до конца набора данных, reCurrent - до текущей записи, reCount - на заданное в свойстве RangeEndCount количество записей) (reLast).
RangeEndCount-количество записей в наборе данных, если свойство RangeEnd = reCount (0).
UserName- символическое имя набора данных.
События
OnCheckEOF - обработчик этого события должен вернуть параметр Eof = True, если достигнут конец набора данных.
OnFirst- обработчик этого события должен передвинуть указатель на начало набора данных.
OnNext- обработчик этого события должен передвинуть указатель на следующую запись.
OnPrior- обработчик этого события должен передвинуть указатель на предыдущую запись.
frxDBDataSet- компонент служит для
подключения к компонентам базы данных
(БД), основанных на TDataSet, таких как TTable,
TQuery. Навигация по источнику данных
и обращение к полям производятся
автоматически, т.е. программист не должен
об этом заботиться.
Свойства
OpenDataSource- открывать набор данных перед построением отчета (True).
CloseDataSource- закрывать набор данных после построения отчета (False).
FieldAliases- символические имена полей набора данных.
DataSet, DataSource- ссылка на компонент типа TDataSet или TDataSource, который собственно и является набором данных.
События
OnClose/OnOpen- происходит при открытии/закрытии набора данных.
frxDesigner - компонент-дизайнер
отчета. Его использование дает возможность
применять дизайнер отчета в проекте.
Компонент содержит лишь некоторые
настройки дизайнера, сам же дизайнер
подключается при помещении ссылки на
frxDesign в списокuses(это
происходит автоматически при использовании
данного компонента).
Свойства
CloseQuery- свойство определяет, надо ли спрашивать о сохранении отчета при закрытии дизайнера (True).
OpenDir- имя папки, из которой по умолчанию открывается файл.
SaveDir- имя папки, в которой по умолчанию сохраняется файл.
Restrictions- набор из одного или нескольких значений, запрещающих те или иные действия в дизайнере:
drDontInsertObject- запретить вставку объектов;
drDontDeletePage- запретить удаление страниц;
drDontCreatePage- запретить создание новых страниц;
drDontChangePageOptions- запретить изменение свойств страницы;
drDontCreateReport- запретить создание нового отчета;
drDontLoadReport- запретить загрузку отчета;
drDontSaveReport- запретить сохранение отчета;
drDontPreviewReport- запретить предварительный просмотр отчета;
drDontEditVariables- запретить редактирование переменных;
drDontChangeReportOptions- запретить изменение свойств отчета.
События
OnLoadReport- событие возникает при загрузке отчета. С его помощью можно организовать загрузку отчета из БД.
OnSaveReport- событие возникает при сохранении отчета. С его помощью можно организовать сохранение отчета в БД.
OnShow- событие возникает при запуске дизайнера.
frxPreview- компонент служит для
создания собственных окон предварительного
просмотра.
Нижеследующие компоненты панели инструментов FastReportсами ничего не делают - они нужны для автоматического добавления ссылки на соответствующий модуль в списокuses. Если вы попытаетесь открыть отчет, в котором используются подключаемые объекты, но не включили данные объекты в проект, то получите сообщение об ошибке.
frxBarcodeObject- штрих-код.
frxOLEObject- внедрение
в отчет объектаOLE.
frxChartObject- диаграмма.
frxRichObject- внедрение
в отчет текста в форматеRTF.
frxCrossObject- вывод
кросс-таблицы (в такой таблице число
строк и столбцов заранее не известно).
frxCheckBoxObject - объектCheckBox.
frxGradientObject- объект отображает
градиентную заливку.
frxDialogContols- набор объектов (кнопка,
поле ввода, список и др.), которые можно
использовать на диалоговой форме отчета.
frxBDEComponents- компонентыBDEдоступа к данным - набор объектов, которые
можно использовать на диалоговой форме
отчета.
frxADOComponents- компоненты доступа
к даннымADO- набор объектов
(база данных, таблица, запрос), которые
можно использовать на диалоговой форме
отчета.
frxIBXComponents- компоненты доступа
к даннымInterbaseExchange-набор объектов (база данных, таблица,
запрос), которые можно использовать на
диалоговой форме отчета.