Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Примеры и задачи.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.66 Mб
Скачать

Часть I

Примеры и задачи

117

begin

CFrame : = CFrame - i; // вывести кадр

Animatel.StartFrame := CFrame; Animatel.StopFrame := CFrame; Animatel.Active := True;

if CFrame = 1 // текущий кадр - первый

then Forml.Button3.Enabled := False; end;

if CFrame < Animatel.FrameCount then Button2.Enabled := True;

end;

// открывает AVI-файл procedure TForml.OpenAVI;

begin

False;

Buttonl.Enabled := False; Button2.Enabled := False; Button3.Enabled := False; RadioButtonl.Enabled := False; RadioButton2.Enabled try

:= Editl.Text;

Animatel.FileName except

on Exception do begin

MessageDIg('Ошибка формата AVI-файла.'+

#13+'(Анимация не должна сопровождаться звуком.) \ mtError,[mbOk], 0) ; exit ; end; end;

Buttonl.Enabled := True; // Button2.Enabled := True; // Button3.Enabled := True; RadioButtonl.Enabled := True; RadioButton2.Enabled := True; end;

end.

45. Напишите программу, используя которую можно прослу­шать звуковые файлы Windows. Рекомендуемый вид диалогового окна программы приведен на рис. 1.46.

Р ис. 1.46. Окно программы Звуки Windows

unit WinSound_; interface

uses

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

TForml = class(TForm)

MediaPlayerl: TMediaPlayer;

ListBoxl: TListBox; // список WAV-файлов

Label2: TLabel;

Labell: TLabel; // выбранный из списка файл

procedure ListBoxlClick(Sender: TObject);

procedure MediaPlayerlClick(Sender: TObject; Button: TMPBtnType;

var DoDefault: Boolean); procedure FormCreate(Sender: TObject); private

( Private declarations ) public

I Public declarations ) end;

118

Част

Примеры и задачи

119

var

Forml: TForml;

Implementation

{$R *.DFM}

var

SOUNDPATH: string[80];

{ Определяет каталог Windows и формирует

список WAV-файлов, находящихся в

подкаталоге Media )

procedure TForml.FormCreate(Sender: TObject); var

lpBuf: PChar; // указатель на nul-terminated-строку

sWinDir: string[128]; // обычная Паскаль-строка

SearchRec: TSearchRec; // структура SearchRec содержит

// информацию о файле, удовлетворяющем условию поис begin

// определить положение каталога Media

GetMem(lpBuf,MAX_PATH); // выделить память для строки

GetWindowsDirectory(lpBuf,MAX_PATH); // получить каталог Window sWinDir:=lpbuf; // скопировать nt-строку в р-строку

SOUNDPATH:=sWinDir+'\Media\'; // вывести результат

FreeMem(lpBuf) ; // освободить память

// сформировать список WAV-файлов

if FindFirst(SOUNDPATH+'*.wav', faAnyFile, SearchRec) =0 then begin

■// в каталоге есть файл с расширением wav // добавим имя этого файла в список Forml.ListBoxl.Items.Add(SearchRec.Name); // пока в каталоге есть другие файлы с расширением wa\ while (FindNext(SearchRec) = 0) do

Forml.ListBoxl.Items.Add(SearchRec.Name); end; end;

// щелчок на элементе списка

procedure TForml.ListBoxlClick(Sender: TObject);

begin

// вывести в поле метки Label2 имя выбранного файла Label2.Caption:=ListBoxl.Items[ListBoxl.itemlndex]; end;

// щелчок на кнопке компонента MediaPlayer procedure TForml.MediaPlayerlClick(Sender: TObject;

Button: TMPBtnType;

var DoDefault: Boolean); begin

if (Button = btPlay) and (Label2.Caption <> '') then begin

// нажата кнопка Play with MediaPlayerl do begin

FileName:=SOUNDPATH+Label2.Caption; // имя выбранного

// файла

Open;

// Wait:= True; end;

end;

end;

end.

46. Напишите программу, используя которую можно просмот­реть видеоклип. Клип должен воспроизводиться в диалоговом окне программы. Для выбора клипа (AVI-файла) используйте стандартное диалоговое окно Открытие файла. Рекомендуемый вид формы программы приведен на рис. 1.47.

{ Видео (AVI) Плеер

(с) Культин Н.Б., 2003} unit Vp_;