Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2 семестр.doc
Скачиваний:
42
Добавлен:
27.05.2015
Размер:
777.73 Кб
Скачать

7.4. Создание диаграмм

Компонент TChart представляет собой библиотеку процедур построения диаграмм, написанных с использованием VCL. Компонент TChart выведен из класса TPanel и поэтому наследует его свойства.

Для добавления диаграммы к приложению необходимо разместить компонент TChart на форму и при необходимости изменить размеры диаграммы.

Диаграмму также можно добавить с помощью команды File | New (Файл | Создать) и пиктограммы TeeChart Wizard, расположенной во вкладке Business (Бизнес) диалогового окна New Application (Создать приложение).

Редактор диаграмм и рядов предоставляет доступ к большинству свойств диаграммы и ряда и имеет две основные вкладки: Chart (Диаграмма), которая предоставляет доступ к свойствам диаграмм и упрощает добавление ряда к диаграмме, и Series (Ряд), которая позволяет изменять свойства ряда.

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

Метод Add() используется для добавления данных в диаграмму. При вызове этого метода в ряд данных добавляется только одно значение (точка), поэтому для добавления массива значений следует организовать цикл:

for i := 0 to TotalPointCount do

Series1.Add(SomeData[i], Strin [i+1], clTeeColor);

Первый аргумент метода Add() содержит координату Y добавляемого значения (в данном случае элемент массива); второй – подпись для соответствующей точки диаграммы, а третий – ее цвет (константа clTeeColor присваивает данному значению цвет, используемый по умолчанию).

Метод АddXY() используется для добавления данных в график. Форма этого метода совпадает с формой метода Аdd( ) за исключением дополнительного аргумента, который представляет собой массив значений X.

Пример проектирования диаграммы:

На форме Form1 размещены компоненты Chart и BitBtn1. Для Chart установлен ряд Series1.

procedure TForm1.BitBtn1Click(Sender: TObject);

const TotalPointCount=10;

XData:array [1..TotalPointCount] of real = (0,1,2,3,4,5,6,7,8,9);

YData:array [1..TotalPointCount] of real = (0,1,2,3,4,5,6,7,8,9);

Strin:array [1..TotalPointCount] of char = ('0','1','2','3','4','5','6','7','8','9');

var i :integer;

begin

for i := 1 to TotalPointCount do

Series1.AddXY(XData[i], YData[i], Strin [i+1], clTeeColor);

end;

8. Печать объектов

8.1. Класс tPrinter

Для использования свойств и методов класса TPrinter в оператор uses вызывающего модуля приложения необходимо добавить Printers. Ко всем перечисляемым свойствам и событиям следует обращаться через объект Printer. Например, выражение Printer.Canvas предоставляет доступ к объекту Canvas объекта Printer.

Свойства класса TPrinter:

Aborted типа Boolean. Принимает значение True, когда печать прервана, например, закрыв Print Manager (Диспетчер печати). Для того чтобы определить, не вызывался ли метод Abort класса TPrinter, нужно проверить значение этой переменной в цикле печати. Если это так, цикл следует завершить немедленно, не вызывая EndDoc.

Canvas. Для печати графики и текста WYSIWYG (What You See Is What You Get – что видишь, то и получаешь) следует присвоить соответствующие значения Реn, Brush и другим подсвойствам свойства Canvas и вызвать их методы так же, как при отображении на экране графики.

Fonts. Список типа TStrings, содержащий имена всех шрифтов, поддерживаемых текущим принтером. Печать с применением шрифтов TrueType осуществляется на любых принтерах.

Handle. Это значение передается любой функции Windows API, которой требуется дескриптор контекста устройства (HDC), например GetTextMetrics.

Orientation. Принимает одно из двух значений: poPortrait или poLandscape. Эти значения присваиваются перед началом печати. Кроме того, они используются для определения параметров страницы.

PageHeight. Высота страницы в пикселях.

PageNumber. Номер текущей страницы. Объект Printer увеличивает PageNumber при каждом вызове метода NewPage, а также при печати простого текста, когда Writeln начинает новую страницу.

PageWidth. Ширина страницы в пикселях.

PrinterIndex. Индекс имени текущего принтера в списке Printers.

Printers. Список установленных принтеров. Обратившись к массиву Printer.Printers[PrinterIndex], можно получить имя текущего принтера.

Printing. Имеет значение True, если идет процесс печати.

Title. Строка, которая идентифицирует задачу печати в Print Manager (Диспетчере печати) или заголовок задачи в сети.

Методы _______класса TPrinter:

Abort. Этот метод прерывает процесс печати. Вызов Abort устанавливает флаг Printer.Aborted в True.

BeginDoc. Метод вызывается до начала нового задания печати. При использовании процедур Write и Writeln для печати простого текста не требуется вызывать BeginDoc.

EndDoc. Этот метод следует вызывать по завершении печати. EndDoc очищает выходной буфер и, если необходимо, выталкивает последнюю страницу. При использовании процедур Write и Writeln для печати простого текста не следует вызывать EndDoc. Этот метод также не следует вызывать, если печать была прервана вызовом Printer.Abort.

NewPage. Начать новую страниц. NewPage очищает выходной буфер и выталкивает текущую страницу.