- •Белорусский национальный технический университет
- •Конспект лекций по курсу «конструирование программ и языки программирования»
- •1. Введение Общие понятия
- •Недостатки ms-dos
- •Преимущества Windows
- •Основные концепции Windows
- •Объекты Windows
- •Механизмы сообщения
- •2. Основы визуального программирования в delphi Принцип создания приложений в Delphi
- •Процесс создания исполняемого файла в Delphi
- •3. Стандартные визуальные компоненты Формы
- •4. События, обрабатываемые формой
- •5. Свойства стандартных компонент Общие сведения
- •Компонент Tlabel
- •Компонент tButton
- •Компонент tEdit
- •Компонента tMemo
- •Компонента tCheckBox Это кнопка с независимой фиксацией. Такой компонент обладает следующими свойствами:
- •Компонент tRadioGroup
- •Компонент tСheckListBox
- •Компонент tPanel
- •К омпонент tScrollBar
- •К омпонент tMainMenu
- •Компонент tPopupMenu
- •Компонент tListBox
- •Компонент tComboBox
- •6. Графические компоненты Общие свойства
- •Компонент tImage (отображение картинок)
- •Компонент tShape (стандартные фигуры)
- •Компонент tBevel (кромка)
- •Компонент tChart (построитель графиков)
- •Компонент tPaintBox
- •Компонента tImage
- •Компонента tShape
- •Компонент tBevel
- •Поддержка графических операций
- •Свойство объектов Canvas
- •7. Табличное представление данных
- •Компонент tStringGrid
- •Компонент tDrawGrid
- •8. Дополнительные компоненты Компонент tBitBtn
- •Компонент tSpeedButton
- •Компонент tToolBar
- •9. Организация стандартных диалогов
- •Компонент tOpenDialog и tSaveDialog
- •Компонент tOpenPictureDialog и tSavePictuteDialog
- •Компонент tColorDialog
- •Компонент tFontDialog
- •Компонент tPrintDialog
- •10. Программирование печати документов
- •11. Вывод графических изображений
- •Компонент tProgressBar
- •Компонент tAnimate
- •Компонент tDateTimePicker
- •Компонент tMediaPlayer
- •Компонент tAnimate
- •Средства создания мультимедийных приложений Что такое мультимедиа
- •Компонент tMediaPlayer
- •Два вида программ мультимедиа
- •Пример программы с мультимедиа
- •Обработка исключительных ситуаций
- •Структурная обработка исключительных ситуаций
- •Модель исключительных ситуаций в Delphi
- •Синтаксис обработки исключительных ситуаций
- •Примеры обработки исключительных ситуаций
- •Вызов исключительной ситуации
- •Доступ к экземпляру объекта exception
- •Предопределенные обработчики исключительных ситуаций
- •Исключения, возникающие при работе с базами данных
- •Заключение
- •Создание и использование ini-файлов
- •Развертывание приложений. Локализация и интернационализация приложений
- •Литература
- •12. Управление программой с помощью панели инструментов
- •Компонент tImageList
- •Компонент tToolBar- инструментальная панель
- •13. Создание программы с несколькими формами и средства управления ими
- •14. Создание многостраничного документа
- •Литература
Компонент tShape (стандартные фигуры)
Компонент TShape –позволяет рисовать простейшие графические объекты на форме типа круга, квадрата и т.п. Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы.
Компонент рисует одну из простейших геометрических фигур, определяемых следующим множеством:
Type
TShapeType = (stRectangle, stSquare, stRoundRect,
stRoundSquare, stEllipse, stCircle);
(прямоугольник, квадрат, скругленный прямоугольник, скругленный квадрат, эллипс, окружность). Фигура полностью занимает пространство компонента. Если задан квадрат или круг, а размеры элемента по горизонтали и вертикали отличаются, фигура чертится с размером меньшего измерения.
Помимо стандартных чертежных инструментов Brush и Pen (шрифт для компонента не нужен) в компоненте определено свойство:
Shape: TShapeType;
которое и задает вид геометрической фигуры. Изменение этого свойства приводит к немедленной перерисовке изображения.
Компонент tBevel (кромка)
Компонент TBevel служит для украшения программ и может принимать вид рамки или линии. Объект предоставляет меньше возможностей по сравнению с TPanel, но не занимает ресурсов. Компонент класса TBevel используют для оформителения дизайна, выделяя rpyппу элементов или отделяя их друг от друга.
Свойства определяются множеством:
type
TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine,
bsLeftLine, bsRightLine);
var
BevelShape: TBevelShape;
Внешний вид указывается с помощью свойств Shape и Style. Можно выбрать следующий вид компонента: прямоугольник, рамка, верхняя или нижняя линия, левая линия, правая линия.
Так, для задания вида компонента можно выбрать стиль (Style: TBevelStyle;):
bsLowered – вдавленный,
bsRaised – выпуклый.
Компонент tChart (построитель графиков)
Этот компонент предназначен для графического представления данных. Компонент содержит большое количество специфичных свойств, событий и методов - их детальное рассмотрение потребовало бы значительного времени. Поэтому рассмотрим лишь основные моменты.
Общая схема его использования такова. В начале компонент помещается на форму. После щелчка по нему правой кнопкой мыши вызывается его вспомогательное меню, которое в числе прочих содержит опцию Edit Chart - с помощью этой опции вызывается многолистное окно редактора компонента. Закладка Series этого окна открывает доступ к так называемым сериям - объектам класса TChartSeries, которые, собственно, и будут отображать наборы чисел в графическом виде.
Чтобы отобразить данные, нужно создать как минимум одну серию. Для этого следует в окне редактора нажать кнопку Add и выбрать подходящий вид графика. После закрытия редактора компонент будет содержать примерный вид графика. Однако его реальный вид зависит от фактических данных, которые создаются в работающей программе и добавляются к серии с помощью методов AddX, AddY или AddXY объекта TChartSeries.
Получить доступ к нужной серии можно с помощью индек сированного свойства SeriesList. Первая созданная серия имеет индекс 0, вторая 1 и т. д.).
unit DemoChart;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart,
StdCtrls;
type
TForm1 = class(TForm)
Chart1: TChart;
Series1: TLineSeries;
Series2: TLineSeries;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
k : integer;
begin
for k := 0 TO 20 do
begin
Series1.AddXY(k, sin(k*pi/10), '', clRed);
Series2.AddXY(k, cos(k*pi/10), '', clBlue);
//Второй вариант:
// Chart1.SeriesList[0].AddXY(k, sin(k*pi/10), '', clRed);
// Chart1.SeriesList[1].AddXY(k, cos(k*pi/10), '', clBlue);
end;
end;
end.