Графические объекты в среде Delphi

Графические возможности среды Delphi. Наследники класса TGraphicsObject. Создание форм, диаграмм, графиков, таблиц и рисунков. Основные свойства Image, Chart, DrawGrid, Animate, PaintBox. Загрузка и хранение графических изображений и их комбинирование.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 10.11.2015
Размер файла 812,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Img.AutoSize := False;

img.Picture := nil;

Img.Picture.LoadFromFile(OpenDlg.FileName);

end;

//Помощь

procedure TForm1.delN7Click(Sender: TObject);

begin

Help.ShowModal;

end;

//О программе

procedure TForm1.delN8Click(Sender: TObject);

begin

About.ShowModal;

end;

//Печать

procedure TForm1.print1Click(Sender: TObject);

begin

PrintDialog1.Execute;

Printer.BeginDoc;

with Img.Picture.BitMap do

Printer.Canvas.CopyRect(Rect(0, 0, Height, Width),

Canvas, Rect(0, 0, Height, Width));

Printer.EndDoc;

end;

//Создать

procedure TForm1.delN2Click(Sender: TObject);

begin

ShellExecute(Form1.Handle, 'open', PChar('c:\WINDOWS\system32\mspaint.exe'), nil , nil, SW_SHOWNORMAL);

Close;

end;

//Редактирование

procedure TForm1.Edit1Click(Sender: TObject);

begin

ShellExecute(Form1.Handle, 'open', PChar('c:\WINDOWS\system32\mspaint.exe'), PChar(OpenDlg.FileName), nil, SW_SHOWNORMAL);

Close;

end;

//Удаление

procedure TForm1.del1Click(Sender: TObject);

begin

case MessageBox(0, 'Вы действительно хотите удалить файл?', 'Удаление..', MB_YESNO or MB_ICONWARNING) of

mrYes:

begin

//Удаляем файл

if SysUtils.DeleteFile(OpenDlg.FileName) then

ShowMessage('Файл удален!');

//Выбираем следущее изображение в списке

if ListBox1.ItemIndex <> ListBox1.Count - 1 then

ListBox1.ItemIndex := ListBox1.ItemIndex + 1

else

ListBox1.ItemIndex := 0;

OpenDlg.FileName := ListBox1.Items[ListBox1.ItemIndex];

//Удаляем из списка

ListBox1.Items.Delete(ListBox1.ItemIndex-1);

//Задаем масштабирование

Img.Proportional := True;

Img.AutoSize := False;

//Открываем следущее изображение

Img.Picture.LoadFromFile(OpenDlg.FileName);

end;

mrNo: Exit;

end;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if GetAsyncKeyState(VK_RIGHT)<> 0 then

Form1.r.Click;

if GetAsyncKeyState(VK_LEFT)<> 0 then

Form1.l.Click;

if GetAsyncKeyState(VK_DELETE)<> 0 then

Form1.del1.Click;

end;

end.

Листинг программы 4

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, TeEngine, TeeFunci, Series, ExtCtrls, TeeProcs, Chart;

type

TForm1 = class(TForm)

Chart1: TChart;

Series1: TLineSeries;

TeeFunction1: TAddTeeFunction;

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

i:integer;

begin

Series1.Clear;

for i:=0 to 22 do

begin

Series1.AddXY(i*0.29, 5*cos(i*0.29),'',clGreen); end; end; end.

Листинг программы 5:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls, XPMan,

ImgList, Menus;

type

TForm1 = class(TForm)

Label5: TLabel;

Label6: TLabel;

Edit5: TEdit;

Edit6: TEdit;

Label8: TLabel;

Edit7: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Chart1: TChart;

Series1: TLineSeries;

XPManifest1: TXPManifest;

Series2: TLineSeries;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

Hx,Hy,h:extended;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

Hx:=pi/2;

Hy:=0.5;

h:=0.01;

Edit5.Text:=floatToStr(Hx);

Edit6.Text:=floatToStr(Hy);

Edit7.Text:=floatToStr(h);

Chart1.BottomAxis.Automatic:=False;

Chart1.BottomAxis.Minimum:= -pi;

Chart1.BottomAxis.Maximum:= pi;

Chart1.LeftAxis.Automatic:=False;

