Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник лабораторных работ(Delphi).doc
Скачиваний:
32
Добавлен:
16.08.2019
Размер:
3.26 Mб
Скачать

Лабораторная работа№23 Примеры использования компонентов Image, Shape, Timer.

Цель занятия: освоить навыки работы с компонентами Image, и Timer, научиться использовать их в приложениях

Студент должен

знать:

  • назначение компонентов Image и Timer в программах;

  • свойства компонентов Image и Timer;

  • средства отображения графической информации;

уметь:

  • украсить свое приложение изображениями;

  • задавать интервалы времени при перемещении нанесенного на форме изображения;

  • писать адекватные реакции на событие OnTimer таймера;

  • задавать периодичность событий OnTimer;

  • определять доступность таймера.

Примеры и задания.

Рассмотрите приведенный ниже пример, поясните процедуры.

Создайте проект

var

Form1: TForm1;

x: real;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);

begin

x:=x+1;

shape2.Left := 265+ trunc(150* cos(x));

shape2.top := 150- trunc(150* sin(x));

end;

initialization

end.

Задание

Измените скорость вращения луны

Рассмотрите приведенный ниже пример, поясните процедуры, создайте проект, внесите изменения по заданию преподавателя

Пример.

Разработать приложение, на форму которого поместить 8 компонентов Image, поместив туда картинки с нарастающей и убывающей луной. С помощью компонента Timer задать интервал времени нарастания и убывания луны, а ScrollBar – скорость изменения луны. Создать кнопку, при нажатии на которую луна или начинает изменяться или прекращает. Пример выполнения программы представлен на рисунке.

После запуска приложения программа примет вид как представлено на рисунке.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Image1: TImage;

Image2: TImage;

Image3: TImage;

Image4: TImage;

Image5: TImage;

Image6: TImage;

Image7: TImage;

Image8: TImage;

Image9: TImage;

ScrollBar1: TScrollBar;

Label1: TLabel;

Timer1: TTimer;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ScrollBar1Change(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

i:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

timer1.Enabled:=not Timer1.Enabled;

if Timer1.Enabled then

Button1.Caption:='стоп'

else

Button1.Caption:='старт';

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

case i of

1:

Image9.Picture:=Image1.Picture;

2:

Image9.Picture:=Image2.Picture;

3:

Image9.Picture:=Image3.Picture;

4:

Image9.Picture:=Image4.Picture;

5:

Image9.Picture:=Image5.Picture;

6:

Image9.Picture:=Image6.Picture;

7:

Image9.Picture:=Image7.Picture;

8:

begin

Image9.Picture:=Image8.Picture;

i:=0;

end;

end;

i:=i+1;

{

image9.picture:=Timage(findcomponent('image'+inttostr(i mod 8 +1))).picture;

inc(i);

}

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

i:=2;

end;

procedure TForm1.ScrollBar1Change(Sender: TObject);

begin

Timer1.Interval:=ScrollBar1.Position;

end;

procedure TForm1.FormShow(Sender: TObject);

begin

ShowWindow(Application.Handle,SW_HIDE);

end;

end.

II. Задания для самостоятельного выполнения

  1. Напишите программу «Электронные часы», на поверхности формы которой отображается текущее время.

  2. Напишите программу «Электронные часы», в окне которой отображается текущее время и дата.

  3. Напишите программу «Электронные часы», в окне которой отображается текущее время, дата и день недели.

  4. Напишите программу, по поверхности окна которой перемещается случайным образом (прыгает) изображение веселой рожицы, на котором пользователь может сделать щелчок кнопкой мыши. Программа должна завершить работу после того, как пользователь сделает 10 щелчков кнопкой мыши.

  5. Напишите программу, по поверхности окна которой перемещается графический объект, например, кораблик.

  6. Напишите программу, которая на поверхность формы выводит изображение идущих часов с часовой, минутной и секундной стрелками.

  7. Напишите программу, которая в диалоговом окне выводит изображение идущих часов с часовой, минутной и секундной стрелками.

  8. Напишите программу, по поверхности формы которой движется изображение. Изображение перемещающегося объекта и фоновый рисунок должны загружаться из файла.

  9. Напишите программу, в окне которой прокручивается текст, подобный титрам в конце фильма. Титры могут быть на фоне иллюстрации, которая должна прокручиваться вместе с текстом.

  10. Напишите программу, в окне которой в стиле бегущей строки прокручивается битовый образ. Битовый образ должен загружаться из ресурса программы (подготовить файл ресурса можно при помощи утилиты Image Editor).

  11. Напишите программу, используя которую можно просмотреть иллюстрации, находящиеся в одном из каталогов компьютера.

Контрольные вопросы.

  1. Для чего предназначены компоненты Image и Timer?

  2. Как использовать изображение Image в программе?

  3. Как задавать интервалы времени при перемещении нанесенного на форме изображения?

  4. Перечислить свойства компонента Image.