Алгоритмизация и программирование 11

Основы объектно-ориентированного программирования



Графика в Delphi

Практическая работа №1
Дана программа для рисования флага Италии:
Image1.Canvas.Brush.Color := clGreen;
Image1.Canvas.Rectangle(20204670);
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Rectangle(45207170);
Image1.Canvas.Brush.Color := clRed;
Image1.Canvas.Rectangle(70209670);
Image1.Canvas.Brush.Style := bsClear;
Image1.Canvas.Font.Name := 'Tahoma';
Image1.Canvas.Font.Size := 10;
x := 20+(75- Image1.Canvas.TextWidth('Италия')) div 2;
Image1.Canvas.Textout(x,70+Font.Size, 'Италия');
Или тоже самое, но с использованием инструкции with, которая позволяет сократить количество набираемого кода. 
With Image1.Canvas do
Begin
  Brush.Color := clGreen;
  Rectangle(20204670);
  Brush.Color := clWhite;
  Rectangle(45207170);
  Brush.Color := clRed;
  Rectangle(70209670);
  Brush.Style := bsClear;
  Font.Name := 'Tahoma';
  Font.Size := 10;
  x := 20+(75- TextWidth('Италия')) div 2;
  Textout(x,70+Font.Size, 'Италия');
End;
Самостоятельно дописать код для вырисовывания рядом с Итальянским флагом флага Украины.
Практическая работа №2
Дана программа для создания проекта "Шарик летит по главной диагонали":

var x,hx,y,hy:Integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
 tmr1.Enabled:=True;
 x:=shp1.Left;      y:=shp1.top;
 hx:=10;hy:=10;
 tmr1.Interval:=20;    tmr1.Enabled:=True;
   tmr2.Interval:=20;    tmr2.Enabled:=True;
end;

procedure TForm1.tmr1Timer(Sender: TObject);
begin
x:=x+hx;
if (x>=536-shp1.width) or (x<=0) then hx:=-hx;
shp1.Left:=x;
end;

procedure TForm1.tmr2Timer(Sender: TObject);
begin
y:=x+hy;
 if (y>=536-shp1.height) or (y<=0) then hx:=-hy;
shp1.top:=y;
end;
end.
Самостоятельно изменить код так, чтобы шарик летел по побочной диагонали. Добавить второй шарик другого цвета, коротрый будет лететь слева направо на некоторой высоте. 

Комментариев нет:

Отправить комментарий