Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Визуальный компонент класса TChart.
Для того чтобы создать график необходимо разместить компонент TChart на форме или воспользоваться мастером. Рисунок 1.Заготовка графика в форме. После двойного щелчка мыши по этой заготовке, будет произведен переход в редактор графика. В среде этого редактора можно установить свойства графика и его серий. Содержимое редактора графика представляет собой табулированный блокнот. Для нового графика первой всегда показывается закладка Chart и для страницы Chart - закладка Series (рисунок 2). Рисунок 2. Редактор графика. Каждая из закладок на странице Chart предназначена для установки параметров того или иного компонента графика: Series - содержит серии графика. Серией называется набор точек графика. На графике серии соответствует отдельная линия или ряд столбцов. Если в графике несколько серий, то будет визуализировано несколько линий или рядов столбцов. General - устанавливает общие параметры графика, такие как объемность графика, отступы от краев, возможность увеличения ( Zoom ) и др. Axis - устанавливает свойства осей (рисунок 3.). В области ShowAxis определяется, для какой оси устанавливаются параметры - левой, правой, верхней или нижней. На странице, определяемой закладкой Scales, устанавливаются свойства масштаба значений по оси. Automatic устанавливает автоматическое масштабирование данных по оси - минимум и максимум вычисляются динамически, исходя из текущих значений серии. При отмене автоматического масштабирования можно установить автоматическое масштабирование минимального ( Minimum ) или максимального ( Maximum ) значения (отметка Auto ). Для установки значения максимума и (или) минимума вручную следует нажать соответствующую кнопку Change. Шаг масштаба по оси выбирается автоматически, если в Desired Increment установлено значение 0. Установить фиксированное значение шага можно, нажав кнопку Change. Закладка Title позволяет установить текст заголовка по оси, угол расположения заготовки и шрифт, которым заголовок выводится. Закладка Labels задает параметры меток для оси. Закладка Tiks устанавливает параметры самой линии оси.
Рисунок 3. Редактор графика - окно установки свойств осей. Titles - определяет заголовок графика, шрифт, выравнивание и др. Legend - задает параметры легенды. Легенда - это область графика, где приводится информация о графике. Легенда служит для пояснения графика. Panel - определяет параметры панели, на которой располагается график. Paging - устанавливает параметры многостраничного графика. Walls - задает " стенку" графика. 3D - дает возможность изменить внешний вид диаграммы: наклон, сдвиг, толщину и т.д. Добавление серии в график На графике одновременно может располагаться несколько серий. В большинстве случаев их значения строятся по одинаковому закону и две и более серий одновременно показываются в графике для сравнения. Чтобы добавить в график серию, следует на странице Chart, (закладка Series ) нажать кнопку Add. После этого появится окно выбора типа серии (рисунок 4.). Рисунок 4.Редактор графика - окно выбора типа серии После выбора типа серии в график добавляется компонент, дочерний от базового типа TChartSeries - TLineSeries, TBarSeries, TPieSeries и т.д. Для примера выберем серию типа Line и нажмем Ok. В окне страницы Chart (закладка Series ) будет показана серия (рисунок 5.).
Рисунок 5.Редактор графика - список серии графика Кнопка Add может использоваться для добавления других серий, кнопка Delete - для удаления текущей серии. После нажатия кнопки Title можно определить заголовок серии, кнопки Clone -создать новый экземпляр такой же серии в этом же графике, кнопки Change - изменить тип текущей серии. Перейдем с закладки Chart на закладку Series. На этой странице представлен блокнот с закладками Format, General, Marks, Data Source. Рассмотрим свойства серии, которые можно установить на страницах, соответствующих этим закладкам. Главные свойства серии можно определить на странице Data Source. На ней определяется источник данных для серии. Выпадающий список ниже закладки позволяет определить тип источника данных для серии: No Data - серии не назначается источник данных. Заготовленный шаблон серии может в разное время использоваться для показа данных из разных источников. Random Values - набор случайных чисел, может быть полезен при формировании заготовки серии. Function - функция ( Copy, Average, Low, High, Divide, Multiply, Subtract, Add ) - служит для построения графиков на основании данных в двух или более сериях. Свойства компонента TChart: Таблица 1. Свойства компонента TChart
Для задания отображаемых значений используются методы серии Series. Основные: Метод Clear очищает серию от занесенных ранее данных. Метод Add: Add(const AValue: Double; const ALabel: String; AColor: TColor) позволяет добавить в диаграмму новую точку. Параметр AValue соответствует добавляемому значению, параметр ALabel - название, которое будет отображаться на диаграмме и в легенде, AColor - цвет. Заметим, что параметр ALabel - не обязательный, его можно задать пустым: ' '. Метод AddXY: AddXY(const AXValue, AYValue: Double; const ALabel: String; AColor: TColor) позволяет добавить в график функции новую точку. Параметр AXValue и AYValue соответствуют аргументу и функции. Параметр ALabel и AColor те же, что и в методе Add. Так же компонент TChart имеет метод Print, обеспечивающий печать. Предварительно может быть выполнен метод PrintPortrait, задающий книжную (вертикальную) ориентацию бумаги, или метод PrintLandscape, задающий альбомную (горизонтальную) ориентацию. Масштабировать размер печатаемого графика можно, вызвав предварительно метод PrintRect: procedure PrintRect(const R: TRect); в котором параметр R определяет размер области принтера, в которой осуществляется печать. Таким образом компонент TChart предназначен для графического представления числовых данных. Компонент содержит большое количество специфичных свойств, событий и методов.
Порядок выполнения работы:
1.Программно исследовать область определения заданной функции( см. вариант ). 2.C учетом проведенных исследований(точек разрыва) протабулировать функцию на заданном отрезке изменения аргумента от Хначального до Х конечного (Хн и Хк вводить в процессе работы программы). 3. Cохранить полученную таблицу значений функции в текстовом файле(выбор имени файла осуществлять динамически с помощью компонент страницы VCL DIALOGS. 4. Построить график заданной функции: а) с использованием визуального компонента класса TChart; б) на канве (свойство Canvas) компонента класса TPaintbox или класса TImage. Замечание. При построении графика функции на канве необходимо прочертить оси координат с удобным началом координат, поставить единичные отрезки на осях с учетом выбранного масштаба и затем на координатной плоскости нарисовать линию, соответствующую графику заданной функции в заданной области определения: от Хначального до Хконечного. 5.Продемонстрировать все результаты работы преподавателю. 6.Оформить отчет и защитить лабораторную работу преподавателю.
Варианты заданий для выполнения работы: 1. y= (x+3)/(x-2); 2.y=3+2/x+3/(x*x); 3.y=1/(3*x*x+2*x+1); 4. y=1/(x*x+2*x+1); 5. y=1/(x*x+3*x+1); 6. y=x/(3*x*x+2*x+1); 7. y=x/(x*x+2*x+1); 8. y=x/(x*x+3*x+1); 9. y=x/(x*x-2*x+1); 10. y=x/(x*x-3*x+1);
Контрольные вопросы: 1.Расскажите о возможностях компонента класса TImage. 2.Визуальный компонент класса TPaintBox-- его назначение, свойства и методы. 3.Опишите возможности компонента класса TChart.
Приложение 1
TLabel
Компоненты класса TLabel (метки) предназначены для размещения на форме различного рода текстовых надписей. С компонентом может быть связан оконный управляющий элемент, который выбирается при нажатии Alt+Буква, где Буква – выделенная подчеркиванием буква в тексте метки. Такие символы в терминологии Windows называются акселераторами.
Свойства компонента:
TEdit
Компонент класса TEdit представляет собой однострочный редактор текста. С его помощью можно вводить и/или отображать достаточно длинные текстовые строки.
Свойства компонента:
Методы компонента:
TButton
Кнопки TButton широко используются для управления программами.
Свойства компонента:
В терминологии Windows модальными окнами называются такие специальные окна, которые, раз появившись на экране, блокируют работу пользователя с другими окнами вплоть до своего закрытия. Обычно с их помощью реализуется диалог, требующий от пользователя принятия некоторого решения. Для этого в состав модального окна включается несколько кнопок. Если у кнопки определено свойство ModalResult, нажатие на нее приводит к закрытию модального окна и возвращает в программу значение ModalResult как результат диалога с пользователем. В Delphi определены следующие стандартные значения ModalResult:
TCheckBox
Независимый переключатель TCheckBox используется для того, чтобы пользователь мог указать свое решение типа Да/Нет или Да/Нет/Не знаю. Это решение отражается в свойстве State компонента, доступном как для чтения, так и для записи. В составе диалогового окна может быть несколько компонентов TCheckBox. Состояние любого из них не зависит от состояния остальных, поэтому такие переключатели называются независимыми. Свойства компонента:
TRadioButton
В отличие от TCheckBox, компоненты TRadioButton представляют собой зависимые переключатели, предназначенные для выбора одного из нескольких взаимоисключающих решений. На форму (точнее, в компонент-контейнер) помещается по меньшей мере два таких компонента. Они могут находиться в одном из двух состояний, определяемом свойством Checked. Если в одном компоненте это свойство принимает значение True, во всех других компонентах, расположенных в том же контейнере, свойства Checked принимают значения False. Помимо свойства Checked компонент TRadioButton имеет еще одно специфичное свойство – Alignment, аналогичное такому же свойству TCheckBox.
TMemo
Обойтись простым текстовым полем удается не всегда. Если пользователь должен ввести большой объем информации (например полный почтовый адрес или произвольный комментарий), ему может понадобиться несколько строк текста. В таком случае следует использовать компонент ТМеmо. При вводе текста для перехода на новую строку (к новому абзацу) обычно используется клавиша ENTER. Однако в диалоговых окнах Windows эта клавиша часто применяется для завершения ввода. Способ использования клавиши ENTERопределяется значением свойства WantReturns. Если оно имеет значение true, то клавиша ENTERпозволяет переходить к новой строке внутри текстовой области, в противном случае она служит для завершения ввода и перехода к следующему элементу управления, а для перехода к новой строке применяется комбинация клавиш CTRL+ENTER. Главное свойство данного компонента – Lines (Строки), имеющее тип TStrings. В нем хранится список строк, введенных пользователем. Эти строки можно обрабатывать всеми методами, доступными в классе TStrings, например сохранять в файле: Memo1.Lines.SaveToFile('С: \Memo.TXT');
Наличие у текстовой области полос прокрутки задается в свойстве ScrollBars.
Если включена горизонтальная полоса прокрутки, значение свойства WordWrap игнорируется. Это свойство определяет, будет ли выполняться автоматический перенос слов на новую строку при достижении правой границы области (при этом никаких символов новой строки в текст не добавляется – перенос отображается только на экране). При выделении фрагмента текста в текстовой области в свойство SelStart записывается позиция первого выделенного символа, а в свойство SelLength – число выделяемых символов. Выделенный текст доступен через свойство SelText (тип string). Для выделения всего текста применяется метод SelectAll, для удаления выделенного текста – метод ClearSelection. Чтобы очистить содержимое текстовой области, используется метод Clear, чтобы отменить последние изменения – метод Undo, а чтобы очистить буфер, хранящий историю изменений, и сделать такую отмену невозможной – метод ClearUndo. Группа методов предназначена для работы с буфером обмена Windows. Для копирования выделенного текста в буфер обмена применяется метод CopyToClipboard, для вырезания текста – метод CutToClipboard, для вставки текста из буфера – метод PasteFromClipboard. Когда в текстовой области происходит изменение текста, генерируется событие OnChange. TListBox
С помощью компонента список (TListBox) пользователь может выбрать один или несколько его элементов. Если элементов много и они не умещаются в отведенной для них области, то автоматически добавляется вертикальная полоса прокрутки. Элементы списка можно добавлять или удалять динамически. Свойство Items имеет тип TStrings и содержит список строк, выводимых на экран. Во время разработки программист может редактировать свойство Items с помощью редактора списка строк (String List editor). Во время выполнения элементы списка можно добавлять с помощью метода Add ( ) класса TStrings, а удалять – с помощью метода Delete ( ) этого же класса. Свойство ItemIndex содержит порядковый номер выделенного элемента, для первого элемента значение ItemIndex равно 0. Если ни один элемент не выделен, то значение ItemIndex равно – 1. Свойство MultiSelect определяет, может ли пользователь выделить более одного элемента списка. Если значение MultiSelect равно True, то свойство ItemIndex является индексом выделенного элемента, имеющего фокус. По умолчанию ItemIndex имеет значение 0. Свойство SelCount содержит количество выделенных элементов, а свойство Selected определяет, выделен ли конкретный элемент. Свойство Sorted определяет, будут ли элементы выведены в алфавитном порядке. Свойство Style задает внешний вид элементов. По умолчанию элементы выводятся в виде строк, однако, изменив свойство Style, их можно вывести в графическом виде или с разной высотой. Ниже приведен код, иллюстрирующий использование списка.
TComboBox
Компонент поле со списком (TComboBox) объединяет возможности поля ввода и прокручиваемого раскрывающегося списка. Пользователь может или выбрать элемент списка или ввести его непосредственно в поле ввода. Поэтому поле со списком обладает многими свойствами и методами, входящими в рассмотренные раньше компоненты TEdit и TListBox. В поле со списком свойство Style определяет внешний вид списка и наличие поля ввода Заменим в предыдущем примере список полем со списком. В этом случае для добавления нового элемента пользователь должен ввести его название в поле ввода и нажать клавишу Enter. Приведенный ниже код иллюстрирует применение поля со списком.
Популярное:
|
Последнее изменение этой страницы: 2017-03-11; Просмотров: 1268; Нарушение авторского права страницы