
- •Лекция № 1. Интегральная среда Delphi. Окна Delphi.
- •1. Среда Delphi. Главное окно.
- •2. Окно Инспектора объектов, Конструктора формы и Редактора кода.
- •Лекция № 2. Характеристика проекта. Компиляция и выполнение проекта.
- •1. Характеристика проекта Delphi.
- •2.Компиляция и выполнение проекта
- •Лекция № 3. Библиотека компонентов (vcl). Понятие класса и объекта.
- •1. Организация библиотеки компонентов
- •2. Понятие класса. Элементы класса.
- •Свойства
- •События
- •Лекция № 4. Общие свойства визуальных компонентов. События, методы. Обращение к объектам.
- •1. Основные общие свойства компонентов.
- •2. Основные общие методы компонентов.
- •3.Обращение к объектам.
- •Основные события.
- •Лекция № 5. Визуальные компоненты для отображения текстовой информации. Основные свойства компонентов.
- •Отображение текста
- •Лекция № 6. Визуальные компоненты для редактирования многострочных данных. Основные свойства компонентов.
- •1. Многострочный редактор
- •2.Общие элементы компонентов редактирования
- •Лекция № 7. Визуальные компоненты: работа со списками: простой, комбинированный. Основные свойства компонентов.
- •1.Работа со списками.
- •2.Комбинированный список
- •3.Общая характеристика списков
- •4.Другие характеристики списков
- •Лекция № 8. Компоненты-кнопки. Переключатели. Основные свойства компонентов.
- •Виды кнопок, используемые компоненты и их свойства.
- •2. Виды переключателей, используемые компоненты и их свойства.
- •Лекция № 9. Визуальные компоненты-контейнеры. Компоненты-закладки. Основные свойства компонентов.
- •1. Основные компоненты, используемые для объединения других компонентов.
- •Лекция № 10. Компоненты для редактирования данных в табличной форме.
- •Лекция № 11. Визуальные компоненты для изменения числового значения в заданном диапазоне. Визуальные компоненты для выбора дат. Основные свойства компонентов.
- •Визуальные компоненты для изменения числового значения в заданном диапазоне.
- •2.Визуальные компоненты для выбора дат.
- •Лекции № 12-13. Форма как Delphi-компонент. Жизненный цикл формы. Отображение формы. Управление доступом к форме. Особенности визуального проектирования форм.
- •1.Форма
- •2.Характеристики формы. Свойства
- •3.Характеристики формы. Методы.
- •4.Характеристики формы. События
- •5.Взаимодействие форм.
- •6.Шаблоны форм.
- •Лекции № 14-15. Главное и контекстное меню. Пункты меню, их свойства. Конструктор меню, настройка меню. Комбинации клавиш.
- •1.Главное и контекстное меню.
- •2.Пункты меню, их свойства, события.
- •3.Конструктор меню, настройка меню. Комбинации клавиш.
- •Лекция № 16. Использование диалоговых компонентов.
- •Лекция № 17. Компоненты-индикаторы. Компоненты для отображения геометрических фигур.
- •Компоненты-индикаторы.
- •Компоненты для отображения геометрических фигур.
- •Лекция № 18. Вывод сложной графической информации.
- •Лекция № 19. Создание элементов справочной системы. Создание строки состояния. Создание подсказок.
- •1. StatusBar (Строка состояния).
- •2. Использование в Delphi подсказок
- •Лекция № 20. Создание заставки, информационных окон.
- •1. Создание заставки.
- •Лекция № 21. Понятие и назначение dll-библиотек. Создание dll-библиотек. Использование dll-библиотек.
- •Создание dll-библиотек.
- •Использование dll-библиотек.
- •Лекция № 22. Понятие исключительной ситуации. Обработка исключений.
- •1. Понятие исключительной ситуации.
- •Обработка исключений.
- •Список использованных источников
- •Содержание
Лекция № 18. Вывод сложной графической информации.
Компонент Image.
К
омпонент Image позволяет
отображать информацию, содержащуюся в
графических файлах. Delphi поддерживает
три типа файлов — битовые матрицы,
пиктограммы и метафайлы. Все три типа
файлов хранят изображения; различие
заключается лишь в способе их хранения
внутри файлов и в средствах доступа к
ним. Битовая матрица (файл с расширением .bmp)
отображает цвет каждого пикселя в
изображении. При этом информация хранится
таким образом, что любой компьютер может
отобразить изображение с разрешающей
способностью и количеством цветов,
соответствующими его конфигурации.
Пиктограммы (файлы с расширением .ico) — это маленькие битовые матрицы. Они повсеместно используются для обозначения значков приложений, в быстрых кнопках, в пунктах меню, в различных списках. Способ хранения изображений в пиктограммах схож с хранением информации в битовых матрицах, но имеются и различия. В частности, пиктограмму невозможно масштабировать, она сохраняет тот размер, в котором была создана.
Метафайлы (Metafiles) хранят не последовательность битов, из которых состоит изображение, а информацию о способе создания картинки. Они хранят последовательности команд рисования, которые и могут быть повторены при воссоздании изображения. Это делает такие файлы, как правило, более компактными, чем битовые матрицы.
Свойства компонента Image:
Picture – основное свойство компонента Image, через которое загружается изображение;
Align – автоматически растягивает компонент по форме, в зависимости от установленного значения. По умолчанию установлено «alNone», что означает, что компонент будет принимать размеры установленные разработчиком. Значение «alClient» растягивает компонент на всю форму, «alLeft» - компонент притягивается к левой границы формы и растягивается по высоте на всю форму, а по ширине на ширину изображения. «alRight» аналогичен «alLeft» только притягивает изображение к правой границы формы;
AutoSize – значение по умолчанию равно False, что означат что вставленое изображение будет отображаться по размеру компонента, если оно больше размеров Image, то будет показана только его часть. Установка значения True позволяет автоматически подбирать размеры компоненту равные размерам изображения;
Enable – значение по умолчанию False, свойство определяет «доступность» компонента;
Height и Width – высота и ширина компонента;
Left и Top – определяют положение компонента на форме от его левой и верхней границы соответственно, в пикселях;
Visible – делает компонент видимым (True) и невидимым (False) пользователю программы.
Компонент Animate.
Компонент Delphi Animate (вкладка Win32) позволяет воспроизводить анимацию немых (без звука) видеоклипов в формате AVI, размер которых не больше 64 Кбайт и видео в нем не должно быть сжато. Сам видеоклип не сохраняется вместе с приложением, поэтому, запуская программу, необходимо, чтобы файл клипа присутствовал на диске.
Файл клипа загружается при помощи свойства FileName, где указывается имя .AVI файла. Значение свойства FileName можно изменять в процессе работы приложения. Со средой Delphi идет один демонстрационный файл - cool.avi, пример использования которого ниже:
Animate1.FileName := 'C:\Program Files\Borland\Delphi7\Demos\CoolStuf\cool.avi';
У компонента Animate есть стандартные клипы Windows, которые можно использовать в своих приложениях. Для этого необходимо свойству CommonAVI присвоить одно из следующих значений:
Поиск папки - aviFindFolder;
Поиск файла - aviFindFile;
Поиск компьютера - aviFindComputer;
Копирование файлов - aviCopyFiles;
Копирование файла - aviCopyFile;
Перемещение файла в корзину - aviRecycleFile;
Очистка корзины - aviEmptyRecycle;
Удаление файла - aviDeleteFile;
Использовать клип указанный с свойстве FileName - aviNone;
Клипы Windows занимают различный размер на экране и поэтому свойство AutoSize необходимо задавать равным TRUE (размеры компонента Animate автоматически подстраиваются под размер кадров видеоклипа).
Во время работы приложения доступны для чтения свойства (тип Integer) FrameCount - число кадров, FrameHeight - высота кадров (в пикселах), FrameWidth - ширина кадров (в пикселах).
Для того чтобы запустить воспроизведение клипа нужно свойству Active (тип Boolean) задать значение TRUE. Остановить клип можно задав свойству Active значение False.
Воспроизвести клип или его фрагмент можно методом Play, форма его записи такая:
procedure Play(FromFrame, ToFrame: Word; Count: Integer);
Будет воспроизводиться заданная последовательность кадров клипа, начиная от FromFrame до ToFrame включительно,и Count раз воспроизведение повторяется. При FromFrame равном 1 воспроизведение начинается с первого кадра. Параметр ToFrame должен быть больше FromFrame и меньше значения, заданного свойством FrameCount. При Count равным нулю воспроизведение будет повторяется до тех пор пока не будет выполнен метод Stop.
Компоненте Animate имеет события OnClose, OnStart, OnOpen и OnStop,
генерируемые соответственно в моменты закрытия, начала, открытия компонента,
и окончания воспроизведения.
Свойство Repetitions (Integer) задает сколько раз будет повторяться клип, по умолчанию установлено 0 и клип повторяется бесконечно.
Для закрепления материала создадим такое приложение.
На форме разместим 4 кнопки и 2 компонента Animate. Для первого компонента Animate FileName зададим таким (у меня файл находится на диске C, у Вас может быть иначе)(можно задать через Инспектор объектов):
Animate1.FileName := 'C:\Program Files\Borland\Delphi7\Demos\CoolStuf\cool.avi';
Самой верхней кнопке задаем Caption - Старт и обработчик:
procedure TForm1.Button1Click(Sender: TObject);
begin
Animate1.Active := true;
end;
Второй сверху кнопке задаем Caption - Стоп и обработчик:
procedure TForm1.Button1Click(Sender: TObject);
begin
Animate1.Active := False;
end;
Для второго компонента Animate свойство CommonAVI задаем - aviFindFolder. Для второй с низу кнопки Caption - Старт и обработчик:
procedure TForm1.Button3Click(Sender: TObject);
begin
Animate2.Play(1,Animate2.FrameCount,0);
end;
Для самой нижней кнопки Caption - Стоп и обработчик:
procedure TForm1.Button3Click(Sender: TObject);
begin
Animate2.Stop;
end;
Компонент MediaPlayer (мультимедийный проигрыватель)
Компонент Delphi MediaPlayer (мультимедийный проигрыватель) (вкладка System) предназначен для проигрывания аудио- и видео- файлов.
Интерфейс мультимедийного проигрывателя
(на рисунке) содержит кнопки,
напоминающие кнопки музыкальных центров.
Ими можно управлять посредством мыши
или клавишами со стрелками и клавишей
пробела.
Компонент MediaPlayer имеет следующие кнопки, перечислим их слева на право:
Воспроизведение (Play),
Пауза (Pause);
Стоп, остановка (Stop);
переход к следующему клипу, дорожке (Next);
переход к предыдущему клипу, дорожке (Prev);
переход на несколько фрагментов вперед (Step);
переход на несколько фрагментов назад (Back);
режим записи (Record);
извлечение диска (Eject).
СвойствоVisibleButtons отвечает за видимость кнопок на компоненте. По умолчанию все кнопки видимы. Проще всего установить набор видимых кнопок в Инспекторе объектов. Но можно сделать так, чтобы установки задавались программно (задаем видимость кнопок воспроизведение и остановки):
MediaPlayer1.VisibleButtons := [btPlay, btStop];
Установив компонент, мы имеем дело с цветными кнопками, но если нам больше нравится серый цвет, то необходимо в свойстве ColoredButtons определить для каких кнопок нужен серый цвет и напротив них поставить свойство FALSE.
Свойство EnabledButtons отвечает за доступность самих кнопок. Доступная кнопка имеет свой естественный цвет и может быть нажата. Запрещенная или недоступная кнопка не реагирует на нажатие, цвет ее светло-серый. При определении свойства AutoEnable в TRUE проигрыватель сам определяет автоматически доступность кнопок в зависимости от типа используемого файла. И программисту останется возможность управлять доступностью тех кнопок, которые не заблокированы.
Компонент MediaPlayer, проигрывая какой либо клип или фонограмму, связан с файлом, который расположен на внешнем носителе или же на жестком диске. Свойство FileName задает имя файла, который необходимо открыть для записи или воспроизведения.
Для того чтобы, запустить проигрыватель нужно воспользоватся методом Open или установить значение свойства AutoOpen TRUE.
Р
асположим
на форме компоненты Panel и MediaPlayer.
Примерно как показано слева.
Зададим свойство FileName - C:\Program Files\Borland\Delphi7\Demos\ CoolStuf\speedis.avi (этот файл автоматически устанавливается со средой Delphi). AutoOpen в TRUE. Свойство Display, определяет, куда будет выводиться изображение, - выберем Panel1, если ничего не выбрать, то Delphi сама создаст экран для проигрывания. Запустим приложение, теперь, нажав на кнопку Play, мы можем просмотреть клип.