- •Тема 1. Поняття про об’єктно-орієнтоване програмування. Поняття про об’єктно-орієнтоване програмування
- •Інструмент прискореної розробки програм
- •Список файлів проекту.
- •Деякі важливі принципи візуального програмування.
- •Вікна інспектора об'єктів, форми, модуля.
- •Лабораторна робота №1 «Робота в середовищі Delphi»
- •Тема 2. Основи об’єктно-орієнтованого програмування.
- •Лабораторна робота №2 «Створення типового вікна Windows-додатку. Властивості об’єктів форми.»
- •Теоретичні відомості:
- •I. Властивості об’єкту Форма.
- •Теоретичні питання:
- •Тема 3. Особливості ооп: основні концепції
- •Лабораторна робота №3 Робота з формою та компонентами Panel, Label, Edit, Button.
- •Лабораторна робота №4 Робота над проектом «Альбом картинок» (компонент Image вкладки Additional)
- •Тема 4. Структура програми Структура програми складається з:
- •Структура проекту
- •Структура модуля
- •Елементи програми
- •Елементи мови Алфавіт
- •Лексеми
- •Теоретичні питання
- •Лабораторна робота №5 Робота над проектом «Текстовий редактор»
- •Тема 5. Типи даних. Введення та виведення числових даних. Функції перетворення. Математичні функції
- •Прості типи
- •Порядкові типи
- •Цілі типи
- •Введення та виведення числових даних
- •Допомога 1.
- •Допомога 2.
- •Лабораторна робота №6. «Створення програм лінійної структури. Створення програми «Калькулятор»
- •В аріант завдання для вибору:
- •Тема 6. Оператори мови Delphi
- •Лабораторна робота №7 Створення найпростішого Windows-Додатка в Delphi, з використанням умовного оператора та оператора вибору.
- •1 Спосіб розв’язку квадратного рівняння
- •2 Спосіб розв’язання квадратного рівняння
- •Створити додатки за вказаним варіантом та записати блок-схему алгоритму:
- •Лабораторна робота № 8 «Створення програм з використанням операторів циклів»
- •Лабораторна робота № 9 «Розробка графічного інтерфейсу програми. Основні керуючі елементи.»
- •1. Програмування об’єкту – перемикач (tRadioButton).
- •Програмування об’єкту – прапорець (tCheckBox).
- •Тема 7. Масиви
- •Лабораторна робота № 10 «Структуровані типи даних»
- •Тема 8. Робота з файлами
- •Лабораторна робота №11 «Файлові типи даних»
- •Тема 9. Допоміжні алгоритми
- •Лабораторна робота № 12 «Створення програм з використанням процедур та функцій»
- •Тема 10. Работа з графікою та мультимедіа
- •Реалізація мультимедійних технологій. Відтворення відеокліпів
- •Внимание!
- •Лабораторна робота № 13 «Створення проекту «Побудова графіка функцій»»
- •Тема 11. Створення анімації в Delphi
- •Лабораторна робота № 14 «Створення проекту «Графічний конструктор»»
- •Лабораторна робота № 15 Створення багатовіконного проекту «Тест з географії»
- •Форма «Тестування» — модуль f_Test
- •Форма «Результат» — модуль fRes
- •Форма «Домопога» — модуль fInstr unit f__lnstr;
- •Тема 12. Організація роботи з таблицями та базами даних. Лабораторна робота №16. Розробка проекту «Рейтинг країн за результатами олімпійських змагань»
- •Лабораторна робота № 17 Створення проекту «Довідник по країнах»
- •Лабораторна робота № 18 Створення проекту «Телефонна книга»
- •Лабораторна робота № 19 Створення проекту «Довідник по тваринах»
- •Лабораторна робота № 20 Створення довідкової системи
- •Хід роботи
Реалізація мультимедійних технологій. Відтворення відеокліпів
Компонент TMediaPlayer, як багатофункціональний пристрій, який розрізняє кілька видів мультимедійної інформації. Відеоролики - файли з розширенням *. avi - можна включити в додаток, використовуючи медіаплейер. Але перш ніж його задіяти, програміст повинен вказати файл програвання. За його розширення MediaPlayer визначить, з яким саме пристроєм слід працювати і візьме на себе управління. Властивість компонента DeviceType у значенні dtAutoSelect (за замовчуванням) автоматично розпізнає тип необхідного пристрою.Відеофайли можна підготувати в середовищі Macromedia Flash. Для цього створений ролик (*. fla) зберігають в перетворенні AVI за командою File / Export Movie .... Після введення імені та натисканні кнопки «зберегти» Середа Flash переходить до другого діалогового вікна «Export Windows AVI». У ньому Ви встановлюєте (1) розмір вікна виводу, кольорової (2) та звуковий (3) формат відеозапису, а також можете при необхідності вказати метод стиснення відеофайлу (4).
Приклад програми «Персональний комп'ютер»
|
Додаток містить комбінований список відеофайлів, одна з яких. користувач вибирає для програвання. Управлінням процесом відтворення здійснює медіаплейер (7 кнопок). Зображення виводиться або в окреме вікно, або на панель форми.Спосіб виведення задається в радіогрупи програми. |
Лістинг програми unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, MPlayer, ExtCtrls, StdCtrls; type TForm1 = class (TForm) MediaPlayer1: TMediaPlayer; Panel1: TPanel; ComboBox1: TComboBox; RadioGroup1: TRadioGroup; procedure ComboBox1Change (Sender: TObject); private (Private declarations) public (Public declarations) end; var Form1: TForm1; implementation uses Unit2; ($ R *. dfm) // Вибір одного елемента зі списку ComboBox1 (клік миші по рядку списку) procedure TForm1.ComboBox1Change (Sender: TObject); begin // Налаштовуємо медіаплейер на файл *. avi MediaPlayer1.FileName: = 'history.avi'; MediaPlayer1.Open; // відкриваємо пристрій MediaPlayer1.Stop; // зупиняємо попередній запис (при її наявності) MediaPlayer1.Close; // закриваємо програвач case ComboBox1.ItemIndex of // вибираємо файл для програвання 0: MediaPlayer1.FileName: = 'history.avi'; 1: MediaPlayer1.FileName: = 'mb.avi'; 2: MediaPlayer1.FileName: = 'monitor.avi'; 3: MediaPlayer1.FileName: = 'mouse.avi'; 4: MediaPlayer1.FileName: = 's_blk.avi'; 5: MediaPlayer1.FileName: = 'hdd.avi'; 6: MediaPlayer1.FileName: = 'cdrom.avi'; 7: MediaPlayer1.FileName: = 'cd.avi'; end; if Radiogroup1.ItemIndex = 0 then MediaPlayer1.Display: = Panel1 // Задаємо вікно виводу else MediaPlayer1.Display: = nil;
MediaPlayer1.Open;
MediaPlayer1.Play; // запуск відеоролика end; end.
Стандартні класи Delphi для використання графічних засобів. Графічні засоби в Delphi зібрані в наступних класах: Canvas, Font, Pen та Brush. Їх властивості і методи дозволяють малювати на поверхні компонентів, але тільки на тих, які запрограмовані на їх виклик, тобто здатні бути контейнерами малюнків. Наприклад, за допомогою Canvas можна малювати лише на наступних об'єктах: Form Label • Image • PaintBox (вкладка System Палітри компонентів) • Printer
Клас Canvas - малювання графічних примітивів Властивість Canvas є при виконанні програми, що дозволяє програмісту вводити динаміку: здійснювати анімацію (змінювати розмір, форму, положення, колір і т.д.). Потреби При малюнки можна зберігати в графічному файлі або виводити на друк.Методи малювання
• Pixels [x, y] - колір пікселя в точці з координатами (x, y)
• Ellips (x1, y1, x2, y2) - еліпс із заповненням
Arc(x1,y1,x2,y2,x3,y3,x4,y4) – дуга еліпса
Chord(x1,y1,x2,y2,x3,y3,x4,y4) – дуга еліпса (по методу Arc) і хорда
Rectangle (x1, y1, x2, y2) - прямокутник із заповненням
• LineTo (x, y) - лінія від поточного положення до точки з координатами x, y
• MoveTo (x, y) - переміщує перо в нову позицію без промальовування
• Refresh - очищення поверхні форми
Промальовування графічних примітивів здійснюється програмно в коді процедур, задіяних з метою виконання завдання програми, окрім процедури FormCreate.
(!) Малювання за допомогою методів класу TCanvas в procedure FormCreate не здійснюється, тому що в процесі створення форми (OnCreate) зв'язок об'єкта з Windows на виконання команд / запитів ще не встановлена.Виконання графіки на формі проводиться або в спеціальній процедурі Events / OnPaint (об'єкт Form), або в інших обробника подій об'єктів форми..
Приклад // При натисканні кнопки на формі з'являються у випадковому розкиді 40 точок procedure TForm1.Button1Click (Sender: TObject);
var
n, x, y: integer;
begin
Randomize; // процедура ініціалізації генератора випадкових чисел
for n: = 1 to 40 do
begin
x: = Random (Form1.ClientWidth);
y: = Random (Form1.ClientHeight);
Canvas.Pixels [x, y]: = clWhite; // малюємо точку білого кольору
end; end;
Клас Pen – перо. Об'єкт перо служить для креслення ліній різного типу: лінія, еліпс, багатокутник та ін.
Стиль лінії.
Властивість Style. В
– psSolid
– psDot
– psDash
– psDashDot
– psDashDotDot
– psClear
– psInsideFrame
Ширина лінії. Властивість Width. Властивість Width - товщина лінії у пікселях екрану.
Приклад Для креслення ліній, представлених на малюнку, використовувався наступний код програми:
with PaintBox2.Canvas do
begin
. . .
Pen.Style: = psSolid;
MoveTo (20,20); LineTo (220,20);
Width: = 4;
MoveTo (20,40); LineTo (220,40);
Pen.Color: = clBlue; Pen.Width: = 1;
Pen.Style: = psDot;
MoveTo (250,20); LineTo (450,20);
Pen.Width: = 1; Pen.Style: = psDash;
MoveTo (250,40); LineTo (450,40);
end;
Клас TBrush - пензель (заливка) Об'єкт кисть служить для заповнення (заливки) простору області.
Растрове зображення кисті. Властивість Bitmap Властивість Bitmap містить растрове зображення кисті. При його підключенні властивості Style і Color компонента ігноруються. Для підключення растрового параметра вводяться в код програми змінні растру.
. . .
procedure
TForm1.FormPaint(Sender: TObject);
var
rs
: TBitmap;
//
переменная для хранения образа растра
кисти
begin
rs:=TBitmap.Create;
//
связь с файловой переменной загрузка
в нее растра выбранного
rs.LoadFromFile('rs.bmp');
изображения:
with
PaintBox1.Canvas do
begin
Brush.Bitmap:=rs;
Ellipse(20,20,80,80);
end;end;
Стиль кисті. Властивість Style
В ластивість Style визначає стиль кисті (заливка):
Код програми-ілюстрації:
procedure TForm1.FormPaint (Sender: TObject);
begin
with Form1.Canvas do
begin
Color: = ClWhite;
Brush.Style: = bsClear;
TextOut (10,20, 'bsSolid -');
Brush.Style: = bsSolid;
Brush.Color: = clBlack;
Rectangle (80,10,130,40);
Brush.Style: = bsClear;
TextOut (150,170, 'bsVertical -');
Brush.Style: = bsVertical;
Brush.Color: = clBlack;
Rectangle (220,160,270,190);
end; end;