- •Лабораторная работа № 1 Среда программирования Delphi. Линейные алгоритмы
- •Краткие теоретические сведения
- •Графическая среда разработки Delphi
- •Компоненты
- •Обработка событий
- •Редактор кода
- •Компиляция
- •Отладка
- •Структура проекта
- •Сохранение проекта
- •Идентификаторы, операторы
- •Типы данных
- •Переменные
- •Константы
- •Выражение
- •Оператор присваивания
- •Комментарии
- •Стандартные функции
- •Ввод данных
- •Вывод результатов
- •Вывод в окно сообщения
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 2 Программирование алгоритмов разветвляющейся структуры
- •Краткие теоретические сведения
- •Условие
- •Структура ветвления
- •Компонент Memo
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 3 Операторы цикла. Создание изображений
- •Краткие теоретические сведения
- •Создание изображений
- •Класс tFont
- •Класс tPen
- •Класс tBrush
- •Компонент Image
- •Компонент Shape
- •Компонент Timer
- •Методы вычерчивания графических примитивов.
- •Порядок выполнения работы Пример1. Использования оператора цикла while
- •Пример2. Создание простейшего изображения.
- •Пример создания заставки
- •Пример 3. Создание приложения, содержащего круговую диаграмму.
- •Содержание отчета
- •Варианты заданий
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 4 Одномерные массивы. Цикл с параметром
- •Краткие теоретические сведения
- •Объявление массива
- •Цикл с параметром
- •Инициализация массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Создание меню
- •Компонент tMainMenu
- •Диалоговые панели File Open и File Save
- •Вывод в файл
- •Открытие файла для записи
- •Закрытие файла
- •Ввод из файла
- •Открытие файла для чтения
- •Чтение чисел
- •Поиск минимального (максимального) элемента массива
- •Поиск в массиве заданного элемента
- •Сортировка массива
- •Порядок выполнения работы
- •Пример 2. Разработка диалоговой программы для работы с произвольным массивом вещественных чисел.
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 5 Двумерные массивы. Вложенные циклы.
- •Краткие теоретические сведения
- •Объявление матриц
- •Инициализация двумерного массива
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 6 Функциональная и интерфейсная эмуляция формы
- •Краткие теоретические сведения
- •Компонент Image
- •Многостраничный блокнот — компоненты tTabControl и tPageControl
- •Компоненты tTreeView w tListView
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
Компонент Image
Компонент Image находится на вкладке Additional Палитры компонентов. Он используется для размещения на форме некоторой картинки.
Основные свойства компонента TImage:
Canvas – предназначается для формирования изображения на этапе выполнения программы.
Center – если свойство имеет значение Тruе, изображение выравнивается по центру компонента, в противном случае изображение помещается в левом верхнем углу компонента. По умолчанию имеет значение False.
Picture – определяет изображение, помещенное в компоненте.
Stretch – если свойство имеет значение True, изображение, определяемое свойством Picture, увеличивается или уменьшается до размеров компонента. По умолчанию имеет значение False.
При помещении изображения в компонент TImage на этапе проектирования можно использовать окно задания изображения. Это окно раскрывается при активизации компонента либо при выборе свойства Picture в Инспекторе объектов. Основное поле окна задания изображения предназначено для размещения выбранной картинки. Кроме этого, в окне имеются следующие кнопки:
Load – для загрузки изображения из файла;
Save – для записи изображения в файл;
Clear – для удаления выбранного изображения;
ОК – для записи в компонент выбранного изображения;
Cancel – для отмены введенных изменений.
Многостраничный блокнот — компоненты tTabControl и tPageControl
В Палитре компонентов имеется два элемента управления, обеспечивающих создание многостраничных блокнотов. Это компоненты TTabControl и TPageControl. Переключение между страницами осуществляется при помощи закладок. Закладки могут выглядеть как "настоящие" в бумажном блокноте, а могут быть похожи на стандартные кнопки Windows. Кстати, сама Палитра компонентов Delphi является примером использования такого элемента управления.
Компонент TTabControl отличается тем, что представляет собой как бы "виртуальный" блокнот. Это — единый объект с одной фактической страницей. При переключении закладок осуществляется вызов метода-обработчика события OnChange, соответствующий код в котором может изменить набор видимых элементов управления и создать для пользователя иллюзию "переключения страниц".
Компонент TFageControl состоит из отдельных страниц, которые можно переключать во время разработки.
Компонент TTabControl удобен, если на разных страницах у вас должны располагаться одни и те же компоненты, "начиненные" различными данными.
Второй подход необходим, если у вас действительно разные страницы с различными наборами компонентов на них. Компонент TPageControl используют для создания редакторов свойств и настроек программы
Таблица 6.1. Основные свойства, общие для TTabControl и TPageControl
Свойство |
Описание |
Tablndex
|
Задает номер текущей страницы, начиная с 0 |
TabHeight |
Задает высоту закладок в пикселах. При значении 0 высота определяется автоматически так, чтобы вместить текст |
TabWidth |
Задает ширину закладок. При значении 0 ширина определяется автоматически так, чтобы вместить текст |
Style |
Определяет стиль закладок компонента:
|
TabPosition |
Определяет расположение закладок на компоненте. Расположение, отличное от tpTop, возможно только для стиля tsTabs |
HotTrack |
При значении True названия страниц выделяются цветом при перемещении над ними указателя мыши |
Images |
Указывает на список картинок, появляющихся на закладках страниц |
RaggedRight |
При значении True ширина закладок изменяется таким образом, чтобы они не занимали всю сторону блокнота |
MultiLine |
При значении True закладки страниц могут располагаться в несколько рядов (если они не помещаются в один). При значении False в верхнем правом углу появляются кнопки, организующие прокрутку невидимых заголовков |
ScrollOpposite |
При значении True, если закладки расположены в несколько рядов, при переходе к закладке следующего ряда все остальные ряды перемещаются на противоположную сторону блокнота. Действительно только при MultiLine=True |
Свойство TabIndex, задающее номер текущей страницы, позволяет переключать страницы программно. Для компонента TTabControl это единственный способ изменить текущую страницу на этапе разработки.
В компоненте TTabControl число и заголовки страниц полностью зависят от свойства Tabs.
Компонент TPageControl, в отличие от TTabControl, для обеспечения работы создает "настоящую" страницу. Список указателей на все созданные экземпляры страниц хранится в свойстве Pages, доступном только для чтения.
Номер индекса соответствует порядковому номеру страницы. Для создания новой страницы используется команда New Page из всплывающего меню компонента, перенесенного на форму.
Общее число страниц хранится в свойстве PageCount, доступном только для чтения. Текущую страницу можно задать свойством ActivePage.
Если во время разработки или во время выполнения переключиться на другую страницу, значение свойства ActivePage изменится.
Страница может временно "исчезнуть" из блокнота, а затем опять появиться. Для этого применяется свойство TabVisible.