Chart1.LeftAxis.Minimum:= -1;

Chart1.LeftAxis.Maximum:= 1;

Chart1.BottomAxis.Increment:=Hx;

Chart1.LeftAxis.Increment:=Hy;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

//чтение данных из окон однострочных редакторов

Hx:=StrToFloat(Edit5.Text);

Hy:=StrToFloat(Edit6.Text);

Chart1.BottomAxis.Minimum:= -pi;

Chart1.BottomAxis.Maximum:= pi;

Chart1.LeftAxis.Minimum:= -1;

Chart1.LeftAxis.Maximum:= 1;

Chart1.bottomAxis.Increment:=Hx;

Chart1.LeftAxis.Increment:=Hy;

end;

procedure TForm1.Button2Click(Sender: TObject);

var x,y1,y2:extended;

begin

Series1.Clear;

Series2.Clear;

h:=strToFloat(Edit7.Text);

x:=-pi;

repeat

y1 := sin(x)*cos(x);

Series1.AddXY(x,y1,'',clTeeColor);

y2 := Pi * (Sin(x)/Cos(x));

Series2.AddXY(x,y2,'',clTeeColor);

x:=x+h;

Until (x > pi);

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form2.ShowModal;

end;

end.

Листинг программы 5

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

Tvert=1..8; //номера вертикалей

Tgor=0..8; //горизонталей

Tresh=array[Tvert] of Tgor; //решение - 8 ферзей, для каждого позиция: пере-сечение вертикали и горизонтали

TLibertyMainDiag=array[2..16] of boolean; //список главных диагоналей, по-казывает свободна или нет

TLibertyNotMainDiag=array[-7..7] of boolean; //побочные

TLibertyHoriz=array[1..8] of boolean; //горизонтали

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

ListBox1: TListBox;

DrawGrid1: TDrawGrid;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

kol: integer;

implementation {$R *.dfm}

var

LibMain:TLibertyMainDiag;

LibNotMain:TLibertyNotMainDiag;

LibHoriz:TLibertyHoriz;

resh:Tresh; //решение

Nvar:integer; //номер текущего решения (варианта)

log: boolean;

procedure Print(resh:Tresh; var stop : boolean); //печатает на экран текущее решение

var i:integer;

j: integer;

t:tRect;

begin

form1.ListBox1.Items.Clear;

for i := 1 to kol do

for j := 1 to kol do begin

t:=form1.DrawGrid1.CellRect(i-1, j-1);

form1.DrawGrid1.canvas.textout(t.Left,t.Top, ' -');

end;

for i:=1 to kol do begin

form1.ListBox1.Items.Add('('+inttostr(i)+','+inttostr(resh[i])+')');

t:=form1.DrawGrid1.CellRect(i-1, resh[i]-1);

form1.DrawGrid1.canvas.textout(t.Left,t.Top, ' q');

end;

if messagebox(form1.Handle, pchar('Вы хотите продолжить?'),'Продолжить',MB_OkCancel)<>id_OK then

stop := true;

end;

procedure Init; //инициализирует - все клетки свободны!

var i:integer;

begin

for i:=2 to 16 do

LibMain[i]:=true;

for i:=-7 to 7 do

LibNotMain[i]:=true;

for i:=1 to 8 do

LibHoriz[i]:=true;

end; {Init}

procedure Q8TryAll(Nvert:Tvert; var resh:Tresh; var stop :boolean); //ищем

var Ngor:Tgor; //номер текущей горизонтали

begin

Ngor:=0;

repeat

Ngor:=Ngor+1;

//если одновременно свободны: горизонталь, главная и побочная диагонали

if LibHoriz[Ngor] and LibMain[Ngor+Nvert] and LibNotMain[Nvert-Ngor] then begin

resh[Nvert]:=Ngor;

//занять горизонталь и диагонали

LibHoriz[Ngor]:=false;

LibMain[Ngor+Nvert]:=false;

LibNotMAin[Nvert-Ngor]:=false;

//распечатать решение, если перебрали все все вертикали и каждую заняли

if Nvert=kol then Print(resh, stop)

//поставить новую ловушку, чтобы перебрать все варианты

else

Q8TryAll(succ(Nvert),resh, stop);

//откат, снимаем ловушку, т. к. перебрали все варианты

