Объектно-ориентированное программирование. LAZARUS (Free Pascal): лабораторный практикум [Александр Анатольевич Сорокин] (pdf) читать постранично, страница - 45
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
begin
Image2.Canvas.Pen.Color:=clBlack;
Image2.Canvas.Brush.Color:=clBlack;
Image2.Canvas.Rectangle(0,0,180,300);
Image2.Canvas.Brush.Color:= clWhite;
Image2.Canvas.Pen.Color:=clWhite;
Image2.Canvas.Rectangle(1,1,300,60);
Image2.Canvas.Brush.Color:= clBlue;
Image2.Canvas.Pen.Color:= clBlue;
Image2.Canvas.Rectangle (1,60,300,120);
Image2.Canvas.Brush.Color:= clRed;
Image2.Canvas.Pen.Color:= clRed;
Image2.Canvas.Rectangle (1,120,300,180);
end;
196
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
procedure TForm1.Button3Click(Sender: TObject);
begin
Image5.Canvas.Pen.Color:=clBlack;
Image5.Canvas.Brush.Color:=clBlack;
Image5.Canvas.Rectangle(0,0,180,300);
Image5.Canvas.Brush.Color:= clBlue;
Image5.Canvas.Pen.Color:=clBlue;
Image5.Canvas.Rectangle(1,1,100,299);
Image5.Canvas.Brush.Color:= clWhite;
Image5.Canvas.Pen.Color:= clWhite;
Image5.Canvas.Rectangle (100,1,199,299);
Image5.Canvas.Brush.Color:= clRed;
Image5.Canvas.Pen.Color:= clRed;
Image5.Canvas.Rectangle (200,1,299,299);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Image4.Canvas.Pen.Color:=clBlack;
Image4.Canvas.Brush.Color:=clBlack;
Image4.Canvas.Rectangle(0,0,180,300);
Image4.Canvas.Brush.Color:= clRed;
Image4.Canvas.Pen.Color:=clRed;
Image4.Canvas.Rectangle(1,1,300,60);
Image4.Canvas.Brush.Color:= clWhite;
Image4.Canvas.Pen.Color:= clWhite;
Image4.Canvas.Rectangle (1,60,300,120);
Image4.Canvas.Brush.Color:= clBlue;
Image4.Canvas.Pen.Color:= clBlue;
Image4.Canvas.Rectangle (1,120,300,180);
end;
end.
197
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Упражнение 16. Анимация (Сочи 2014)
Пример интерфейса
Код программы
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
StdCtrls, Buttons;
const
scr_width = 640; // ширина формы
scr_height = 479; // высота формы
var
x,y,y1:integer;
type
198
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
Image2: TImage;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
X:=X+7;//ТЕКУЩАЯ КООРДИНАТА + ШАГ для фмгуры
IF X>SCR_WIDTH+IMAGE2.WIDTH THEN X:=IMAGE2.WIDTH;// ОГРАНИЧЕНИЕ СПРАВА
IF XSCR_WIDTH+IMAGE2.WIDTH THEN X:=IMAGE2.WIDTH;// ОГРАНИЧЕНИЕ СПРАВА
IF XSCR_WIDTH+IMAGE3.WIDTH THEN X:=IMAGE3.WIDTH;// ОГРАНИЧЕНИЕ СПРАВА
IF ySCR_WIDTH+IMAGE4.WIDTH THEN X:=IMAGE4.WIDTH;// ОГРАНИЧЕНИЕ СПРАВА
IF ySCR_WIDTH+IMAGE5.WIDTH THEN X:=IMAGE5.WIDTH;// ОГРАНИЧЕНИЕ СПРАВА
IF yscr_width+image2.Width then x:=-image2.Width;// ограничение справа
if x1 x) then
Inc(x,5)
else
begin
// Если вышли за границы экрана,
// назначаем новые начальные координаты
x := 0;
y := Random(100) + 100;
end;
// Рисуем новый кораблик
Form1.Canvas.Pen.Color := clYellow;
Insert(x,y);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Width := 300;
Form1.Height := 300;
x := 0;
y := Random(100) + 100;
Form1.Color := clNavy;
Timer1.Interval := 50;
end;
end.
210
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Результат
Упражнение 22. Создать анимацию летящего самолета
Пример интерфейса
211
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
Код программы
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
ExtCtrls;
const
scr_width=969;// Ширина фона
scr_helght=506;// Высота фона
var
x,y,y1:integer;
type
{ TForm1 }
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
212
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»
procedure TForm1.Timer1Timer(Sender: TObject);
begin
X:=X+70;//ТЕКУЩАЯ КООРДИНАТА + ШАГ ДЛЯ
АВТОМОБИЛЯ
IF X>SCR_WIDTH+IMAGE2.WIDTH THEN X:=IMAGE2.WIDTH;// ОГРАНИЧЕНИЕ СПРАВА
IF X
Последние комментарии
12 часов 43 минут назад
13 часов 19 минут назад
14 часов 11 минут назад
14 часов 16 минут назад
14 часов 28 минут назад
14 часов 41 минут назад