- •Содержание
- •Введение
- •Лабораторная работа № 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Создание Справочного файла
- •Теоретические сведения Создание справочной системы
- •Порядок выполнения работы
- •Контрольные вопросы
- •Библиографический список
Порядок выполнения работы
Ввиду невозможности полноценной отладки при разработке компонентов, рекомендуется создать обычное приложение, код которого максимально приближен к заданию.
Создать проект пакета (package) и настроить проект для сохранения результатов компиляции в текущем каталоге (по умолчанию результаты компиляции сохраняются в системном каталоге, который может быть защищен от записи)
Разработать компонент (обязательно со своими свойствами и событиями соответствующие заданию и с учетом наработок по п.1) путем модификации стандартных компонентов и/или объединения нескольких стандартных компонентов в один. Выполнить его установку в среде разработки Delphi.
Разработать приложение для тестирования созданного компонента.
Варианты
Переключатель, состоящий из двух кнопок (TButton). При нажатии на одну кнопку происходит ее фиксация в нажатом состоянии до нажатия на вторую
Таймер с задаваемым количеством срабатываний. Реализовать события как на каждое, так и на последнее срабатывания.
Два ползунка (TTrackBar) для выбора минимальной и максимальной границы с контролем Min <= Max. Реализовать события изменяющие минимальное и максимальное значения.
Разработать аналог TSpinEdit чисел с плавающей точкой.
Разработать TLabel с автоматическим отображением текущего времени.
Двухцветный индикатор, аналог TProgressBar с использованием второго цвета для отображения уровня больше заданного (этот компонент удобнее создать на базе TPanel).
Расширить функциональность TEdit для ввода чисел с плавающей точкой и цветовой индикацией корректных и ошибочных значений.
Аналог TSpinEdit с днями недели в качестве значений.
Группа, состоящая из семи TCheckBox (по аналогии с TRadioGroup), где каждый элемент используется для представления и выделения дней недели.
Расширить функциональность TEdit для ввода целых значений с единицами длины (мм, см, дм, м) и возвратом вещественного значения в метрах.
Комбинация TEdit и TScrollBar (аналог TSpinEdit) для ввода целых значений.
Аналог TSpinEdit с названиями месяцев в качестве значений.
Расширить функциональность TEdit для ввода вещественных чисел с дополнительным выделением цветом значений, больших максимального и меньших минимального.
Комбинация TEdit и TTrackBar (аналог TSpinEdit) для ввода целых значений.
Скомбинировать TPogressBar и TLabel для отображения состояния TPogressBar в процентах.
Кнопка с блокировкой после определенного количества нажатий.
TEdit с блокировкой ввода в случае несовпадения вводимого значения с контрольным.
Будильник, который генерирует событие в определенное время.
Расширить функциональность TEdit для отображения целых и вещественных значений, а также нечисловых значений соответствующим цветом фона.
Расширить функциональность TEdit для ввода целых значений с единицами измерения объема информации (B, kB, MB, GB) и возвратом значений в байтах. Если единицы при вводе информации не заданы, то по умолчанию считать как байты.
Группа, состоящая из двенадцати TCheckBox (по аналогии с TRadioGroup), где каждый элемент используется для представления и выделения месяцев.
Сгруппировать семь элементов TCheckBox и TEdit в один компонент. При вводе однобайтового значения преобразовать его в двоичный код и соответственно установить свойства Checked элементов TCheckBox.
Обратная задача 22. Использовав семь элементов TCheckBox, вывести в TEdit десятичное значение.
Сгруппировать не менее пяти элементов TButton в один блок переключателей с фиксацией нажатого состояния, при этом одна из кнопок должна сбрасывать нажатое состояние у всех остальных.
Сгруппировать несколько элементов TSpinEdit, где каждый из них будет отвечать за соответствующий десятичный разряд числа типа Word