- •Введение
- •Общие указания к выполнению практических работ
- •Практическая работа №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
- •Контрольные вопросы
Контрольные вопросы
На какой странице располагается компонент MainMenu?
Назовите основные свойства компонента MainMenu.
Для чего перед названием пункта меню ставится символ &?
Как ввести разделитель между пунктами меню?
Как производится вставка пунктов меню?
Как произвести перемещение пунктов меню?
Как создать подменю?
Как добавить сочетание горячих клавиш?
Для чего служит свойство WordWrap?
Практическая работа №19
Тема: «Использование стандартных диалогов в приложении».
Цель работы: Научиться использовать выпадающее меню в приложениях.
Время выполнения: подготовка – 5 мин; выполнение – 255 мин.; проверка – 10 мин; всего – 270 мин.
Теоретические сведения Стандартные диалоги и их фрагменты
Компонент |
Описание |
OpenDialog «Открыть файл» |
Предназначен для создания окна диалога «Открыть файл». |
SaveDialog «Сохранить файл» |
Предназначен для создания окна диалога «Сохранить файл как». |
OpenPictureDialog «Открыть рисунок» |
Предназначен для создания окна диалога «Открыть рисунок», открывающего графический файл. |
SavePictureDialog «Сохранить рисунок» |
Предназначен для создания окна диалога «Сохранить рисунок» — сохранение изображения в графическом файле. |
FontDialog «Шрифты» |
Предназначен для создания окна диалога «Шрифты» — выбор атрибутов шрифта. |
ColorDialog «Цвет» |
Предназначен для создания окна диалога «Цвет» — выбор цвета. |
PrintDialog «Печать» |
Предназначен для создания окна диалога «Печать». |
PrinterSetupDialog «Установка принтера» |
Предназначен для создания окна диалога «Установка принтера». |
FindDialog «Найти» |
Предназначен для создания окна диалога «Найти» — контекстный поиск в тексте. |
ReplaceDialog «Заменить» |
Предназначен для создания окна диалога «Заменить» — контекстная замена фрагментов текста. |
Windows располагает целым набором стандартных диалогов, которые могут использоваться любым приложением. В распоряжение программиста среда предоставляет компоненты, соответствующие этим диалогам; найти их можно на вкладке Dialogs. Эти компоненты относятся к невизуальным.
Применить в приложении стандартное диалоговое окно можно так: поместите в форму компонент, соответствующий диалоговому окну. На форме появится только значок объекта, содержащего свойства диалога. Само окно будет создано только при работе программы в момент вызова диалога с помощью метода Execute().
На вкладке Dialogs всего восемь компонентов: шесть из них модальные, а два – FindDialog и ReplaceDialog – нет. Метод Execute() для этих диалогов создает окно и сразу же возвращает управление программе. Окно продолжает существовать, пока его не закроет пользователь. При необходимости произвести поиск или замену в тексте, вызываются обработчики событий данных компонентов.
Для обеспечения возможности использования в приложении стандартных диалогов Windows открытия и сохранения файлов нужно поместить в форму компоненты OpenDialog и SaveDialog (страница Dialogs палитры компонентов). Основными свойствами классов TOpenDialog и TSaveDialog являются:
Filter - список названий и масок шаблонов для выводимого списка файлов текущего каталога, например: Все файлы (*.*)|*.*),
Options - параметры настройки стандартного диалога:
1) ofHideReadOnly – скрыть выключатель «только чтение»,
2) ofOverwritePrompt – выдать запрос на подтверждение попытки перезаписать существующий файл,
3) ofPathMustExist и ofFileMustExist – выдать сообщение об ошибке при попытке ввести имя несуществующего каталога или файла,
4) ofNoReadOnlyReturn – выдать сообщение об ошибке при попытке сохранить файл на защищенном от записи устройстве,
5) и др.
FileName - строка с полным именем выбранного пользователем файла (перед отображением диалога значение этого свойства используется для инициализации текстового редактора с именем файла).
Для модального выполнения стандартного диалога в классе TCommonDialog предназначен метод
bool Execute(); /* возвращает значение true, если пользователь ввел имя файла, и false, если он отказался от ввода */
Метода нужно поместить в обработчике события onclick соответствующей команды меню (например, «Открыть» или «Сохранить как»). Глобальная функция
AnsiString ExtractFileName(AnsiString);
может использоваться для выделения собственно имени файла и его расширения из полного имени файла (например, для отображения его в заголовке формы).
Пример использования: if ( OpenPictureDialog1->Execute() ) { Image1->Picture->LoadFromFile( OpenPictureDialog1->FileName ); }
Пример использования: if ( SavePictureDialog1->Execute() ) { Image1->Picture->SaveToFile( SavePictureDialog1->FileName ); } Пример использования: if( OpenDialog1->Execute() ) { Memo1->Lines->LoadFromFile( OpenDialog1->FileName ); }
Пример использования: if( SaveDialog1->Execute() ) { Memo1->Lines->SaveToFile( OpenDialog1->FileName ); }
Основной метод, которым производится обращение к любому диалогу, — Execute. Эта функция открывает диалоговое окно и, если пользователь произвел в нем какой-то выбор, то функция возвращает true. При этом в свойствах компонента-диалога запоминается выбор пользователя, который можно прочитать и использовать в дальнейших операциях. Если же пользователь в диалоге нажал кнопку Отмена или клавишу Esc, то функция Execute возвращает false.
