Распределенные приложения баз данных Технологии программирования

http://lemon62.ru/novocherkassk/cat_1040.html

Генератор отчетов RAVE REPORTS 5.0

  • Компоненты Rave Reports и отчеты в приложении Delphi
    • На первый взгляд кажется, что в сфере создания и печати отчетов в Delphi 7 произошла небольшая революция. Просматривая первый раз Палитру компонентов, вы не найдете в ней хорошо знакомой по прошлым версиям Delphi страницы QReport.
    • Генератор отчетов Rave Reports 5.0 разработан фирмой Nevrona и входит в состав Delphi 7 в качестве основного средства для создания отчетов.
    • Компоненты Rave Reports и их назначение Компоненты для создания отчетов и управления расположены на странице Rave Палитры компонентов. Они делятся на следующие функциональные группы.
    • Отчет в приложении Delphi Завершив обзор нового генератора отчетов, давайте обратимся к деталям программирования и посмотрим, что нужно сделать, чтобы приложение могло работать с отчетами.
    • Компонент отчета TRvProject обеспечивает представление в приложении отчета.
  • Компонент управления отчетом TRvSystem обеспечивает выполнение основных операций с отчетом из приложения. В приложении он должен быть связан с компонентом TRvProject
    • Визуальная среда создания отчетов входит в состав генератора отчетов Rave Reports 5.0. В отличие от генератора отчетов Quick Report, который поставлялся с Delphi 6 и более ранними версиями, визуальная среда в Rave Reports значительно облегчает самый трудоемкий этап в процессе создания отчета и его включения в состав приложения — постраничную разработку шаблона отчета.
    • Инструментарий визуальной среды создания отчетов Пользовательский интерфейс визуальной среды создания отчетов Rave Reports во многом напоминает среду разработки Delphi
    • Проект отчета Визуальная среда работает с проектом отчета, который создается или загружается из файла с расширением rav. Состав проекта отчета отображается в дереве проекта отчета в панели в правой части окна визуальной среды
    • Библиотека отчетов В первую очередь это отчеты, входящие в состав библиотеки отчетов. Каждый из этих отчетов описывает отдельный, самостоятельный отчет
    • Каталог глобальных страниц объединяет страницы, доступные из любого отчета библиотеки отчетов. Таким образом вы можете оформить все отчеты проекта одинаково
    • Словарь просмотров данных объединяет разнообразные объекты доступа к данным. Для создания нового объекта необходимо воспользоваться командой главного меню File | New Data Object.
    • Стандартные элементы оформления и их свойства Теперь остановимся подробнее на элементах оформления отчетов. Они используются так же, как и компоненты в Delphi
    • Элементы для представления текста и изображений На странице Standard Палитры инструментов расположены элементы оформления, предназначенные для отображения текста и изображений.
    • Графические элементы управления расположены на странице Drawing Палитры инструментов
    • Штрихкоды На странице Ваг Code разработчику доступны шесть элементов оформления, позволяющие включать в отчеты штрихкоды.
    • Обработка событий Каждому отчету, странице или элементу оформления можно назначить один или несколько методов-обработчиков событий.
    • Внешние источники данных в отчете
    • Соединение с источником данных и просмотры В первую очередь необходимо создать соединение с источником данных. Для этого в диалоге необходимо выбрать объект соединения Database Connection и, после нажатия кнопки Next, в следующем окне выбрать одну из трех возможных технологий доступа к данным: ADO, dbExpress, BDE.
    • Безопасность доступа к данным На третьем этапе созданное соединение и просмотр можно "защитить". Для этого из списка в диалоговом окне Data Connections выбирается объект аутентификации Data Lookup Security Controller.
    • Отображение данных в отчетах Для представления данных в отчетах предназначены специализированные элементы оформления, представленные на странице Report Палитры инструментов.
    • Структурные элементы отчета Основой отчета, использующего просмотры баз данных, является элемент Region. Он создает в отчете область, предназначенную для размещения любых других элементов и определяющую часть страницы отчета, отведенную под отображение данных
    • Элементы отображения данных представляют собой модифицированные стандартные элементы, размещаются на структурных элементах отчета и отображают данные из связанных с ними полей просмотра данных.
  • Разработка, просмотр и печать отчетов
    • Разработка, просмотр и печать отчетовРассматриваемые в данной главе примеры не отличаются изощренностью оформления и сложностью, но позволяют поэтапно проследить всю методику создания отчетов и использования их в приложениях и обладают основными атрибутами стандартных отчетов. В них имеются заголовки, нумерация страниц, выводится текстовая и графическая информация.
    • Этапы создания отчета и включение его в приложение Процесс создания отчета с использованием генератора отчетов Rave Reports состоит из трех этапов. Первый выполняется в визуальной среде Rave Reports, второй и третий — в среде разработки Delphi.
    • Простой отчет в визуальной среде Rave Reports При описании первого этапа наша задача — описать возможности проекта RAV, исследовать его структуру и составные части, которые можно использовать в приложении Delphi
    • Нумерация страниц отчета В первую очередь создадим заголовок страницы и включим механизм нумерации страниц. Для этого перенесем на страницу элемент Section со страницы Standard Палитры инструментов и поместим его в верхней части страницы отчета.
    • Использование элемента FontMaster Невизуальный элемент FontMaster позволяет использовать одинаковые шрифты в элементах оформления, например, в пределах одной секции.
    • Добавление страниц к отчету После создания первой страницы к отчету необходимо добавить еще две страницы и оформить их по образцу первой.
    • Отчет в приложении Теперь, когда проект SimpleDemo.RAV с двумя отчетами готов, перейдем к разработке приложения в Delphi.
    • Просмотр и печать отчета Если в предыдущем пункте, обсуждая отчет в приложении Delphi, мы говорили о компоненте TRvproject, то за выполнение любых операций с ним отвечает компонент TRvSystem.
    • Сохранение отчета во внешнем файле При помощи методов компонента TRvSystem можно сохранить отчет для последующей печати в формате PRN или сохранить проект Rave Reports в формате RAV.
    • Компонент TRvNDRWriter предназначен для сохранения отчетов в файлах. При этом используется двоичный формат NDR.
    • Преобразование форматов данных С компонентом TRvNDRWriter (вернее с файлами в формате NDR, которые он создает) взаимодействует ряд компонентов Rave Reports, которые обеспечивают преобразование данных из этого специфического формата в более распространенные форматы.
  • Отчеты для приложений баз данных
    • Генератор отчетов Rave Reports позволяет создавать отчеты, отображающие данные из различных источников данных. Для этого используются средства визуальной среды и компоненты со страницы Rave Палитры компонентов Delphi.
    • Соединения с источниками данных в Rave Reports Если отчет Rave Reports должен отображать данные из какого-либо источника данных, на этапе разработки в визуальной среде в проект отчета должны быть добавлены специальные объекты, обеспечивающие соединение с источником данных и формирование набора данных, который затем отображается в отчете.
    • Соединения с источниками данных в визуальной среде Rave Reports Любой отчет, работающий с базами данных, должен быть настроен соответствующим образом в визуальной среде создания отчетов Rave Reports. Независимо от типа соединения здесь должен быть создан хотя бы один объект доступа к данным.
    • Соединение через драйвер Rave Reports Проект, отчеты которого используют соединение через драйверы Rave Reports, должен содержать два объекта доступа к данным (в дереве проекта они отображаются в ветви Data View Dictionary).
    • Соединение через компонент приложения Delphi Второй тип соединения базируется на компоненте набора данных, который уже существует и соединен с источником данных в приложении Delphi.
    • Компонент TRvDataSetConnection позволяет отчету получить доступ к наборам данных, инкапсулированных в любых компонентах, произошедших от класса TDataSet.
    • Компоненты, использующие BDE В состав набора компонентов соединений Rave Reports включены два компонента, которые обеспечивают связь прямого просмотра в проекте отчета с набором данных BDE.
    • Компонент TRvCustomConnection обеспечивает доступ к самым разнообразным источникам данных. Фактически через этот компонент разработчик может передать в отчет все данные, какие только сможет загрузить в приложение.

