- •Методичні вказівки
- •Лабораторна робота №1
- •Хід роботи
- •Короткі теоретичні відомості
- •Контрольні питання
- •Лабораторна робота №2
- •Короткі теоретичні відомості
- •Котрольні питання
- •Лабораторна робота №3 Тема: Використання масивів
- •Хід роботи
- •Котрольні питання
- •Лабораторна робота №4
- •Хід роботи
- •Котрольні питання
- •Лабораторна робота №5
- •Котрольні питання
- •Лабораторна робота №6 Тема: Розробка мультимедійних програм
- •Хід роботи
- •Завдання для самостійного виконання:
- •Контрольні питання
- •Лабораторна робота №7 Тема: Створення нової компоненти
- •Хід роботи
- •1. Вибір базового класу
- •2. Створення модуля компоненту
- •3. Встановлення компоненту
- •4. Ресурси компоненту
- •5. Установка
- •6. Перевірка компоненти
- •Контрольні питання
- •Лабораторна робота №8 Тема: Створення довідкової системи
- •1. Підготовка довідкової інформації
- •2. Проект довідкової системи
- •2. Використання Microsoft Word
- •3. Використання html Help Workshop
- •4. Створення файлу довідки
- •5. Компіляція
- •6. Вивід довідкової інформації
- •Контрольні питання
- •Лабораторна робота №9 Тема: Створення інсталяційного пакету
- •1. Новий проект
- •2. Структура
- •3. Вибір встановлюваних компонентів
- •4. Конфігурування системи користувача
- •5. Настройка діалогів
- •6. Системні вимоги
- •7. Створення образу установчого диску
- •Котрольні питання
- •Лабораторна робота №10
- •Завдання для самостійної роботи:
- •Короткі теоретичні відомості Компонент tTable
- •Контрольні питання
- •Лабораторна робота №11
- •Хід роботи
- •12. Змінити дану програму так, щоб всі невізуальні компоненти мітились на модулі даних. Короткі теоретичні відомості
- •Модулі даних
- •Контрольні питання
- •Лабораторна робота №12 Тема: Налаштування та робота з базами даних
- •Хід роботи
- •Короткі теоретичні відомості
- •Контрольні питання
- •11. Розмітити на першій формі дві кнопки для перегляду створених звітів. Короткі теоретичні відомості Створення простого звіту
- •Створення звітів "master-detail"
- •Відображення графічних і мемо-полів в звітах
- •Попередній перегляд звітів
- •Котрольні питання
- •Лабораторна робота № 14
- •Хід роботи
- •Короткі теоретичні відомості
- •Контрольні питання
- •Література:
- •Студентами денного відділення спеціальності
- •5.05010301 «Розробка програмного забезпечення»
- •8 2100, Вул.Раневицька, 12, м.Дрогобич Львівської обл.
Котрольні питання
Яке призначення функції FileExists та її параметри?
Яке призначення функції FileOpen та її параметри?
Яке призначення функції FileClose та її параметри?
Яке призначення функції FileSeek та її параметри?
Яке призначення функції FileCreate та її параметри?
Лабораторна робота №6 Тема: Розробка мультимедійних програм
Мета: Навчитисть розробляти програми з використанням компонентів Animate та MediaPlayer
Хід роботи
1. Розмістити на формі компоненти Label, Edit, OpenDialog, Animate (закладка Win32), дві RadioButton, та чотири компоненти Button.
рис.1 Форма програми перегляду анімації
Написати обробник OnCreate, таким чином, що після запуску програми у формі буде виведений перший кадр анімації, яка знаходиться в каталозі проекту. Якщо жодного файлу з розширенням avi в каталозі проекту немає, то поле компоненту Animate залишиться порожнім.
Написати обробник кнопки вибрати, яка за допомогою OpenDialog дозволяє вибрати анімаційний файл.
Написати обробник кнопки Пуск, яка активує відображення анімації.
Написати обробник RadioButton2 що зупиняє та зберігає у змінну перший кадр.
Написати обробники кнопок Наступний та Попередній для покрокового переміщення по кадрах.
Приклад 1. Використання компоненти Animate
// обробка події OnCreate
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TSearchRec sr; // містить інформацію про файл, знайдений функцією FindFirst
// знайдемо Avi-файл в поточному каталозі
if (FindFirst("*.avi",faAnyFile,sr)==0)
{
Edit1->Text = sr.Name;
/* якщо анімація містить звук, то при виконанні наступного оператора відбудеться помилка, компонент Animate забезпечує відтворення тільки простої не супроводжуваної звуком анімації */
try
{
Animate1->FileName = sr.Name;
}
catch (Exception &e)
{
return;
}
RadioButton1->Enabled = true;
RadioButton2->Enabled = true;
Button1->Enabled = true;
}}
// натиснення на кнопці Вибрати
void __fastcall TForm1::Button4Click(TObject *Sender)
{
OpenDialog1->InitialDir= ""; //відкрити каталог, з якого запущена програма
OpenDialog1->FileName = "*.avi"; //вивести список Avi-файлів
if ( OpenDialog1->Execute ( ))
{
// користувач вибрав файл і натиснув кнопку Відкрити. Компонент Animate може відображати тільки просту, не супроводжувану звуком анімацію. Тому при виконанні наступної інструкції можлива помилка
try
{
Animate1->FileName=OpenDialog1-> FileName;
} catch (Exception &e)
{
Edit1->Text = "";
// зробимо недоступними кнопки управління
RadioButton1->Enabled = false;
RadioButton2->Enabled = false;
Button1->Enabled = false;
Button2->Enabled = false;
Button3->Enabled = false;
// повідомлення про помилку
AnsiString msg= "Помилка відкриття файлу" +OpenDialog1->FileName+
"\n можливо анімація супроводиться звуком.";
ShowMessage(msg);
return;
}
Edit1->Text = OpenDialog1->FileName; // відобразити ім'я файлу
RadioButton1->Checked = true;// режим перегляду —неперервно
Button1->Enabled = true; /// кнопка Пуск активна
Button2->Enabled = false; // кнопка Попередній кадр неактивна
Button3->Enabled = false; // кнопка Наступний кадр неактивна
RadioButton1->Enabled = true;
RadioButton2->Enabled = true;
}}
// натиснення на кнопці Пуск/Стоп
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (Animate1->Active)
{
// анімація відображається, натискання на кнопці Стоп
Animate1->Active = false;
Button1->Caption = "Пуск" ;
RadioButton2->Enabled = true;
}
else // натискання на кнопці Пуск
{
// активізувати відображення анімації
Animate1->StartFrame = 1; //з першого кадру
Animate1->StopFrame=Animate1-> FrameCount; // по останній кадр
Animate1->Active = true;
Button1->Caption = "Стоп";
RadioButton2->Enabled = false;
}}
//натиснення на кнопці Наступний кадр
void _fastcall TForml::Button2Click(TObject *Sender)
{
CFrame++;
// відобразити кадр
Animatel->StartFrame = CFrame;
Animatel->StopFrame = CFrame;
Animatel->Active = true;
if (CFrame > 1)
Button3->Enabled = true;
if (CFrame == Animatel->FrameCount) // відобразили останній кадр
Button2->Enabled = false; // кнопка Наступний кадр неактивна
}
//вибір режиму перегляду по кадрах
void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
Button1->Enabled = false; // кнопка Пуськ/Стоп неактивна
Button2->Enabled = true; // кнопка Наступний кадр доступна
Button3->Enabled= false; //кнопка Попередній кадр неактивна відобразити перший кадр
Animate1->StartFrame =1;
Animate1->StopFrame = 1;
Animate1->Active = true;
CFrame= 1; // запам'ятаємо номер відображеного кадру
}
// клацання на кнопці Попередній кадр
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (CFrame == Animatel->FrameCount) // останній кадр
Button2->Enabled = true;
CFrame--;
// відобразити кадр
Animate1->StartFrame = CFrame;
Animate1->StopFrame = CFrame;
Animate1->Active = true;
if (CFrame == 1)
Button3->Enabled = false; // кнопка Наступний кадр неактивна
}
