Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчёт3.docx
Скачиваний:
2
Добавлен:
12.09.2019
Размер:
50.62 Кб
Скачать

4. Задание на лабораторную работу

  1. Запустить среду программирования Delphi;

  2. Изучить приведенные ниже примеры и пример приложения «Лабораторная работа №3

  3. Разработать программу согласно варианту задания:

  1. Разработать интерфейс приложения, используя необходимые компоненты;

  2. Создать объявление класса «точка» и реализовать все необходимые методы данного класса;

  3. При отображении точки использовать технологию с двойным буфером отображения (реализовать работу с динамическим изображением в памяти)

  4. Сделать точку крупнее;

  5. Создать необходимые обработчики событий;

  6. Произвести компиляцию и запуск программы;

Пример, класс «точка»:

Type Point=class

public

// метод-конструктор класса «точка»

constructor Create(px,py:integer;c:TColor);

// перемести точку в координаты x,y

procedure Move(px,py:integer);

// получить координаты точки

function GetX:integer;

function GetY:integer;

// задать цвет точки

procedure SetColor(c:TColor);

// отобразить точку на плоскости рисования canvas

procedure Draw(canvas:TCanvas);

private

x,y:integer; //текущие координаты точки

col:TColor; //цвет точки

end;

Методы этого класса реализуются в разделе implementation следующим образом:

constructor Point.Create(px,py:integer;c:TColor);

begin

x:=px; // инициализация поля x

...

end;

function Point.GetX:integer;

begin

result:=x;

end;

procedure Point.SetColor(c:TColor);

begin

...

end;

procedure Point.Draw(canvas:TCanvas);

begin

// вывод точки в координатах x,y с цветом col на canvas

end;

и т.д.

Пример создание и использования объекта «точка»:

Var pt:Point;

Begin

// создание объекта (красная точка с координатами 150,150)

pt:=Point.Create(150,150,clRed);

// переместить точку влево на одну единицу

pt.Move(pt.GetX-1,pt.GetY);

// нарисовать точку в PaintBox1

pt.Draw(PaintBox1.Canvas);

// удаление объекта

pt.Free;

End;

Результат работы:

Листинг:

Type Point=class

public

// метод-конструктор класса «точка»

constructor Create(px,py:integer;c:TColor);

// перемести точку в координаты x,y

procedure Move(px,py:integer);

// получить координаты точки

function GetX:integer;

function GetY:integer;

// задать цвет точки

procedure SetColor(c:TColor);

// отобразить точку на плоскости рисования canvas

procedure Draw(canvas:TCanvas);

private

X,y:integer; //текущие координаты точки

col:TColor; //цвет точки

end;

type

TForm1 = class(TForm)

Button1: TButton;

Timer1: TTimer;

PaintBox1: TPaintBox;

Button2: TButton;

Label1: TLabel;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

pt:Point;

b:TBitmap;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]