Визуализация в Lazarus

скачать (15547.3 kb.)

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Ивановский государственный университет

Факультет математики и компьютерных наук

Кафедра вычислительной и прикладной математики

Курсовая работа на тему

«Визуализация в Lazarus»


Выполнил

Четвериков Юрий Александрович

Студент 2 курса
дневного отделения
Научный руководитель
Голубева Татьяна Валентиновна


Иваново 2012г.


Оглавление
Введение

Задача

Примеры работы программы

Методы и процедуры, использованные в программе

Заключение

Список использованной литературы и источников

Введение


- бесплатная среда разработки программного обеспечения с открытым исходным кодом для компилятора Free Pascal (часто используется сокращение FPC- свободно распространяемый компилятор языка программирования Pascal) на языке Object Pascal. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении. На данный момент является единственным инструментом быстрой разработки приложений (RAD), позволяющим Delphi-программистам создавать приложения с графическим интерфейсом для Linux (и других не-Windows) систем.

Почему Lazarus такой популярный?- это стабильная богатая возможностями среда разработки для создания самостоятельных графических и консольных приложений. В настоящее время она работает на Linux, FreeBSD и Windows и предоставляет настраиваемый редактор кода и визуальную среду создания форм вместе с менеджером пакетов, отладчиком и графическим интерфейсом, полностью интегрированным с компилятором FreePascal.

С помощью технологии визуального программирования, реализованную в Lazarus, можно строить интерфейс будущих программ из специальных компонентов, реализующих различные свойства. Количество таких компонентов достаточно велико. Каждый из них содержит готовый программный код и все необходимые для работы данные, что избавляет программиста от создания того, что уже создано ранее. Выглядеть такая программа будет как набор процедур, не имеющих тела.

Задача



Написать программу строящую многоугольник используя технологию визуального программирования в среде программирования Lazarus. Размер фигуры должен зависеть от расстояния от центра многоугольника до одной из его крайних точек. Количество углов и расстояние от центра многоугольника до одной из его крайних точек вводится пользователем.
Код программы:Unit1;
{$mode objfpc}{$H+}
, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,;

{ TForm1 }

= class(TForm): TEdit;: TEdit;: TLabel;: TLabel;: TPanel;Edit1Change(Sender: TObject);Edit1KeyPress(Sender: TObject; var Key: char);Edit2Change(Sender: TObject);Edit2KeyPress(Sender: TObject; var Key: char);

Panel1MouseDown(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);

{ private declarations }

{ public declarations };

: TForm1;:tcolor;,gm,i,j,x,y,n,d,m,h,w,c: integer;: double;:byte;

{$R *.lfm}
{ TForm1 }

TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);(f=1) then:=StrToInt(Edit1.Text);:=StrToInt(Edit2.Text);((d=0)or(n=0) or (n=1) or (n=2)) then('Введены некорректные данные!',mtInformation,[mbOk],0);;;:=Panel1.Height;:=Panel1.Width;:=RGBToColor(random(255), random(255), random(255));.Canvas.Pen.Color:=clWhite;.Canvas.Brush.Color:=clWhite;.Canvas.FillRect(0,0,w,h);.Canvas.Pen.Color:=clBlue;.Canvas.Pen.Width:=2;:= 2 * Pi / n;i := 0 to n - 1 do.Canvas.Pen.Color:=colors;.Canvas.Line(x + Round(d * Cos(a * i)),y + Round(d * Sin(a * i)),x + Round(d * Cos(a * (i + 1))),y + Round(d * Sin(a * (i + 1))));;;;

TForm1.Edit1KeyPress(Sender: TObject; var Key: char);not (key in['0'..'9',#8]) then key:=#0;;TForm1.Edit2Change(Sender: TObject);Length(Form1.Edit1.Text)=0 then('Введены не все данные!',mtInformation,[mbOk],0);:=0;f:=1;;

TForm1.Edit2KeyPress(Sender: TObject; var Key: char);not (key in['0'..'9',#8]) then key:=#0;;

TForm1.Edit1Change(Sender: TObject);Length(Form1.Edit1.Text)=0 then('Введены не все данные!',mtInformation,[mbOk],0);:=0;f:=1;;

.

lazarus среда программирование визуализация

Примеры работы программы











Методы и процедуры, использованные в программе


Panel1MouseDown(Sender: TObject; Button: TMouseButton;: TShiftState; X, Y: Integer)
В этой процедуре мы проверяем корректность введенных данных и, если данные введены правильно, то выполняем построение фигуры.

Корректность проверяем с помощью условного оператора if. Если количество лучей ввели 0 или длину лучей ввели 0 или 1, или 2, то появляется окно с текстом: «Введены некорректные данные!».

procedureTForm1.Edit1KeyPress(Sender:TObject; varKey: char) procedureTForm1.Edit2KeyPress(Sender: TObject; varKey: char)
В этих процедурах мы задаём тип символов, которые сможет ввести пользователь. Так как для работы программы нам нужно, чтоб вводились числа, то эти процедуры позволяют вводить только цифры.
procedureTForm1.Edit1Change(Sender: TObject) procedureTForm1.Edit2Change(Sender: TObject)
В этих процедурах мы проверяем присутствие данных в строках Edit1 и Edit2. Если строки ввода не пусты, то программа выполняется дальше, в противном же случае появляется окно с текстом: «Введены не все данные!».

Определение цвета линии:
colors:=RGBToColor(random(255), random(255), random(255)); Panel1.Canvas.Pen.Color:=colors;
Эти команды отвечают за выбор цвета карандаша, который происходит случайным образом.

Определение цвета заливки:
Panel1.Canvas.Brush.Color := clWhite;
Эта команда отвечает за выбор цвета заливки холста. В данном случае, мы используем белый цвет.

Метод вычерчивания:

Метод Line:

Этот метод вычерчивает прямую из точки с координатами (x1,y1)в точку с координатами (x2,y2)

Вызов метода выглядит так:
Panel1.Canvas.Line(x1,y1,x2,y2);
Вызов метода в данной задаче выглядит так:
Panel1.Canvas.Line(x + Round(d * Cos(a * i)),y + Round(d * Sin(a * i)),x + Round(d * Cos(a * (i + 1))),y + Round(d * Sin(a * (i + 1))));

Заключение



Показал возможности использования методов визуализации в среде программирования Lazarus. Полностью разобрал задачу с использованием этих методов для студентов первого курса математического факультета.

Список использованной литературы и источников



· Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. - «Самоучитель по программирования на Free Pascal и Lazarus» - 2011 год.

· Web-приложение «Визуализация задач курса "Компьютерные науки" в среде Lazarus» Автор: Полушкина А.Н. - 2012 год.


Учебный контент

© ref.rushkolnik.ru
При копировании укажите ссылку.
обратиться к администрации