на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Розробка засобами Delphi дидактичного ілюстративного матеріалу для розв’язання задачі з аналітичної геометрії. Обчислення проекцій вектора на координатні осі в простор
table>

Властивості

Опис

Caption: string

Заголовок компоненту

Checked

Вимкнений компонент чи ні

Enabled: Boolean

Вмикання/вимикання кнопки

Font: TFont

Параметри шрифту

Height: integer

Висота компонента в пікселях

Left: integer

Положення компонента по горизонталі

Name

Ім'я компонента

State:

cbUnchecked

cbGrayed

cbChecked

Top: integer

Положення компонента по вертикалі

Visible: Boolean

Показує чи видимий компонент в даний час

Width: integer

Ширина компонента в пікселях

2.2.6 Компонент TrackBar

Компонент TrackBar являє собою елемент управління у вигляді повзунка, який користувач може переміщати курсором миші або клавішами клавіатури під час роботи додатку. Таким чином, користувач може керувати якимись процесами: гучністю звуку, розміром зображення і т. п. TrackBar може розташовуватися горизонтально, вертикально, мати шкалу з різних сторін і якийсь виділений діапазон шкали.

Таблиця 2.6 Властивості компоненту TrackBar

Властивості

Опис

Frequency: integer

Заголовок компоненту

Height: integer

Висота компонента в пікселях

Left: integer

Положення компонента по горизонталі

Max: integer

Максимальне значення

Min: integer

Мінімальне значення

Name

Ім'я компонента

Orientation

trVertical

trHorizontal

Position: integer

Позиція

TickMarks

tmBoth

tmBottomRight

tmTopLeft

TickStyle

tsManual

tsAuto

tsNone

2.2.7 Компонент ColorBox

Компонент являє собою комбінований список, опціями якого є кольору, тобто призначений для відображення і вибору
кольору. На відміну від компонентів ColorGrid і ColorDialog - склад відображаємих ім кольорів може змінюватися. Багато які властивості, методи та події компонента збігаються з однойменною властивостями, методами і подіями його найближчого родича - компонента CоmbоВох.

Таблица 2.7 Властивості компоненту ColorBox

Властивості

Опис

DefaultColorColor: Tcolor

Стандартний колір

Enabled: Boolean

Вмикання/вимикання кнопки

Font: TFont

Параметри шрифту

Height: integer

Висота компонента в пікселях

Left: integer

Положення компонента по горизонталі

Name

Ім'я компонента

Selected: TColor

Вибраний колір

Style

cbStandartColors

cbExtendedColor

cbSystemColors

Top: integer

Положення компонента по вертикалі

Visible: Boolean

Показує чи видимий компонент в даний час

Width: integer

Ширина компонента в пікселях

2.2.8 Компоненти Image і PaintBox

Компоненти Image та PaintBox представляють собою деяку обмежену поверхню з канвою, на яку можна заносити зображення. При цьому компонент PaintBox, власне кажучи, не дає нічого нового порівняно з малюванням на канві форми. Малювання на PaintBox замість форми не має ніяких переваг, окрім як деякого полегшення у розташуванні одного чи декількох малюнків на площі вікна.

2.3 Структура взаємозв'язку компонентів

Рисунок 2.3 Структура взаємозв'язку компонентів

2.4 Програмний код програми

unit frmMain;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ExtCtrls, Menus, StdCtrls, Buttons, ComCtrls, ShellAPI, IniFiles;

type

TMainForm = class(TForm)

AxisPanel: TPaintBox;

MainMenu1: TMainMenu;

Action1: TMenuItem;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

GroupBox1: TGroupBox;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

editA: TEdit;

editB: TEdit;

editC: TEdit;

GroupBox3: TGroupBox;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

editX: TEdit;

editY: TEdit;

editZ: TEdit;

AnalyticsExecution1: TMenuItem;

Quickcalculation1: TMenuItem;

GroupBox4: TGroupBox;

checkScale: TCheckBox;

checkGrid: TCheckBox;

checkFrame: TCheckBox;

checkNumber: TCheckBox;

GroupBox5: TGroupBox;

cbVector: TColorBox;

Label8: TLabel;

Label9: TLabel;

cbAxis: TColorBox;

Label10: TLabel;

cbFrame: TColorBox;

N1: TMenuItem;

butSave: TButton;

butDraw: TButton;

tbScale: TTrackBar;

StatusBar1: TStatusBar;

N2: TMenuItem;

Label4: TLabel;

EditM: TEdit;

butCalc: TButton;

procedure AxisPanelPaint(Sender: TObject);

procedure FormResize(Sender: TObject);

