9. Создать и объявить процедуру OpenAvi
procedure TForm1.OpenAVI;
begin
Button1.Enabled := False;
Button2.Enabled := False; Button3.Enabled := False;
RadioButton1.Enabled := False; RadioButton2.Enabled := False;
try
Animate1.FileName := Edit1.Text;
except
on Exception do
begin
MessageDlg('Ошибка формата AVI файла.'+
#13+'(Анимация не должна сопровождаться звуком.)',
mtError,[mbOk],0);
exit;
end; end;
Button1.Enabled := True;
RadioButton1.Enabled := True; RadioButton2.Enabled := True;
end;
10. Для кнопки Выбрать (Button4) ввести код:
OpenDialog1.Title := 'Выбрать AVI файл';
OpenDialog1.InitialDir :='';
if OpenDialog1.Execute Then Begin
Edit1.Text := OpenDialog1.FileName;
OpenAVI; End;
11. Для кнопки Пуск ввести код:
if Animate1.Active = False // в данный момент анимация нет then begin
Animate1.StartFrame:=1; // вывод с первого кадра
Animate1.StopFrame:=Animate1.FrameCount; //по последний кадр
Animate1.Active:=True;
Button1.caption:='Стоп';
RadioButton2.Enabled:=False;
end
else // анимация отображается
begin
Animate1.Active:=False; // остановить отображение
Button1.caption:='Пуск';
RadioButton2.Enabled:=True;
end;
12. Для переключателя Непрерывно ввести код:
Button1.Enabled:=True; // доступна кнопка Пуск
// сделать недоступными кнопки просмотра по кадрам
Form1.Button3.Enabled:=False;
Form1.Button2.Enabled:=False;
13. Для переключателя По кадрам ввести код:
Button2.Enabled:=True; // кнопка Следующий кадр доступна
Button3.Enabled:=False; //кнопка Предыдущий кадр недоступна
// сделать недоступной кнопку Пуск - вывод всей анимации
Button1.Enabled:=False;
Animate1.StartFrame:=1;
Animate1.StartFrame:=1;
CFrame:=1;
14. Для кнопки К следующему кадру ввести код:
if CFrame < Animate1.FrameCount Then Begin
CFrame := CFrame + 1;
// вывести кадр
Animate1.StartFrame := CFrame;
Animate1.StopFrame := CFrame;
Animate1.Active := True;
if CFrame = Animate1.FrameCount // текущий кадр - последний
then Button2.Enabled:=False;
End;
if CFrame > 1 then Button3.Enabled := True;
15. Для кнопки К предыдущему кадру ввести код:
if CFrame > 1 then
begin
CFrame := CFrame - 1;
// вывести кадр
Animate1.StartFrame := CFrame;
Animate1.StopFrame := CFrame;
Animate1.Active := True;
if CFrame = 1 // текущий кадр - первый
then Form1.Button3.Enabled := False;
end;
if CFrame < Animate1.FrameCount then Button2.Enabled := True;
16. Проверить работу приложения.
17. Добавить на форму пункт меню Справка.
18. Присоединить к проекту форму для выдачи Справки, для этого:
1. выбрать в меню File / New/Other;
2. выбрать вкладку Forms, на ней выбрать About box.
19. Привести форму в соответствие с образцом:
20.
Самостоятельно доработать приложение для вызова окна справки (пункт Справка) и скрытие окна (кнопка Ок)
21. Результат показать преподавателю.