ЗАДАНИЕ. Создайте приложение с использованием компонентов страниц Standart, Additional, System, которое позволит проигрывать стандартные клипы Windows и видео клипы
Создайте приложение с использованием компонентов страниц Standart, Additional, System, которое позволит проигрывать стандартные клипы Windows и видео клипы формата *.avi. Создайте форму и поместите в любое место компонент OpenDialog из палитры Dialog и задайте для свойства OpenDialog1.Title значение «Открыть файл видео клипа», которое будет отображаться в заголовке диалогового окна открытия файла. Задайте для свойства OpenDialog1. Filter значение «видео клип (*.avi)|*.avi». Поместите на форму компоненты Button1, Button2, Button3. задайте для них имена BtWind, BtStop, BtFile. Задайте для свойств Caption этих кнопок значения «Клипы Windows», «Стоп», «Клипы из файла». Поместите в форму компонент Animate1 из палитры Win32 и задайте для него свойства Visible значение False. Над компонентом Animate1 поместите компонент Label1 и задайте для его свойства Caption пустое значение. Выровняйте и зафиксируйте компоненты на форме, как показано ниже на рисунке.
Создайте обработчик щелчка мыши на кнопке BtWind, обеспечивающий просмотр стандартных видеоклипов Windows. Для этого в окне Инспектора объектов выберите объект BtWind, затем на странице Events произведите двойной щелчок на пустом поле списка в событии OnClick. После этого в окне Редактора кода будет сгенерирована заготовка процедуры обработчика события procedure TForm1. BtWindClick (Sender: TObject);. Добавить в раздел описания переменных модуля описание переменной I целого типа, она будет хранить значение номера стандартного видео клипа Windows. Var Form1: TForm1; I: byte;
Отредактируйте текст процедуры TForm1. BtWindClick следующим образом: Proctdure TForm1. BtWindClick (Sender: TObject); Begin Animate1. Visible: =True; {сделать видимой область анимации} I: =1; {указывает на первый клип Windows} Animate1. CommonAVI: =aviFindFolder; {воспроизвести первый стандартный клип – поиск в папке} Label1. Caption: =’Клип Windows: поиск в папке’; Animate1. Active: =True; {активизировать анимацию} End; Создайте процедуру обработчика щелчка мышью на кнопке BtStop и отредактируйте ее текст следующим образом: Procedure TForm1. BtStopClick (Sender: TObject); begin Animate1. Stop; {вызов процедуры смены стандартного видео клипа Windows} end;
Процедуру смены стандартного видео клипа Windows реализуйте в виде процедуры обработчика события окончания воспроизведения видео клипа OnStop. Для этого в окне Инспектора объектов выберите компонент Animate1 и на странице Events произведите двойной щелчок на пустом поле списка в событии OnStop. После этого в окне Редактора кода будет сгенерирована заготовка процедуры обработчика события procedure TForm1. Animate1Stop (Sender: Tobject);. Отредактируйте ее текст следующим образом: Procedure TForm1. Animate1Stop (Sender: Tobject); Begin Inc (I); {увеличить счетчик клипов} with Animate1 do begin case I of 2: begin CommonAVI: =aviFindFile; Label1. Caption: =’Клип Windows: поиск файла’; end; 3: begin CommonAVI: =aviFindComputer; Label1. Caption: =’Клип Windows: поиск компьютера’; end; 4: begin CommonAVI: =aviCopyFiles; Label1. Caption: =’Клип Windows: копирование файлов’; end; 5: begin CommonAVI: =aviCopyFile; Label1. Caption: =’Клип Windows: копирование файла’; end; 6: begin CommonAVI: =aviRecycleFile; Label1. Caption: =’Клип Windows: удаление файла в корзину’; end; 7: begin CommonAVI: =aviEmptyRecycle; Label1. Caption: =’Клип Windows: очистка корзины’; end; 8: begin CommonAVI: =aviDeleteFile; Label1. Caption: =’Клип Windows: удаление файла’; end; end; if I< 9 then Active: =True else begin Visible: =False; Label1. Caption: =’ ‘; {очистить после показа клипов} end; end; end;
Как видно из текста процедуры, выбор вида стандартного клипа описан с помощью оператора выбора case. Причем значение селектора I изменяется от 2 до 8, так как для I=1 воспроизведение видео клипа выполняется в процедуре обработчика щелчка мышью на кнопке BtWind. Каждый оператор, выполняемый для конкретного значения селектора I, является составным, например, begin CommonAVI: =aviFindFile; Label1. Caption: =’Клип Windows: поиск файла’; end; где CommonAVI: =aviFindFile; определяет конкретный стандартный видео клип Windows, а затем Label1. Caption: =’Клип Windows: поиск файла’; выводит в окне приложения сообщения о том, какой клип воспроизводится. Для воспроизведения видео клипов из файлов формата *.avi создайте процедуру обработчика щелчка мышью на кнопке BtFile. Отредактируйте текст этой процедуры следующим образом:
Procedure TForm1. BtFileClick (Sender: TObject); var Fname: string; {переменная для хранения части имени файла} begin if OpenDialog1 do begin I: =9; FileName: =OpenDialog1. FileName; FName: =FileName; repeat {удалить часть имени до ‘\’} Delete (FName, 1, Pos (‘\’, FName)); until Pos (‘\’, FName)=0; Visible: =True; Label. Caption: =’Клип из файла’+FName; Active: =True; end; end;
Как видно из текста процедуры, в разделе описания переменных введена переменная FName, в которую копируется значение из FileName, с тем чтобы впоследствии «отрезать» от полного имени файла имя папки, в которой он находится. Для открытия файла видео клипа используется стандартный диалог OpenDialog1. Фрагмент программы: repeat {удалить часть имени до ‘\’} Delete (FName, 1, Pos (‘\’, FName)); until Pos (‘\’, FName)=0;
выполняет удаление из полного имени файла имени папки, в которой он находится. Сохраните файлы проекта и модуля в папке «Воспроизведение немых видео клипов». Откомпилируйте и запустите приложение.
|