- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №1
- •Теоретическая часть
- •Пример выполнения задания
- •Задание:
- •Спецификация программы:
- •Постановка задачи:
- •Блок-схема алгоритма программы
- •Варианты заданий
- •Контрольные вопросы
- •Практическая работа №2
- •Теоретическая часть
- •Методы стратегии ‘белого ящика’
- •Метод покрытия операторов
- •Метод покрытия решений (покрытия переходов)
- •1.3 Метод покрытия условий
- •1.4 Критерий решений (условий)
- •1.5 Метод комбинаторного покрытия условий
- •Порядок выполнения практической работы
- •Контрольные вопросы
- •Практическая работа №3
- •Теоретические часть
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №6
- •Описание практической работы Теоретические сведения
- •Операторы обнаружения и обработки исключений
- •Задание 1
- •Задание 2
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №8
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Методы компонента tMemo
- •Задание 1
- •Задание 2
- •Задание 3
- •Контрольные вопросы
- •Практическая работа №10
- •Теоретическая часть
- •Класс Tstrings
- •Задание 1
- •Задание 2
- •Задание 3
- •Основные свойства компонента StringGrid
- •Описание лабораторной работы Задани 1
- •Задание 2
- •Задание 1
- •Контрольные вопросы
- •Практическая работа №13
- •Теоретическая часть
- •Описание лабораторной работы
- •Контрольные вопросы
- •Практическая работа №14
- •Теоретическая часть RadioGroup, RadioButton и GroupBox - группы радиокнопок
- •Свойства компонента CheckBox
- •Свойства компонента RadioButton
- •Button и BitBtn - управляющие кнопки
- •Свойства компонента BitBtn
- •Задание 1
- •Свойства компонента SpeedButton
- •Компонент UpDown
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Задание 3
- •TrackBar и ScrollBar - ползунки и полосы прокрутки
- •Контрольные вопросы
- •Практическая работа №15
- •Теоретические сведения
- •Описание лабораторной работы Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Панели общего назначения — компоненты Panel, GroupBox, Bevel, Splitter
- •Задание 1
- •Задание 2
- •Компонент PageControl
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Практическая работа №17
- •Теоретические сведения
- •Описание практическая работы Задание 1
- •Контрольные вопросы
- •Практическая работа №18
- •Теоретические сведения Компонент MainMenu - главное меню
- •Описание лабораторной работы Задание 1
- •Контрольные вопросы
- •Практическая работа №19
- •Теоретические сведения Стандартные диалоги и их фрагменты
- •Задание 1
- •Задание 2
- •Задание 3
- •Контрольные вопросы
- •Практическая работа №20
- •Теоретические сведения
- •I способ
- •II способ
- •Свойства компонента TreeViewl
- •Задание
- •Контрольные вопросы
- •Практическая работа №21
- •Теоретические сведения Компонент tImage
- •Задание 1
- •Ход выполнения
- •Задание 2
- •Ход выполнения
- •Задание 3
- •Задание 4
- •Задание 1
- •Задание 3
- •Задание 4
- •Контрольные вопросы
- •Практическая работа №23
- •Теоретические сведения
- •Практическая работа №24
- •Теоретические сведения Компонент построения графиков и диаграмм Chart
- •Свойства компонента Chart
- •Задание 1
- •Задание 2
- •Контрольные вопросы
- •Практическая работа №25
- •Прием перетаскиваемых объектов
- •Задание 1
- •Контрольные вопросы
Задание 1
Создадим простейшую программу, позволяющую просматривать файлы изображений.
Разместите компонент Image1 на форме Form1 так чтобы его размеры были примерно равны размерам формы. Для открытия файлов изображений понадобится компонент OpenPictureDialog (Окно для выбора графического файла), который находится во вкладке Dialogs (Окна общего диалога).
Для стартовой формы Form1 его свойству WindowState (Статус окна) установите значение wsMaximized (Максимальное). Свойству AutoSize (Авторазмер) компонента Image1 установите значение true. Теперь размеры компонента Image1 будут автоматически выравниваться в соответствии с размерами просматриваемого изображения.
В заголовок стартовой формы поместите надпись «Просмотр картинок». Напишите функцию обработки Image1Click:
//вызов окна диалога ОТКРЫТИЕ ГРАФИЧЕСКИХ ФАЙЛОВ
OpenPictureDialog1->Execute();
//поместить в поле Image1 загруженный с диска файл
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
Вторая инструкция записана в двух строках. Эта инструкция в поле компонента Image1 с помощью его свойства Picture (Изображение) размещает графический файл, загруженный с диска посредством функции LoadFromFile (Загрузить файл по указанному пути), которая в круглых скобках должна содержать путь и имя файла. В нашем случае путь загружаемого файла и его имя передаются из окна диалога «Открытие графических файлов» посредством свойства FileName (Путь и имя файла).
Запустите приложение на выполнение и проверьте его пригодность для просмотра изображений.
Построенное приложение не позволяет просматривать очень распространенные графические файлы форматов JPG и JPEG. Графические файлы указанных форматов являются многократно сжатыми, а потому часто используются при хранении большого количества графической информации. Также формат JPG применяется для сжатия растровых изображений получаемых в матрице цифровой фотокамеры. Такое преобразование происходит непосредственно в фотокамере для экономии ее памяти. Чтобы избавить приложение от этого недостатка, нужно в заголовочной части файла Unit1.cpp записать директиву #include <jpeg.hpp>, которая обеспечит возможность работы в вашем приложении с графическими файлами форматов JPG и JPEG.
Просматриваемое изображение располагается в верхнем левом углу формы. Для автоматической центровки изображения на форме в эту же функцию обработки Image1Click нужно дописать две инструкции:
//перемещение изображения в центр формы
Image1->Left=Form1->ClientWidth/2-Image1->Width/2;
Image1->Top=Form1->ClientHeight/2-Image1->Height/2;
Обратите внимание на то, что эта добавка в программном коде обязательно должна располагаться ниже уже написанных ранее инструкций, так как сначала надо поместить изображение в поле компонента Image, а уж за тем сместить его в нужное место на форме.
А вот свойства формы ClientWidth (Полезная ширина) и ClientHeight (Полезная высота) определяют площадь поверхности окна для размещения в нем других компонентов. Первая инструкция вычисляет координату левого края компонента Image так, что из половины ширины формы вычитается половина ширины компонента Image. Таким образом, осуществляется центровка изображения по горизонтали. Аналогично работает вторая инструкция, выполняя центровку изображения по вертикали.
В заголовок формы поместите путь и имя загружаемого файла изображения, добавив строку:
//в заголовок формы поместить информацию о пути и имени файла
Form1->Caption = OpenPictureDialog1->FileName;
Настройте окно общего диалога «Выбор графического файла» по вашему усмотрению, воспользовавшись его набором свойств. Например, свойству Title (Название) компонента OpenPictureDialog1 можно установить значение «Выбери картинку». Поэкспериментируйте с другими свойствами этого компонента, в том числе с его составными свойствами.
