- •СОДЕРЖАНИЕ
- •1.1. Интегрированная среда разработчика DELPHI
- •1.2. Структура программ DELPHI
- •1.3. Пример написания программы
- •1.3.1. Настройка формы
- •1.3.2. Изменение заголовка формы
- •1.3.3. Размещение строки ввода (TEdit)
- •1.3.4. Размещение надписей (TLabel)
- •1.3.5. Размещение многострочного окна вывода (TMemo)
- •1.3.8. Запуск и работа с программой
- •1.4. Индивидуальные задания
- •2.1. Обработка событий
- •2.2. Операторы if и case языка Паскаль
- •2.3. Кнопки-переключатели в Delphi
- •2.4. Пример написания программы
- •2.4.1. Coздание формы
- •2.4.2. Работа с компонентом TСheckBox
- •2.4.3. Работа с компонентом TRadioGroup
- •2.5. Выполнение индивидуального задания
- •3.1. Средства отладки программ в DELPHI
- •3.2. Операторы организации циклов repeat, whyle, for языка Pascal
- •3.3. Пример написания программы
- •3.4. Выполнение индивидуального задания
- •4.1. Обработка исключительных ситуаций
- •4.2. Использование функций ShowMessage и MessageDlg
- •4.3. Работа с массивами
- •4.4. Компонент TStringGrid
- •4.5. Пример написания программы
- •4.5.1. Настройка компонента TStringGrid
- •4.6. Выполнение индивидуального задания
- •5.1. Динамическое распределение памяти
- •5.2. Организация динамических массивов
- •5.3. Компонент TBitBtn
- •5.4. Пример написания программы
- •5.5. Выполнение индивидуального задания
- •6.1. Использование подпрограмм
- •6.2. Использование модулей
- •6.3. Пример написания программы
- •6.3.1. Создание модуля
- •6.3.2. Подключение модуля
- •6.4. Выполнение индивидуального задания
- •7.1. Системы счисления
- •7.2. Тип множество
- •7.2.1. Операции над множествами
- •7.2.2. Примеры работы с множествами
- •7.3. Типы данных для работы со строками и основные операции
- •7.4. Некоторые процедуры и функции обработки строк
- •7.5. Пример написания программы
- •8.1. Определение типа «запись»
- •8.2. Работа с файлами
- •8.3. Подпрограммы работы с файлами
- •8.4. Компоненты TOpenDialog и TSaveDialog
- •8.5. Пример написания программы
- •8.5.1. Настройка компонентов TOpenDialog и TSaveDialog
- •8.5.2. Работа с программой
- •8.6. Выполнение индивидуального задания
- •9.1. Как рисуются изображения
- •9.2. Как строится график с помощью компонента TChart
- •9.3. Пример написания программы
- •9.3.1. Работа с компонентом TPageControl
- •9.3.2. Работа с компонентом TChart
- •9.4. Выполнение индивидуального задания
- •10.1. Понятие объекта и класса
- •10.2. Наследственность и полиморфизм
- •10.3. Создание, уничтожение и операция присваивания объектов
- •10.5. Свойства
- •10.6. Пример написания программы
- •10.7. Выполнение индивидуального задания
- •ЛИТЕРАТУРА
Основы алгоритмизации и программирования в среде Delphi
Procedure ТехtОut (Х, У: Integer; const Техt: String) – выводит текстовую строку Техt так, чтобы левый верхний угол прямоугольника, охватывающего текст, располагался в точке (X, У).
9.2. Как строится график с помощью компонента TChart
Обычно результаты расчетов представляются в виде графиков и диаграмм. Система DELPHI имеет мощный пакет стандартных программ вывода на экран и редактирования графической информации, который реализуется с помощью визуально отображаемого на форме компонента TChart.
Построение графика (диаграммы) производится после вычисления таблицы значений функции y=f(x). Полученная таблица передается в специальный двух- мерный массив ChartI.SeriesList[k] (k – номер графика (0,1,2,...)) компонента TСhart с помощью метода AddXY. Компонент TChart осуществляет всю работу по отображению графиков, переданных в объект ChartI.SeriesList[k]: строит и размечает оси, рисует координатную сетку, подписывает название осей и само- го графика, отображает переданную таблицу в виде всевозможных графиков или диаграмм. При необходимости с помощью встроенного редактора EditingChart компоненту TСhart передаются данные о толщине, стиле и цвете линий, параметрах шрифта подписей, шагах разметки координатной сетки и другие настройки. В процессе работы программы изменение параметров воз- можно через обращение к соответствующим свойствам компонента TChart. Так, например, свойство Chart1.BottomAxis содержит значение максимального пре- дела нижней оси графика. Перенести график в отчет можно через буфер обме-
на, используя процедуру ChartI.CopyToClipboardMetafile(True).
9.3. Пример написания программы
Задание: составить программу, выводящую график функции sin(x) двумя способами. В первом случае использовать компонент Timage, во втором – ком- понент TChar. Для размещения исходных данных и двух графиков использовать три панели компонента TPageControl.
9.3.1. Работа с компонентом TPageControl
Если на одной форме необходимо разместить большое количество информа- ции или разделить эту информацию, удобно использовать компонент TPageControl (страница Win32). Этот компонент может содержать несколько перекрывающих друг друга панелей, доступ к которым осуществляется с по- мощью закладок. Для добавления новой панели необходимо щелкнуть по ком- поненту правой кнопкой мыши и выбрать пункт NewPage. Размещение элемен- тов на нужной панели производится точно так же, как и на форме.
Расположите на форме компонент PageControl1, создайте три панели и рас- положите на них компоненты в соответствии с рис. 9.1. – 9.3.
PDF created with pdfFactory Pro trial version www.pdffactory.com
________________________________________________________________________________
Рис. 9.1
Рис. 9.2
Рис. 9.3
63
PDF created with pdfFactory Pro trial version www.pdffactory.com
Основы алгоритмизации и программирования в среде Delphi
9.3.2. Работа с компонентом TChart
Для изменения параметров компонента TChart необходимо дважды щелкнуть по нему мышью в окне формы. Появится окно редактирования EditingChat1 (рис. 9.4). Для создания нового объекта Series1 щелкнуть по кнопке Add на стра- нице Series. В появившемся диалоговом окне TeeChart Gallery выбрать пикто- грамму с надписью Line (график выводится в виде линий). Если нет необходи- мости представления графика в трехмерном виде, отключить независимый пере- ключатель 3D. После нажатия на кнопку OK появится новая серия с названием Series1. Для изменения названия нажать кнопку Title. Закладка Legend задает список обозначений даиграммы (можно убирать с экрана). Название графика вводится на странице Titles. Разметка осей меняется на странице Axis. Страница Series задает характеристики (цвет, толщина линий) для определенного графика.
Данные по оси X автоматически сортируются, поэтому, если необходимо на- рисовать, например окружность, сортировку отключают функцией Order:
Chart1.Series[0].XValues.Order=loNone.
Нажимая различные кнопки меню, познакомьтесь с другими возможностями
EditingChat.
Рис. 9.4
Текст программы приведен на листинге 9.1.
Листинг 9.1
unit Unit9; interface
PDF created with pdfFactory Pro trial version www.pdffactory.com
________________________________________________________________________________
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, StdCtrls, ComCtrls, Series, Clipbrd;
type
TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; Label1: TLabel;
Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label3: TLabel; Label8: TLabel; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Button1: TButton; Button2: TButton; Image1: TImage; Button3: TButton; Button4: TButton; Chart1: TChart;
Series1: TLineSeries;
procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure FormCreate(Sender: TObject); private
{Private declarations } public
{Public declarations } end;
var
Form1: TForm1;
xn, xk, x, y, h, xomin, xomax, yomin, yomax : extended; m, i, delt : integer;
implementation
{$R *.dfm}
65
PDF created with pdfFactory Pro trial version www.pdffactory.com
Основы алгоритмизации и программирования в среде Delphi
Function f(x: extended):extended; begin
Result:=sin(x); // Функция end;
procedure TForm1.FormCreate(Sender: TObject); begin
Edit1.Text:='0,1'; Edit2.Text:='6'; Edit3.Text:='50'; Edit4.Text:='0'; Edit5.Text:='6'; Edit6.Text:='-1'; Edit7.Text:='1';
end;
procedure TForm1.Button1Click(Sender: TObject); // Рисование в Image1 var xmax, ymax, xt, yt, yo : integer;
hx, hy : extended; begin
xn:=StrToFloat(Edit1.Text);
xk:=StrToFloat(Edit2.Text);
m:=StrToInt(Edit3.Text);
xomin:=StrToFloat(Edit4.Text);
xomax:=StrToFloat(Edit5.Text);
yomin:=StrToFloat(Edit6.Text);
yomax:=StrToFloat(Edit7.Text); with Image1.Canvas do begin
Pen.Color:=clBlack; |
// Установка цвета карандаша |
|||
Brush.Color:=clGreen; |
// Установка цвета кисти |
|||
xmax:=Image1.Width; |
// Чтение максимальной координаты по x |
|||
ymax:=Image1.Height; |
// Чтение максимальной координаты по y |
|||
{Строим оси координат} |
|
|||
yo:=ymax div 2; |
|
|
|
|
MoveTo(0,yo); |
|
LineTo(xmax,yo); |
||
MoveTo(0,0); |
|
LineTo(0,ymax); |
||
Pen.Color:=clRed; |
|
// Установка цвета карандаша |
||
Pen.Width:=2; |
// Установка толщины карандаша |
|||
hx:=(xomax-xomin)/xmax; |
// Масштабные коэффициенты, устанавли- |
|||
hy:=(yomax-yomin)/ymax; |
// вающие шаг (в пикселях) по X и по Y |
|||
{Вывод графика} |
|
|
|
|
h:=(xk-xn)/(m-1); |
|
|
|
|
x:=xn; |
|
|
|
|
y:=f(x); // Первая точка
MoveTo(Round(x/hx),Round(yo-y/hy)); for i:=1 to m do begin
x:=x+h;
y:=f(x); LineTo(Round(x/hx),Round(yo-y/hy));
end;
end;
PDF created with pdfFactory Pro trial version www.pdffactory.com