Основы объектно-ориентированного программирования
Графика в Delphi
Практическая работа №1
Дана программа для рисования флага Италии:Image1.
Canvas
.Brush.Color := clGreen;
Image1.Canvas.Rectangle(20, 20, 46, 70);
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.Rectangle(45, 20, 71, 70);
Image1.Canvas.Brush.Color := clRed;
Image1.Canvas.Rectangle(70, 20, 96, 70);
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(20, 20, 46, 70);
Brush.Color := clWhite;
Rectangle(45, 20, 71, 70);
Brush.Color := clRed;
Rectangle(70, 20, 96, 70);
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.
Самостоятельно изменить код так, чтобы шарик летел по побочной диагонали. Добавить второй шарик другого цвета, коротрый будет лететь слева направо на некоторой высоте.
Комментариев нет:
Отправить комментарий