- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №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
- •Контрольные вопросы
Контрольные вопросы
Какая панель используется для создания кнопочного меню?
Как на панель ToolBar заносятся кнопки?
Как оформить кнопки на панели ToolBar?
Как разместиьт подсказки к кнопкам на панели ToolBar?
Как сделать кнопки на панели ToolBar видимыми или невидимыми?
Практическая работа №18
Тема: «Использование меню в приложениях».
Цель работы: Научиться использовать меню в приложениях.
Время выполнения: подготовка – 5 мин; выполнение – 255 мин.; проверка – 10 мин; всего – 270 мин.
Теоретические сведения Компонент MainMenu - главное меню
MainMenu, расположеный на странице Standard, это невизуальный компонент, т.е. место его размещения на форме в процессе проектирования не имеет никакого значения для пользователя - он все равно увидит не сам компонент, а только меню, сгенерированное им.
Основное свойство компонента - Items. Его заполнение производится с помощью Конструктора Меню, вызываемого двойным щелчком на компоненте MainMenu или нажатием кнопки с многоточием рядом со свойством Items в окне Инспектора Объектов. В результате откроется окно. В этом окне вы можете спроектировать меню.
Можно создавать меню двух основных видов: главное и контекстное. Главное меню принадлежит форме и отображается под ее заголовком. Контекстное[15] меню может быть предусмотрено для самой формы и других ее объектов (которые соответствуют управляющим элементам Windows, имеющим свойство PopupMenu). Оно появляется при щелчке правой кнопки мыши на соответствующем объекте.
Редактор меню позволяет легко вставлять меню в форму. Пункты меню добавляются, изменяются или удаляются также в окне редактора[16]. Меню на форме всегда видимы, поэтому для их тестирования приложение запускать не требуется.
Принципы работы с меню очень просты. Каждому пункту меню соответствует свой объект класса TMenuItem. При выборе пункта пользователем инициализируется событие соответствующего компонента onclick и вызывается его обработчик. Имена пунктам присваиваются по умолчанию в порядке создания (свойство Name). Текст пункта соответствует свойству Caption. Если в тексте имеется символ ‘&’, то следующий за ним символ является акселератором (горячей клавишей). Например, меню &Edit допускает активизацию при нажатии Alt+E. Если в качестве значения Caption введен только один символ ‘-’, то этот пункт служит разделителем.
Чтобы контекстное меню привязать к какому-либо объекту, следует значению его свойства PopupMenu присвоить имя меню. Если меню уже созданы, имя может быть выбрано из списка. Таким образом, одно и то же меню может быть связано с несколькими объектами. Какой из них вызвал меню, программа может определить во время выполнения, путем анализа значения свойства PopupComponent. Это удобно сделать в обработчике события OnPopup, возникающего перед каждым показом всплывающего меню на экране. Для программного обращения к меню в определенном месте программы следует вызвать метод Popup(int X, int Y), где X, Y – координаты левого верхнего угла панели меню.
Обработчики пунктов меню создаются и удаляются точно так же, как и для любых других компонентов. Если для некоторого пункта подходит уже имеющийся обработчик, то можно не повторять один и тот же код, а просто связать[17] пункт с таким обработчиком.
Если для команды меню задано значение свойству ShortCut, то код командной клавиши автоматически добавляется к ее названию. Для добавления в подменю вложенного подменю следует использовать соответствующую команду контекстного меню, активизируемого нажатием правой кнопки мыши. Если выполнение команды должно приводить к отображению модального диалога, то ее название следует заканчивать многоточием (…).