procedure butCalcClick(Sender: TObject);

procedure ShowOrigData(Sender: TObject);

procedure Exit1Click(Sender: TObject);

procedure DrawChange(Sender: TObject);

procedure butDrawClick(Sender: TObject);

procedure Howtouse1Click(Sender: TObject);

procedure editExit(Sender: TObject);

procedure miAboutClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure butSaveClick(Sender: TObject);

procedure tbScaleChange(Sender: TObject);

procedure checkScaleClick(Sender: TObject);

procedure N2Click(Sender: TObject);

private

procedure DrawLineCustom(ax,ay,az,bx,by,bz: integer; width: byte);

procedure DrawGrid(ax,ay,az,bx,by,bz: integer);

procedure DrawText(text: string; px, py: integer);

public

{ Public declarations }

end;

var

MainForm: TMainForm;

cp: TPoint;

drawVector, drawArc: boolean;

vectorx, vectory, vectorz: integer;

dp, dph: integer;

step: integer;

const

xmin = -10; xmax = 10;

ymin = -14; ymax = 10;

zmin = -10; zmax = 10;

implementation

uses

frmOrig, frmAbout;

{$R *.dfm}

//-------------

{Рисование произвольной линии}

procedure TMainForm.DrawLineCustom(ax,ay,az,bx,by,bz: integer; width: byte);

begin

AxisPanel.Canvas.Pen.Width:=width;

AxisPanel.Canvas.MoveTo(cp.X + (ay*dp) - (ax*dph),

cp.Y + (ax*dph) - (az*dp));

AxisPanel.Canvas.LineTo(cp.X + (by*dp) - (bx*dph),

cp.Y + (bx*dph) - (bz*dp));

end;

{Вывод текста}

procedure TMainForm.DrawText(text: string; px, py: integer);

begin

AxisPanel.Canvas.TextOut(px,py,text);

end;

{Рисование сетки}

procedure TMainForm.DrawGrid(ax,ay,az,bx,by,bz: integer);

begin

AxisPanel.Canvas.Pen.Style:=psDot;

DrawLineCustom(ax,ay,az,bx,by,bz,1);

end;

{Прорисовка всего и вся}

procedure TMainForm.AxisPanelPaint(Sender: TObject);

var

i, num: integer;

vx,vy,vz: integer;

begin

with AxisPanel.Canvas do

begin

//Центр оси координат

cp.X:=AxisPanel.Width div 2;

cp.Y:=AxisPanel.Height div 2;

//Рамка

Pen.Color:=clBlack;

Rectangle(0,0,AxisPanel.Width, AxisPanel.Height);

//Черчение трехмерной сетки

if checkGrid.Checked then

begin

for i := 0 to 12 do

begin

DrawGrid(6, ymin + 2*i, zmax, -6, ymin + 2*i, zmax); //Сетка 1

DrawGrid(6, ymin + 2*i, 0, -6, ymin + 2*i, 0); //Сетка 2

DrawGrid(6, ymin + 2*i, zmin, -6, ymin + 2*i, zmin); //Сетка 3

if i < 7 then

begin

DrawGrid(-6 + 2*i, ymax, zmax, -6 + 2*i, ymin, zmax);

DrawGrid(-6 + 2*i, ymax, 0, -6 + 2*i, ymin, 0);

DrawGrid(-6 + 2*i, ymax, zmin, -6 + 2*i, ymin, zmin);

end;

if i < 4 then

begin

DrawGrid( 6 - 4*i, ymin, zmax, 6 - 4*i, ymin, zmin);

DrawGrid(-6 + 4*i, ymax, zmax,-6 + 4*i, ymax, zmin);

end;

end;

end;

//Подписи осей и нумерация

DrawText('X', cp.X - 10 * dph, cp.Y + 10 * dph);

DrawText('Y', cp.X + 10 * dp, cp.Y);

DrawText('Z', cp.X - 2, cp.Y - 11 * dp);

if (checkNumber.Checked) then

begin

num := xmax;

for i := 0 to 24 do

begin

if num <> 0 then

begin

DrawText(IntToStr(num),(cp.X + dp * 10) - (i * dp),cp.Y-15);

if (i < 21) then

DrawText(IntToStr(num),cp.X+5, (cp.Y - dp * 10)+(i * dp)-5);

end;

num := num - 1;

end;

end;

//Координатные оси

Pen.Color:=cbAxis.Selected;

DrawLineCustom(xmin,0,0,xmax,0,0,2);

DrawLineCustom(0,ymin,0,0,ymax,0,2);

DrawLineCustom(0,0,zmin,0,0,zmax,2);

//Каркас

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.