- •Содержание
- •Введение
- •Лабораторная работа № 13 Создание простых форм. Программирование кнопок
- •Теоретические сведения Назначение и состав окон для визуальной разработки по в Delphi 7
- •Объект tForm(форма)
- •Объект tLabel (текстовое поле)
- •Объект tButton (кнопка)
- •Преобразование типов
- •Метод установления фокуса
- •Порядок выполнения работы
- •Варианты
- •Контрольные вопросы
- •Лабораторная работа № 14 Интерактивный ввод и вывод. Обработка исключительных ситуаций
- •Теоретические сведения Компонент tEdit (поле редактирования)
- •Компонент tRadioButton (переключатель)
- •Пример 14.1. При нажатии на кнопки «Ответ» в окне появляется строка, соответствующая выбранному переключателю (рис. 14.1)
- •Обработка события, вызванного нажатием на кнопку, имеет такой вид:
- •Процедуры и функции, реализующие диалоговые окна
- •Обработчики исключений
- •Пример 14.2. Вычислить значение функции . Экранная форма программы показана на рис. 14.5.
- •Порядок выполнения работы
- •Варианты
- •Контрольные вопросы
- •Лабораторная работа № 15 Программирование циклов. Компоненты: флажок, группа компонентов, главное меню, контекстное меню, список действий, область просмотра
- •Теоретические сведения Компонент tMemo (область просмотра)
- •Пример 15.1. В многострочный редактор при нажатии кнопки выводятся номера строк. Экранная форма программы показана на рис. 15.1.
- •Компонент tCheckBox (флажок)
- •Пример 15.2. Флажками отмечаются используемые кредитные карточки и по нажатию кнопки в многострочный редактор выводятся эти названия. Экранная форма программы показана на рис. 15.2.
- •Панель tGroupBox (группы компонентов)
- •Пример 15.3. С помощью флажков выбирают продукты из списка и по нажатию кнопки в многострочный редактор выводятся эти названия. Экранная форма программы показана на рис. 15.3.
- •Список действий (tActionList)
- •Главное меню (tMainMenu)
- •Пример 15.5. Создан простой редактор содержащий меню. Экранная форма программы показана на рис. 15.7.
- •Обработка событий выбора пунктов меню имеет вид
- •Всплывающее меню (tPopupMenu)
- •Обработка событий выбора пунктов меню аналогична примеру 15.5 и имеет вид
- •Варианты
- •Контрольные вопросы
- •Лабораторная работа № 16Обработка динамических массивов данных. КомпонентTStringGrid(Таблица строк)
- •Теоретические сведения Компонент tStringGrid (таблица строк)
- •Implementation
- •Порядок выполнения работы
- •Варианты
- •Контрольные вопросы
- •Лабораторная работа № 17Работа с объектами. Инкапсуляция. Наследование. Полиморфизм. Создание заставки
- •Теоретические сведения Понятие класса и объекта
- •Инкапсуляция и свойства объекта
- •Наследование
- •Полиморфизм и виртуальныеметоды
- •Директивы, используемые при объявлении класса
- •Порядок выполнения работы
- •Варианты
- •Контрольные вопросы
- •Лабораторная работа № 18Компоненты для работы с файлами и каталогами
- •Теоретические сведения Компоненты для работы с файлами и каталогами
- •Выбор дисковода
- •Просмотр и перемещение по дереву каталогов
- •Просмотр списка и выбор имени файла
- •Выбор маски для списка файлов
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 19Создание многооконных приложений (mdi). Строка Состояний
- •Теоретические сведения Компонент tStatusBar(строка состояний)
- •Многооконные приложения
- •Порядок выполнения работы
- •Варианты
- •Контрольные вопросы
- •Лабораторная работа № 20КомпонентTChart для Построение диаграмм различных типов. Создание библиотек динамической компоновки (Dll). Статическое подключение Dll
- •Теоретические сведения Компонент tChart (диаграмма)
- •Пример 20. 1. Построить график функции с шагом 0.1 в интервале [-5;5]. Экранная форма программы показана на рис. 20.2. Приведем фрагмент кода программы с обработкой основных событий:
- •Implementation
- •Создание библиотеки динамической компоновки (dll)
- •Пример 20. 2. Создать библиотеку содержащую функции сложения целых и вещественных чисел, а также строк. Код библиотеки имеет вид
- •Статический вызов библиотеки
- •Пример 20.3. Используем статически функции, описанные в библиотеке (см. Пример 20.2). Экранная форма программы показана на рис. 20.5. Фрагмент кода с использованием функций из библиотеки:
- •Implementation
- •Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 21Использование форм в библиотеках динамической компоновки (Dll). Динамическое подключение Dll.
- •Теоретические сведения Динамический вызов библиотеки
- •Implementation
- •Использование форм в библиотеках
- •Порядок выполнения работы
- •Варианты
- •Контрольные вопросы
- •Домашнее задание № 6Компоненты: Поля редактирования, группа переключателей. Обработка событий клавиатуры
- •Теоретические сведения Компонент группа переключателей (tRadioGroup)
- •События клавиатуры
- •Порядок выполнения работы
- •Варианты:
- •Контрольные вопросы
- •Домашнее задание № 7Создание Справочного файла
- •Теоретические сведения Создание справочной системы
- •Порядок выполнения работы
- •Контрольные вопросы
- •Библиографический список
Контрольные вопросы
Особенности создания компонентов пользователя.
Добавление новых свойств к базовым компонентам.
Особенности инсталляции компонента пользователя.
Домашнее задание № 6Компоненты: Поля редактирования, группа переключателей. Обработка событий клавиатуры
Цель работы: изучение компонентов TRadioGroup и их основных свойств, обработка событий клавиатуры.
Теоретические сведения Компонент группа переключателей (tRadioGroup)
Компонент TRadioGroup используют для создания группы переключателей. Когда пользователь устанавливает один из переключателей группы, все остальные автоматически снимаются. Таким образом, какие-либо два переключателя, размещенные на форме, могут быть установлены одновременно, только тогда, когда они расположены в разных группах.
Группа переключателей помещается в форму с использованием кнопки на стандартной панели инструментов. Некоторые свойства группы переключателей приведены в табл. 6.1.
Таблица 6.1. Свойства TRadioGroup
Свойство |
Описание свойства |
Примеры значений |
Items |
Заголовки отдельных переключателей. Каждый переключатель вводится в отдельной строке и ему автоматически присваивается номер, начиная с 0 |
«Покупка» (произвольный ряд символов) |
ItemIndex |
Номер переключателя включенного в данный момент |
0 (число, номер переключателя) |
Colums |
Способ расположения переключателей на экране – в одном столбце или нескольких |
1 (число колонок) |
Пример 6.1. Создадим программу, в которой при выборе соответствующего возраста и нажатии кнопки «Ответ» в окно редактирования выводится соответствующий комментарий. Экранная форма основной программы показана на рис. 6.1. Приведем фрагмент кода программы, обрабатывающей событие при нажатии кнопки «Ответ»:
procedure TForm1.Button1Click(Sender: TObject);
begin
with Edit1 do
case RadioGroup1.ItemIndex of
0: text:='Ваш возраст до 20 лет';
1: text:='Ваш возраст от 21 до 30 лет';
2: text:='Ваш возраст от 31 до 40 лет';
3: text:='Ваш возраст от 41 до 50 лет';
4: text:='Ваш возраст от 51 до 60 лет';
5: text:='Ваш возраст после 60 лет';
end;
end;
Рис. 6.1. Экранная форма примера 6.1
События клавиатуры
В оконных компонентах Delphi определены события, связанные с клавиатурой и представленные в табл. П.6.2.
Пример 6.2. Создадим программу, в которой в окно редактирования пользователю разрешается вводить только целые числа без знака, разделенные запятыми и пробелами. Экранная форма основной программы изображена на рис. 6.2. Приведем фрагмент кода программы, обрабатывающей событие ввода данных в поле редактирования:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',' ',',']) then
key:=#0;
end;
Рис. 6.2. Экранная форма примера 6.2
Таблица П.6.2. События, связанные с клавиатурой
Событие |
Описание |
OnKeyDown |
Событие наступает при нажатии пользователем любой клавиши. Можно распознать нажатые клавиши, включая функциональные, и кнопки мыши, но нельзя распознать символ нажатой клавиши |
OnKeyPress |
Событие наступает при преобразовании нажатой пользователем клавиши в символ. Можно распознать только символ, различить символ в верхнем или нижнем регистре, а также различить буквы кириллицы и латиницы, но нельзя распознать функциональные клавиши и кнопки мыши. |
OnKeyUp |
Событие наступает при отпускании пользователем любой клавиши. Можно распознать нажатые клавиши, включая функциональные, и кнопки мыши, но нельзя распознать символ отпускаемой клавиши |