Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ЗАД_ООПТС_15_06_2012.doc
Скачиваний:
7
Добавлен:
24.09.2019
Размер:
193.54 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;

type

TForm1 = class(TForm)

Timer1: TTimer;

Image1: TImage;

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Image1.Free;

Timer1.Free

end;

end.

Если бы нам потребовалось, чтобы заставка «мигала», т.е. периодичес­ки появлялась и исчезала, мы могли бы создать следующий обработчик события OnTimer:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if Image1.Visible = true

then Image1.Hide

else Image1.Show;

end;

Пример 2.2

Создадим приложение, демонстрирующее «вращение Луны вокруг Земли».

Решение

  1. Создадим новое приложение.

  2. Со страницы System поместим на Form1 компонент Timer под именем Timer1. Его свойство Interval установим равным 55. Через каждые 55 миллисекунд будет воз­буждаться событие OnTimer, которое мы будем использовать для перемещения по форме компонента Shape2. Число 55 - это минимальное значение, называемое ти­ком, которое можно установить в качестве значения свойства Interval. В общем случае любое значение свойства Interval будет округлено в большую сторону до числа, кратного 55. Это связано с особенностями аппаратного таймера компьютера.

  3. Со страницы Additional поместим на Form1 компонент Shape под именем Shape1. Установим следующие значения для его свойств:

Shape - stCircle,

Height - 121,

Width - 121,

Left - 240,

Top - 104.

Выберем свойство Brush и выполним по нему двойной щелчок мышью. В Инс­пекторе Объектов дополнительно появились два свойства: Color и Style. Выберем свойство Color и установим его равным clBlue.

4. Поместим на Form1 компонент Shape под именем Shape2. Установим следующие значения для его свойств:

Shape - stCircle,

Height - 41,

Width - 41,

Left - 400,

Top - 152.

В свойстве Brush установим цвет кисти clYellow.

5. В верхней части Form1 разместим компонент Label под именем Label1. Его свой­ству Caption зададим значение – ‘Вращение Луны вокруг Земли’. Войдем в свой­ство Font и установим:

Шрифт - Courier New,

Начертание - полужирный,

Размер - 16,

Набор символов - кириллица.

Свойство Transparent установим равным True.

6. Активизируем двойным щелчком компонент Timer1. Внесем исправления в текст модуля, начиная с раздела var

Текст модуля Unit2.pas

Interface

uses

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

Dialogs, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Timer1: TTimer;

Shape1: TShape;

Shape2: TShape;

Label1: TLabel;

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1; x:real;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);

begin

x := x + 0.1;

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

Shape2.Top := 150 - trunc(150 * sin(x))

end;

initialization

x := 0

end.

Заметим, что обработчик события OnTimer предназначен для увеличения текуще­го значения переменной х и, соответственно, для изменения текущего положения компонента Shape2 на форме. Это означает, что переменная х должна быть гло­бальной по отношению к процедуре TForm1.Timer1Timer и ее следует описать в разделе var секции interface. Начальное значение переменной х может быть зада­но в секции initialization.

7. Выполним команду главного меню File|Save All и сохраним проект под именем Project2, модуль под именем Unit2 в папке D:\MyProject\Flight. Запустим проект на выполнение.

Пример 2.3.

Создадим изображение с помощью компонента PaintBox.

Решение

Компонент PaintBox предоставляет в наше распоряжение окно, в котором мы можем создать произвольное изображение. Программный код, создающий изображение, дол­жен располагаться в обработчике события OnPaint.

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

  1. Создадим новое приложение.

  1. Поместим на Form1 компонент PaintBox под именем PaintBox1. Установим его размеры: Height = 200; Width = 200.

  2. В Инспекторе Объектов перейдем на страницу Events и выполним двойной щел­чок по правому полю в строке, содержащей имя события OnPaint. В модуле Unit3.pas сформируем обработчик события OnPaint.

Текст модуля Unit3.pas

unit Unit3;

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