Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Lazarus — бесплатная среда разработки программного обеспечения с открытым исходным кодом для компилятора Free Pascal (часто используется сокращение FPC— свободно распространяемый компилятор языка программирования Pascal) на языке Object Pascal. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении. На данный момент является… Читать ещё >

Визуализация в Lazarus (реферат, курсовая, диплом, контрольная)

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Ивановский государственный университет Факультет математики и компьютерных наук Кафедра вычислительной и прикладной математики Курсовая работа на тему

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

Выполнил Четвериков Юрий Александрович Студент 2 курса

дневного отделения

Научный руководитель

Голубева Татьяна Валентиновна

Иваново 2012 г.

Оглавление Введение Задача Примеры работы программы

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

Заключение

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

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

Почему Lazarus такой популярный?

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

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

Задача

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

Код программы:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,

StdCtrls;

type

{ TForm1 }

TForm1 = class (TForm)

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Panel1: TPanel;

procedure Edit1Change (Sender: TObject);

procedure Edit1KeyPress (Sender: TObject; var Key: char);

procedure Edit2Change (Sender: TObject);

procedure Edit2KeyPress (Sender: TObject; var Key: char);

procedure Panel1MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

private

{ private declarations }

public

{ public declarations }

end;

var

Form1: TForm1;

colors:tcolor;

gd, gm, i, j, x, y, n, d, m, h, w, c: integer;

a: double;

f:byte;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1. Panel1MouseDown (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin

if (f=1) then

begin

d:=StrToInt (Edit1.Text);

n:=StrToInt (Edit2.Text);

if ((d=0)or (n=0) or (n=1) or (n=2)) then

begin

MessageDlg ('Введены некорректные данные!', mtInformation,[mbOk], 0);

exit;

end;

h:=Panel1.Height;

w:=Panel1.Width;

colors:=RGBToColor (random (255), random (255), random (255));

Panel1.Canvas.Pen.Color:=clWhite;

Panel1.Canvas.Brush.Color:=clWhite;

Panel1.Canvas.FillRect (0,0,w, h);

Panel1.Canvas.Pen.Color:=clBlue;

Panel1.Canvas.Pen.Width:=2;

a := 2 * Pi / n;

for i := 0 to n — 1 do

begin

Panel1.Canvas.Pen.Color:=colors;

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))));

end;

end;

end;

procedure TForm1. Edit1KeyPress (Sender: TObject; var Key: char);

begin

if not (key in['0'.'9',#8]) then key:=#0;

end;

procedure TForm1. Edit2Change (Sender: TObject);

begin

if Length (Form1.Edit1.Text)=0 then

begin

MessageDlg ('Введены не все данные!', mtInformation,[mbOk], 0);

f:=0;

end

else f:=1;

end;

procedure TForm1. Edit2KeyPress (Sender: TObject; var Key: char);

begin

if not (key in['0'.'9',#8]) then key:=#0;

end;

procedure TForm1. Edit1Change (Sender: TObject);

begin

if Length (Form1.Edit1.Text)=0 then

begin

MessageDlg ('Введены не все данные!', mtInformation,[mbOk], 0);

f:=0;

end

else f:=1;

end;

end.

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

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

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

procedure Panel1MouseDown (Sender: TObject; Button: TMouseButton;

Shift: 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 год.

Показать весь текст
Заполнить форму текущей работой