- •Содержание введение…………………………………………………..…………..…………..5
- •Заключение……………………………………………………………………..49
- •1 Техническое задание
- •1.1 Основание для разработки
- •1.2 Описание предметной области
- •1.3 Назначение разработки
- •1.4 Выбор языка программирования
- •2.1 Формы, модули и методы разработки
- •2.2 Используемые компоненты
- •Компонент Диаграмма (tChart)
- •3 Руководство пользователя
- •3.1 Описание установки программы на эвм
- •3. 2 Работа с программой
- •4 Экономическая часть
- •Заключение
Компонент Диаграмма (tChart)
Это очень мощный и богатый возможностями компонент, разработанный Дэвидом Бернеда (версия, включенная в систему Delphi 7, имеет номер 4.02).
Он позволяет строить красивые двух- и трехмерные диаграммы на основе различных данных, является наследником класса TPanel и наследует все свойства панели.
Создать диаграмму можно двумя способами: визуально с помощью Мастера (без программирования) и непосредственно средствами Паскаля. Мастер запускается командой File > New > Business > TeeChart Wizard (Файл > Создать > Деловые > Мастер диаграмм), после чего разработчику надо выполнить ряд уточнений.
Сначала выбирается источник данных. Пусть он не расположен в файле, а генерируется программой — переключатель Non Database Chart (Не на основе базы данных).
Затем выбирается внешний вид диаграммы. Она может быть двумерной или трехмерной что определяется переключателем 2D/3D .
На следующем этапе работы Мастера флажок Show Legend (Отображать легенду) определяет наличие легенды - дополнительной панели, на которой указывается соответствие цветов частей диаграммы указанным значениям. Флажок Show Marks включает небольшие желтые подсказки у каждой из частей диаграммы. На этом создание диаграммы заканчивается. После щелчка на кнопке Finish (Готово) в Проектировщике форм появится новая форма, на которой будет расположен объект Chartl.
Он заполнен неким набором случайно сгенерированных значений Настройка диаграммы выполняется с помощью редактора, который вызывается двойным щелчком на объекте Chartl. Параметры отображения диаграммы в окне определяются на вкладке Chart (Диаграмма), состоящей в свою очередь из набора дополнительных панелей.
Панель Series (Ряд данных) очень важна. Она позволяет объединять несколько диаграмм на одном графике с помощью кнопки Add (Добавить). При этом над значениями рядов данных можно выполнять различные операции, задаваемые на вкладке Functions (Функции): сложение (Add), вычитание (Subtract), умножение (Multiply), деление (Divide), взятие наибольшего (High), наименьшего (Low) или среднего (Average) значения.
Панель General (Общие) содержит элементы управления для:
экспорта изображения в файл — кнопка Export (Экспортировать);
установки (в процентах) сдвига границ изображения по отношению к границам объекта — поля Margins (Поля);
масштабирования — панель Zoom (Масштаб);
прокрутки — панель Allow Scroll (Разрешить прокрутку). Средства панели Axis (Оси) отвечают за все, что касается определения координатных осей, их масштаба, заголовков, шага пунктирной сетки и так далее.
Панель Titles (Заголовки) содержит средства для. оформления заголовка.
Панель Legend (Легенда) используется при оформлении внешнего вида и содержимого легенды.
Средства панели Panel (Панель) описывают форму и визуальное представление панели-основы, на которой расположена диаграмма. Панель Pages (Страницы) служит для разделения диаграммы на страницы. Увеличивая число точек на странице с помощью поля Points per Page (точки на страницу), можно подобрать оптимальное соотношение между наглядностью диаграмм и разумным числом страниц.
Панель Walls (Границы) позволяет задать цвет и размеры границ диаграммы.
Панель 3D описывает пространственное представление трехмерных диаграмм. С помощью нескольких движков проектируемую диаграмму можно вращать и масштабировать.
На вкладке Series (Ряды данных) в редакторе задаются конкретные параметры оформления каждого ряда данных (каждого графика, добавленного при помощи вкладки Chart). Выбор текущего ряда данных производится с помощью раскрывающегося списка Area (Область).
Здесь наиболее важна панель Data Source (Источник данных). С ее помощью можно задать для ряда случайные значения (Random Values), отказаться от генерации значений (No Data) или сформировать значения текущего ряда данных как результат применения некоторой функции (раскрывающийся список Function) к значениям выбранных рядов данных. Выбор рядов данных — занесение в список Selected Series (Выбранные ряды) осуществляется с помощью кнопки.
Диаграмма связывается с программным кодом очень просто. Большинство настроек, имеющих отношение к оформлению диаграммы, формируются в редакторе, а в программе (в разделе класса TForml, где располагаются создаваемые в Проектиров-щике элементы управления) должен появиться новый объект — переменная Seriesl типа TPointSeries.
Она описывает последовательность значений, которые будут отображаться на диаграмме.
Всю остальную работу система Delphi 7 берет на себя — очень удобный и простой подход.
Рассмотрим основные свойства и методы класса TPointSeries (он является наследником базового класса TChartSeries, который служит основой для всех классов, описывающих содержимое конкретных типов диаграмм). Разработчику требуются такие возможности, как добавление и удаление точки, изменение некоторого значения, очистка всех точек, получение общего числа точек и доступ к их текущим значениям.
Пусть имеется диаграмма типа Point (Точечное представление), на которой должны располагаться условные значения результатов двух экспериментов («Эксперимент А» и «Эксперимент Б»). Эти значения вводятся с помощью двух текстовых полей, для их редактирования используется щелчок мыши на точке диаграммы.
Нужны также возможности удаления точки и очистки текущего графика. Так как требуется выводить результаты двух экспериментов (два ряда значений), надо добавить к текущей диаграмме еще один ряд. В редакторе диаграммы на панели Chart > Series (Диаграмма > Ряд данных) щелкните на кнопке Add (Добавить) и выберите вид представления Point (точечное).
Каждый высокоуровневый объект ADO содержит коллекцию объектов Property. Объект Property позволяет ADO динамически публиковать возможности любого провайдера данных. Так как не все провайдеры поддерживают некоторые функции, очень важной особенностью объектной модели ADO является возможность предоставления динамического доступа к специфичным функциям.
Компоненты библиотеки VCL предназначенные для работы с ADO, строятся на базе рассмотренных объектов.
Компоненты ADO в среде Delphi можно найти на одноимённой вкладке. Опишем используемые в программе компоненты:
Компонент TDataSource служит для связывания набора данных и компонентов отображения данных. TDataSource через свойство DataSet связан с компонентом TADOTable.
Компонент TADOTable используется для доступа к хранилищам данных ADO и представления информации из них в табличном виде. Имя таблицы указывается в свойстве TableName. Компонент предоставляет прямой доступ к каждой записи и её полям. Для начала работы с компонентом необходимо его свойство Active установить в True. TADOTable через свойство Connection связан с компонентом TADOConnection. Имя таблицы указывается в свойстве TableName. Свойство TableDirect указывает, каким образом набор данных связывается с хранилищем данных. Так как не все провайдеры поддерживают прямое соединение с набором данных, то в некоторых случаях для связи хранилищем данных приходится использовать SQL-операторы. При установке свойству значения True компонент использует фоновые SQL-запросы для доступа к данным.
Используя свойство Read Only, можно установить ограничение «только для чтения» на данную таблицу, запретив таким образом, возможность изменять данные. В свойстве MasterSource указывается компонент TDataSource, используемый для создания отношения ссылочной целостности Master Detail.
Метод GetIndexNames возвращает список индексов, доступных компонентов в качестве списка.
Компонент TADOConnection предназначен для соединения с хранилищами данных. С одним компонентом TADOConnection может быть связано несколько компонентов TADOTable. Соединение с хранилищем данных открывается и закрывается при помощи свойства Connected или метода Open. Методу Open можно передавать параметры UserID и Password, в которых хранятся логин и пароль. Закрыть соединение можно методом Close.
Свойство ConnectOptions определяет тип соединения. Можно создавать синхронное и асинхронное соединения. По умолчанию соединение определяется как синхронное. В том случае, когда сервер работает довольно медленно, выбирается асинхронное соединение.
Свойство CursorLocation определяет порядок функционирования курсоров. Если для свойства задать значение clUseServer, то обработка строк будет производиться на сервере. Клиентское приложение будет получать лишь готовые результаты запросов. Если использовать значение clUseClient, то приложению пересылается весь набор данных, и курсор будет обрабатываться на клиенте. Серверный курсор является чуть более медленным по сравнению с клиентским, но снимает обязанности по обработке данных с клиента и значительно снижает нагрузку на сеть.
Свойство IsolationLevel определяет уровень изоляции транзакции. Этот уровень определяет, как транзакции взаимодействуют с другими соединениями, одновременно обращающимися к таблице, и определяет область видимости транзакции.
Свойство Provider содержит имя провайдера, который в данный момент используется объектом Connection. Права доступа, приписанные соединению, определяются при помощи свойства Mode. Значение свойства Mode указывает на то, какие операции будут выполнены в данном соединении.
Свойство KeepConnection определяет, может ли данное приложение поддерживать связь с базой данных, если нет открытых наборов данных. Когда свойство имеет значение True, соединение будет удерживаться в открытом состоянии. Для соединений с удалёнными СУБД или для приложений, которые часто открывают и закрывают наборы данных, установка значения свойства в True значительно уменьшает сетевой трафик и увеличивает скорость работы приложения, так как не требуется каждый раз проходить аутентификацию на сервере.
Для получения прямого доступа к объекту ошибок ADO следует обратиться к свойству Errors. Свойство DataSets содержит массив открытых наборов данных, связанных с компонентом.
Свойство State позволяет узнать в каком состоянии находится набор данных. А свойство ConnectionString содержит строку, в которой указывается информация, необходимая для установки соединения с источником данных.
До и после открытия и закрытия соединения возникают методы-обработчики событий AfterConnect, BeforeConnect, AfterDisconnect, BeforeDisconnect соответственно. Методы BeginTrans, CommitTrans и RollBackTrans инициируют транзакцию, подтверждают её и производят откат транзакции соответственно. Эти методы помещаются в блоки секций try – finally и try – except.
Для отображения и редактирования данных используются визуальные компоненты. Эта группа классов включает компоненты типа TDBNavigator, TDBGrid, TDBImage и TDBMemo. Все эти компоненты связываются с набором данных через свойство DataSource.
Компонент TDBNavigator берёт на себя функции навигации по набору данных, перевод набора данных в состояние редактирования, подтверждение и отмену транзакции, и обновление данных в наборе.
Компонент TDBGrid отображает данные в табличном виде и предоставляет возможность редактирования отображаемых данных. Также он указывает на какой записи находится курсор набора данных.
Компонент TDBMemo отображает многострочный текст, который в нём же можно редактировать. А компонент TDBImage отображает BMP изображения.
Большинство функций манипулирования данными автоматически осуществляются не визуальными и визуальными компонентами, то есть инкапсулированными в них методами. Приведённые классы объектов также используются для программирования доступа к базе данных.
Для красочного визуального представления интерфейса был использован компонент sSkinManager (см. рисунок 1), который с помощью подключаемых оболочек изменяет внешнее визуальное представление программы, то есть использованных в ней компонентов: кнопок, окон, панелей, меню, надписей и т. д.
Компонент sSkinManager
Рисунок 1
