- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №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
Запустите C++ Builder.
Сохраните новый проект в отдельно созданной папке.
Присвойте основной форме заголовок, в качестве имени которого используйте название дисциплины, номер работы и варианта и свою фамилию. Установите для формы ограничения изменения размеров согласно варианту. Для этого используйте свойства MaxHeight, MaxWidth и MinHeight, MinWidth. Установите позицию показа формы по центру экрана.
Поместите на форму кнопку Button. Для кнопки поменяйте заголовок (свойство Caption) на «Проверка». Добавьте обработчик события нажатия кнопки мыши OnMouseDown. В обработчике задайте следующие условие, если нажата левая кнопка мыши, то вывести сообщение функцией ShowMessage(): «Нажата левая кнопка мыши». Аналогичные сообщения должны появиться и для нажатия правой и средней кнопок: «Нажата правая кнопка мыши», «Нажата средняя кнопка мыши». Для проверки условия проверяйте значение переменной Button типа TMouseButton.
Поместите на форму кнопку Button. Задайте для неё заголовок «Перемещение» (свойство Caption). Кнопку можно перетаскивать по форме в процессе выполнения программы. Для этого добавить обработчик перемещения курсора мыши для Button OnMouseMove. В обработчике задать изменения координат кнопки от перемещения (свойства Left и Top). При этом перемещение кнопки должно быть разрешено только при зажатой левой кнопки мыши. Для этого в обработчике OnMouseMove сделать проверку переменной Shift, которая должна содержать флаг ssLeft.
Поместите на форму кнопку Button, заголовок которой установите в «Таймер» (свойство Caption). Для кнопки должно выводиться сообщение о времени, в течение которого была зажата кнопка мыши над компонентом.
Поместите на форму компонент Memo из вкладки Standart визуальных компонентов. Установите для Memo вертикальную полосу прокрутки, установите положение Memo на форме в состояние в соответствии с вариантом. В редакторе компонента Memo очистите содержимое строк. Создайте обработчик для текстового поля Memo OnKeyDown, в котором нужно определять нажатие функциональных клавиш, используя виртуальные коды VK_F1…VK_10. Для выбора нужной клавиши используйте конструкцию switch case. Название нажатой функциональной клавиши выводите в специальную помещённую на форму метку Label из вкладки Standard, в свойство Caption. Например: "Нажата клавиша: F1".
Для Memo добавьте обработчик печати символа OnKeyPress, в котором требуется определить в каком регистре: верхнем или нижнем напечатан символ. Результат должен выводиться специальную помещённую на форму метку Label из вкладки Standard, в свойство Caption: «Символ напечатан в верхнем регистре» или «Символ напечатан в нижнем регистре». Для определения, в каком регистре напечатан символ используйте функции islower и isupper для латинских букв.
Для формы добавьте обработчик OnShortCut, в котором добавьте оператор закрытия формы (Form1->Close();), если нажата клавиша Esc.
Поместите на форму компонент Statusbar из вкладки Win32 визуальных компонентов. Откройте редактор компонента и добавьте четыре панели (рисунок 1.6). Для нулевой и второй панелей задайте в инспекторе объекта свойство Text «Ширина формы» и «Высота формы» соответственно. Для отображения текста установите ширину панели 100 (свойство Width). Добавьте для формы обработчики создания формы OnCreate и изменения размеров формы OnResize. В которых должны выводится в строку состояния StatusBar1 размеры формы.
Для компонентов, помещённых на форму для которых доступен обработчик получения фокуса ввода OnEnter, задайте последовательность смены фокуса ввода при нажатии клавиши Tab. Для этого в строке состояния StatusBar добавьте ещё одну дополнительную панель, в которой будет указано какому компоненту принадлежит фокус ввода в данный момент.
Сохраните приложение и покажите преподавателю на проверку.
