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

Void __fastcall tForm1::Button4Click(tObject *Sender)

{ OpenDialog1->Title = "Выбрать AVI файл";

OpenDialog1->InitialDir ="";

if (OpenDialog1->Execute()==True)

{ Edit1->Text = OpenDialog1->FileName;

OpenAVI();

}

}

      1. Напишите процедуру при выборе радиокнопки Непрерывно: кнопку Стоп сделать неактивной, сделать недоступными кнопки просмотра по кадрам.

      2. Напишите процедуру при выборе радиокнопки по кадрам: кнопка Следующий кадр доступна, кнопка Предыдущий кадр недоступна, сделать недоступной кнопку Пуск, а также:

Animate1->StartFrame=1;

CFrame=1;

      1. Нажатие кнопки Пуск:

Void __fastcall tForm1::Button1Click(tObject *Sender)

{ Animate1->StartFrame=1; // вывод с первого кадра

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

Animate1->Active=True;

Button5->Enabled=True;

Button1->Enabled=False;

RadioButton2->Enabled=False;}

      1. Нажатие кнопки Стоп:

Void __fastcall tForm1::Button5Click(tObject *Sender)

{ Button1->Enabled=True;

Button5->Enabled=False;

Animate1->Play(1,1,1);

//остановить анимацию – показать с 1 по 1 кадр (1)

RadioButton2->Enabled=True;

}

      1. Самостоятельно напишите процедуры для кнопок перехода по кадрам. Указания к выполнению: требуется написать процедуру:

        1. Для кнопки Налево: если текущий кадр (CFrame) больше чем 1, то переменную CFrame уменьшить на 1, установить свойству StartFrame и StopFrame значение CFrame и запустить аримацию (сделать её активной). Учьтите, что если текущий кадр первый, то кнопка Налево должна стать неактивной.

        2. Для кнопки Направо процедура аналогична предыдущей, только условие выполнения: CFrame < Animate1->FrameCount.

  1. Задание для самостоятельного выполнения:

  1. Добавьте метку 2 на форму, в которой отображайте номер текущего кадра.

  2. Добавьте главное меню на форму, которое должно дублировать выполнение всех функций приложения.

  3. Предусмотрите переход к первому кадру при покадровом просмотре анимации.

  4. Предусмотрите переход к последнему кадру при покадровом просмотре анимации.

  5. Добавьте процедуру при загрузке файла выдачу в метке 2 количество кадров в анимации.

  6. Добавьте процедуру при загрузке файла выдачу в метке 2 размер кадров (свойства Animate1->Width и Animate1->Height).

  7. Добавьте процедуру при загрузке файла выдачу в метке 2 количество кадров в анимации и размер кадров (свойства Animate1->Width и Animate1->Height).

  8. Предусмотрите отображение имени открытого файла в строке меню и в статусной строке, которую необходимо добавить на форму.

  9. Добавьте на форму два окна ввода, в которые должны вводиться два целых числа. Предусмотрите показ анимации с номера, введённого в первое окно ввода по номер, введённый во второе окно ввода. Предусмотрите исключительные ситуации.

  10. Предусмотрите добавление полных имён просмотренных анимаций в Memo1.

  11. Предусмотрите добавление полных имён просмотренных анимаций в Memo1, а также сохранение данной информации в файле avi.txt

  12. Добавьте кнопки перехода по кадрам: Первый, Последний. Предусмотрите отображение номера текущего кадра в отдельном нередактируемом окне. Добавьте процедуру при загрузке файла выдачу в метке 2 количество кадров в анимации и размер кадров.

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Компонент Animate. Свойства и методы компонента.

  2. Можно ли отобразить с помощью данного компонента звуковую анимацию?

  3. Как отобразить анимацию с определённого кадра?

  4. Какое свойство отвечает за загрузку анимации?