Листинг 11.1. Использование компонента Animate

unitShowAVI_; interface

Uses

Windows, Messages, SysUtils,

Classes, Graphics, Controls,

Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls;

Type

TForm1 = class(TForm)

Animate1: TAnimate; // компонент Animate

Button1: TButton; // кнопка Пуск-Стоп

Button2: TButton; // следующий кадр

Button3: TButton; // предыдущий кадр

RadioButton1: TRadioButton; // просмотр всей анимации

RadioButton2: TRadioButton; // покадровый просмотр

procedureButton1Click(Sender: TObject);

procedureButton2Click(Sender: TObject);

procedureButton3Click(Sender: TObject);

procedureRadioButton1Click(Sender: TObject);

procedureRadioButton2Click(Sender: TObject);

Private

{ Private declarations } public

{ Public declarations ) end;

Var

Form1: TForm1; // форма

CFrame: integer; // номер отображаемого кадра

// в режиме покадрового просмотра

implementation{$R *.DFM}

// к следующему кадру

procedureTForm1.Button2Click(Sender: TObject);

Begin

ifCFrame = 1 thenButton2.Enabled := True;

if CFrame < Animate1.FrameCount then begin

CFrame := CFrame + 1;

// вывести кадр

Animate1.StartFrame := CFrame;

Animate1.StopFrame := CFrame;

Animate1.Active := True;

ifCFrame = Animatel.FrameCount // текущий кадр — последний

thenButton2.Enabled:=False;

end;

end;

// к предыдущему кадру

procedureTForm1.Button3Click(Sender: TObject);

Begin

if CFrame = Animate1.FrameCount

thenButton2.Enabled := True;

ifCFrame > 1 then begin

CFrame := CFrame — 1;

// вывести кадр

Animate1.StartFrame := CFrame;

Animate1.StopFrame := CFrame;

Animate1.Active := True;

ifCFrame = 1 // текущий кадр — первый

thenForm1.Button3.Enabled := False;

end;

end;

// активизация режима просмотра всей анимации

procedureTForml.RadioButtonlClick(Sender: TObject);

Begin

Buttonl.Enabled:=True; //доступна кнопка Пуск

// сделать недоступными кнопки покадрового просмотра

Form1.Button3.Enabled:=False ;

Form1.Button2.Enabled:=False;

end;

// активизация режима покадрового просмотра

procedureTForm1.RadioButton2Click(Sender: TObject);

Begin

Button2.Enabled:=True; // кнопка Следующий кадр доступна

Buttons.Enabled:=False; // кнопка Предыдущий кадр недоступна

// сделать недоступной кнопку Пуск — вывод всей анимации

Buttonl.Enabled:=False; end;

// пуск и остановка просмотра анимации

procedureTForm1.ButtonlClick(Sender: TObject);

Begin

ifAnimate1.Active = False // в данный момент анимация не выводится

Then begin

Animate1.StartFrame:=l; // вывод с первого

Animate1.StopFrame:=Animate1.FrameCount; // по последний кадр

Animate1.Active:=True;

Button1.caption:='Стоп';

RadioButton2.Enabled:=False;

End

else// анимация отображается

Begin

Animate1.Active:=False; // остановить отображение

Button1.caption:='Пуск';

RadioButton2.Enabled:=True;

end;

end;

End.

Компонент Animate позволяет программисту использовать в своих программах стандартные анимации Windows. Вид анимации определяется значением свойства СommonAVI. Значение свойства задается при помощи именованной константы. В табл. 11.3 приведены некоторые значения констант, вид анимации и описание процесса, для иллюстрации которого используется эти анимации.

Таблица 11.3. Значение свойства comonAVi определяет анимацию

  Значение Анимация Процесс  
  aviCopyFiles Копирование файлов  
  AviDeleteFile Удаление файла  
  aviRecycleFile Удаление файла в корзину  

 

Компонент MediaPlayer

Компонент MediaPlayer, значок которого находится на вкладке System(рис. 11.4), позволяет воспроизводить видеоролики, звук и сопровождаемую звуком анимацию.

Рис. 11.4. Значок компонента MediaPlayer

В результате добавления к форме компонента MediaPlayer на форме появляется группа кнопок (рис. 11.5), подобных тем, которые можно видеть на обычном аудио- или видеоплеере. Назначение этих кнопок пояснено в табл. 11.4. Свойства компонента MediaPlayer приведены в табл. 11.5.

Рис. 11.5. Компонент MediaPlayer

Таблица 11.4. Кнопки компонента MediaPlayer

         
  Кнопка Обозначение Действие  
  Воспроизведение btPlay Воспроизведение звука или видео  
  Пауза btPause Приостановка воспроизведения  
  Стоп btStop Остановка воспроизведения  
  Следующий btNext Переход к следующему кадру  
  Предыдущий btPrev Переход к предыдущему кадру  
  Шаг btStep Переход к следующему звуковому фрагменту, например, к следующей песне на CD  
  Назад btBack Переход к предыдущему звуковому фрагменту, например, к предыдущей песне на CD  
  Запись btRecord Запись  
  Открыть/Закрыть btEject Открытие или закрытие CD-дисковода компьютера  
         

 

Таблица 11.5. Свойства компонента MediaPiayer