Технологии программирования

  • Стандартные технологии программирования
    • В этой главе обсуждаются вопросы использования стандартных для приложений Windows технологий программирования. С их помощью ваше приложение обретет законченный вид и будет соответствовать необходимым канонам и правилам пользовательского интерфейса.
    • Интерфейс переноса Drag-and-Drop Интерфейс переноса и приема компонентов появился достаточно давно. Он обеспечивает взаимодействие двух элементов управления во время выполнения приложения.
    • Интерфейс присоединения Drag-and-Dock Эта возможность появилась в Delphi 4. Она "подсмотрена" опять-таки у разработчиков из Microsoft, внедривших плавающие панели инструментов в MS Office, Internet Explorer и другие продукты
    • Усовершенствованное масштабирование В класс TControl добавлены свойства, позволяющие упростить масштабирование форм и находящихся на них компонентов.
    • Управление фокусом В процессе работы приложения тот или иной элемент управления получает фокус ввода в зависимости от действий пользователя.
    • Управление мышью Каждый элемент управления обладает набором свойств и методов, обеспечивающих управление мышью. Понятно, что это важный и нужный механизм.
    • Ярлыки Пользовательский интерфейс трудно представить без ярлычков с оперативной подсказкой (Hints). Если задержать курсор, например, над кнопкой или компонентом палитры самой среды Delphi, появляется маленький прямоугольник яркого цвета (окно подсказки), в котором одной строкой сказано о названии этого элемента или связанном с ним действии.
  • Динамические библиотеки
    • Динамические библиотеки (DLL, Dynamic Link Library) играют важную роль в функционировании ОС Windows и прикладных программ. Они представляют собой файлы с откомпилированным исполняемым кодом, который используется приложениями и другими DLL.
    • Проект DLL Для создания динамической библиотеки в Репозитории Delphi имеется специальный шаблон.
    • Экспорт из DLL Для создания перечня экспортируемых из динамической библиотеки процедур и функций используется ключевое слово exports.
    • Соглашения о вызовах При объявлении процедур и функций в динамических библиотеках используются различные соглашения о вызовах.
  • Потоки и процессы
    • Работая с Delphi, нужно иметь в виду: этот замечательный продукт не только упрощает разработку сложных приложений, он использует при этом все возможности операционной системы. Одна из возможностей, которую поддерживает Delphi, — это так называемые потоки (threads) или нити.
    • Обзор потоков Определение потока довольно простое: потоки — это объекты, получающие время процессора. Время процессора выделяется квантами (quantum, time slice).
    • Когда мы говорим "программа" (application), то обычно имеем в виду понятие, в терминологии операционной системы обозначаемое как "процесс".
    • Фоновые процедуры, или способ обойтись без потоков Здесь мы рассмотрим возможность для организации фоновых действий (job) внутри однопоточной программы с сохранением реакции этого потока на события от мыши и клавиатуры.
    • Приоритеты потоков Интерфейс Win32 API позволяет программисту управлять распределением времени между потоками; это распространяется и на приложения, написанные на Delphi
    • Класс TThread Delphi представляет программисту полный доступ к возможностям программирования интерфейса Win32. Для чего же тогда фирма Borland представила специальный класс для организации потоков?
    • Пример создания многопоточного приложения в Delphi Этот раздел содержит описание шагов, необходимых для создания простого, но показательного примера многопоточного приложения. Мы будем пытаться вычислить число "пи" с максимальной точностью после запятой
    • Проблемы при синхронизации потоков
    • Тупики
    • Гонки Ситуация гонок возникает, когда два или более потока пытаются получить доступ к общему ресурсу и изменить его состояние
  • Многомерное представление данных
    • Помимо стандартных компонентов отображения данных в VCL Delphi имеются дополнительные компоненты, которые позволяют представлять данные в виде кросстаба. При этом заставить работать кросстаб с двумя и более полями почти так же просто, как и обычный компонент TDBGrid. Эти компоненты расположены на странице Decision Cube Палитры компонентов.
    • Понятие кросстаба Обычная таблица данных имеет строго заданное число столбцов, причем каждый столбец всегда предназначен для представления данных из одного поля
    • Взаимосвязь компонентов многомерного представления данных При создании в приложении формы для многомерного представления данных следует помнить, что при этом обязательно должны решаться следующие задачи
    • Подготовка набора данных Компоненты многомерного представления данных работают со специально созданным и подготовленным набором данных
    • Компонент TDecisionQuery Компонент доступа к данным TDecisionQuery предназначен для создания набора данных, который был бы пригоден для многомерного представления.
    • Компонент TDecisionCube осуществляет преобразование набора данных, который содержится в компоненте TDecisionQuery, к виду, доступному для отображения визуальными компонентами многомерного представления данных
    • Компонент TDecisionSource предназначен для связывания визуальных компонентов многомерного представления с компонентом TDecisionCube
    • Отображение данных При работе с кросстабом пользователь имеет дело с двумя визуальными компонентами многомерного представления данных.
    • Компонент TDecisionGrid предназначен для многомерного представления данных в табличном виде. Параметры отображаемого набора данных (какие размерности будут видны при открытии, как группировать данные, как управлять размерностями) настраиваются при помощи других компонентов многомерного представления
    • Компонент TDecisionGraph создает график на основе многомерного представления набора данных. Конкретный вид графика (назначение горизонтальной и вертикальной осей) зависит от настроек компонентов TDecisionCube и TDecisionPivot
    • Управление данными Несомненное преимущество многомерного представления данных в том, что пользователь может легко изменить взаимное положение размерностей одной стороны между собой и переносить размерности с горизонтали на вертикаль и обратно.
    • Компонент TDecisionPivot предоставляет пользователю средства управления размерностями многомерного представления данных.
  • Использование возможностей Shell API
    • Использование возможностей Shell API Разобравшись с механизмами СОМ, вам наверняка захочется "испытать радость общения" с объектами, имеющимися в составе ОС. Microsoft уверенно идет к тому, чтобы все составные части своих операционных систем, как и прочих продуктов, превратить в СОМ-объекты
    • Понятие пространства имен Необходимость как-то упорядочить все те сущности, с которыми имеет дело современная ОС, всегда вставала перед разработчиками.
    • Размещение значка приложения на System Tray Часто программисту приходится сталкиваться с задачей написания приложения, работающего в фоновом режиме и не нуждающегося в месте на Панели задач.
    • Интерфейс IShellLink Этот интерфейс представляет собой средство для создания и управления ярлыками (shortcuts).
    • Интерфейс IShellFolder Этот интерфейс соответствует папке — одному из основных элементов пространства имен Проводника. Зачем было вводить термин "папка", когда существовали уже общепринятые "каталог" и "директория"?
    • Добавление пунктов в системное контекстное меню Вы обращали внимание на то, что некоторые приложения после установки добавляют в системное контекстное меню свои собственные пункты?
Лабораторные работы по электротехнике http://pasha-2309.ru/ ВЫПОЛНЕНИЕ РАБОЧИХ ЧЕРТЕЖЕЙ ДЕТАЛЕЙ МАШИН В КОМПАС-3D
Программирование на языке ассемблера