LibHoriz[Ngor]:=true;

LibMain[Ngor+Nvert]:=true;

LibNotMAin[Nvert-Ngor]:=true;

end; {if LibHoriz[Ngor]...}

until (Ngor=StrToInt(form1.Edit1.Text)) or stop;

end; {Q8TryAll}

procedure quin;

Begin

Nvar:=0;

Init;

log := false;

Q8TryAll(1,resh, log);

messagebox(form1.Handle,'Решений больше нет','решений нет', mb_ok);

End;

procedure TForm1.Button1Click(Sender: TObject);

begin

kol := StrToInt(edit1.Text);

DrawGrid1.ColCount := kol;

DrawGrid1.rowCount := kol;

quin;

end;

end.

Листинг программы 6

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls;

type

TForm1 = class(TForm)

P: TPaintBox;

Timer1: TTimer;

procedure FormCreate(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

B:TBitMap;

cX,cY,ww,hh,step_:word;

XX,YY:word;

anim,xod:byte;

const

pol: array[0..9,0..1] of byte = ((5,2), (5,3), (7,3), (7,5), (6,5), (6,4), (3,4), (3,3), (4,3), (4,2));

move_: array[1..14] of byte = (1,2,1,1,2,2,3,4,3,3,3,4,1,4);

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);

begin

step_:=50; //шаг клетки

ww:= 10;

hh:=7;

XX:= pol[9,0]*step_;

YY:= pol[9,1]*step_;

anim:=0;

B:=TBitMap.Create;

B.Width:= ww * step_;

B.Height:= hh * step_;

xod:=1;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var

i:word;

begin

B.Canvas.MoveTo(pol[9,0]*step_, pol[9,1]*step_);

for i:=0 to 9 do B.Canvas.LineTo(pol[i,0]*step_, pol[i,1]*step_);

//Рисуем крестик.

B.Canvas.MoveTo(XX-7,YY-7);

B.Canvas.LineTo(XX+7,YY+7);

B.Canvas.MoveTo(XX+7,YY-7);

B.Canvas.LineTo(XX-7,YY+7);;

if anim < 10 then begin

case move_[xod] of

1:XX:= XX+5;

2:YY:= YY+5;

3:XX:= XX-5;

4:YY:= YY-5;

end;

anim:=anim + 1;

end else begin

anim:=0;

if xod <> 14 then xod:=xod+1 else xod:=1;

end;

P.Canvas.Draw(0,0,B);

B.canvas.fillrect(B.canvas.cliprect);

end;

end.

Размещено на Allbest.ur

...

Подобные документы

  • Сущность программирования с использованием среды Delphi 7 и ее основные графические возможности. Структура автономно компилируемого программного модуля и его принципы. Основные приемы работы с графическими процедурами, построение дуги, круга и эллипса.

    курсовая работа [138,2 K], добавлен 16.12.2011

  • Создание приложения для просмотра графических файлов. Компоненты, объекты и операторы для отображения графической информации в библиотеке Delphi. Канва как область компонента для рисования и отображения изображений. Рисование пером, закрашивание кистью.

    методичка [98,1 K], добавлен 19.06.2011

  • Растровые и векторные графические редакторы. Форматы файлов, используемые для хранения графических изображений. Графические редакторы, используемые для создания изображений. Редакторы для создания трехмерных изображений. Создание графического редактора.

    курсовая работа [306,5 K], добавлен 23.08.2013

  • Средства языка программирования Delphi. Структурные типы данных. Строковые переменные, массивы, множества, файлы. Механизм классов в C++. Интерфейсный и описательный обзоры классов в Delphi. Работа с текстовыми и бинарными файлами прямого доступа.

    курсовая работа [990,4 K], добавлен 07.08.2012

  • Графические возможности текстовых процессоров Microsoft Office Word и Open office.org. Вставка в документы рисунков и других объектов. Встраивание и связывание объектов. Преобразование текста посредством Microsoft WordArt. Виды графических объектов.

    реферат [4,3 M], добавлен 17.06.2015

  • Особенности среды визуального проектирования Borland Delphi 7.0. Этапы разработки программы и составления блок-схемы алгоритмов. Способы вычисления кусочно-заданной функции одной переменной. Рассмотрение компонентов среды Delphi, ее предназначение.

    контрольная работа [703,8 K], добавлен 24.09.2012

  • Разработка базы данных книжного магазина в среде программирования Delphi. Создание таблиц и их заполнение. Требования к составу и параметрам технических средств. База данных как набор файлов, содержащих информацию. Этапы создания приложения в Delphi.

    курсовая работа [803,6 K], добавлен 04.11.2012

  • Разработка программы для фирм, занимающихся продажей и учетом лекарственных средств. Структурный анализ с помощью диаграмм SADT и диаграмм "сущность-связь". Создание приложения в Delphi и таблиц базы данных. Организация пользовательского интерфейса.

    курсовая работа [618,5 K], добавлен 30.11.2009

  • Среда Borland Delphi и ее графические средства для построения фрактальных множеств. Разработка программы для построения изображения листа папоротника при помощи вероятностных распределений с использованием средств для отображения графической информации.

    курсовая работа [1,3 M], добавлен 29.07.2013

  • Delphi как среда разработки программ, ориентированных на работу в Windows. Назначение и преимущество использования электронных учебников. Описание возможностей среды Delphi 5 для разработки электронного учебника. Варианты применения служб Internet.

    дипломная работа [3,6 M], добавлен 13.07.2011

  • Разработка программного приложения в среде Delphi. Создание таблиц и их заполнение. Форма редактирования записи. Реализация SQL запросов и поиска. Создание отчётов по БД. Руководство пользователя. Требования к составу и параметрам технических средств.

    курсовая работа [1,3 M], добавлен 03.11.2014

  • Разработка информационной системы административного управления. Выбор языка и среды программирования. Структура взаимодействия информации. Требования к программно-аппаратному окружению. Создание программы в Delphi и связывание ее с базой данных.

    курсовая работа [1010,9 K], добавлен 08.10.2015

  • Изучение основных принципов разработки приложений баз данных в среде Delphi. Создание таблиц, псевдонима и вычисляемых полей базы данных. Особенности организации поиска и фильтрации. Сортировка данных в таблицах. Построение запросов. Генерация отчетов.

    курсовая работа [1,3 M], добавлен 05.02.2017

  • Игра арканный симулятор гонок разработана: в среде Delphi 5 с использованием библиотеки OpenGL 1.3.4582, Pixia 2.4g для создания и редактирования текстур, Image Editor 3.0 для создания иконок, 3D-Stydio Max 5.0 для создания моделей машин (игрока).

    курсовая работа [34,1 K], добавлен 23.12.2007

  • Форматирование текста, работа с таблицами. Добавление графических объектов в документ. Создание формул, построение диаграмм. Основные приемы работы в электронных таблицах Excel. Графические возможности в Microsoft Word. Решений нелинейных уравнений.

    контрольная работа [743,9 K], добавлен 27.05.2013

  • Программирование и простейшие графические возможности. Основные структуры для представления и два конструктора с аргументами. Дальнейшие координаты точки и инициализирование новой. Хранение и изменение координат левого верхнего угла прямоугольника.

    лабораторная работа [24,2 K], добавлен 01.12.2011

  • Векторная компьютерная графика. Графические примитивы. Графические возможности языка программирования Pascal. Методические рекомендации к изучению графики в языке программирования Pascal. Построение графиков функций.

    курсовая работа [28,3 K], добавлен 13.06.2007

  • Анализ информационной системы ИНЭК "Страховщик". Описание предметной области с использованием модели "сущность-связь". Моделирование бизнес-процессов с помощью IDEF0-диаграмм. Проектирование и разработка приложения в среде Delphi и создание интерфейса.

    отчет по практике [4,9 M], добавлен 28.12.2014

  • Понятие компьютерной графики. Представление графической информации в компьютере. Графические форматы и редакторы. Характеристика программы, интерфейса. Возможности использования программы CorelDraw. Возможности создания сложных графических изображений.

    дипломная работа [1,1 M], добавлен 04.01.2011

  • Общая характеристика системы программирования Delphi, а также принципы создания ее компонентов. Описание значений файлов приложения, созданного с помощью Delphi. Структура и свойства библиотеки визуальных компонентов (Visual Component Library или VCL).

    отчет по практике [1,1 M], добавлен 07.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.