- •Содержание
- •Введение
- •Лабораторная работа № 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Создание Справочного файла
- •Теоретические сведения Создание справочной системы
- •Порядок выполнения работы
- •Контрольные вопросы
- •Библиографический список
Контрольные вопросы
Понятие класса, поля и метода.
Понятие инкапсуляции.
Понятие полиморфизма.
Основные принципы наследования.
Правила создания виртуальных методов.
Назначение директив используемых в описании класса.
Лабораторная работа № 18Компоненты для работы с файлами и каталогами
Цель работы: получение навыков сохранения информации в файле и считывания из файла с использованием компонентов FileListBox, DirectoryListBox, DriveComboBox, FilterComboBox.
Теоретические сведения Компоненты для работы с файлами и каталогами
Для работы с файлами и каталогами используют специальные компоненты:
FileListBox — просмотр списка и выбор имени файла;
DirectoryListBox — просмотр и перемещение по дереву каталогов;
DriveComboBox — выбор дисковода;
FilterComboBox — выбор маски для списка файлов.
С помощью этих компонентов программируют операции, связанные с навигацией по файловой системе. Обычно компоненты, связанные с файлами и каталогами, используются совместно, но при необходимости программист может применять их отдельно. На рис. 18.1 показаны связи компонентов при их совместном использовании. Кроме четырех рассмотренных компонентов, здесь изображены также элементы Label и Edit. Над соединительными линиями указаны свойства, с помощью которых устанавливается связь между компонентами (свойства принадлежат элементу, от названия которого проведена линия).
Рис. 18.1. Связи между компонентами
Выбор дисковода
Для выбора дисковода используется компонент DriveComboBox, который представляет собой комбинированный список, содержащий все установленные в системе дисковые накопители. Выбранное устройство отображается в поле компонента, а соответствующая выбранному дисководу буква содержится в свойстве Drive типа char. Значение свойства Drive также можно устанавливать программно, например
DriveComboBoxl.Drive:=’D’;
Если указанное устройство в системе отсутствует, то оператор присваивания игнорируется.
Аналогичное свойство Drive также имеется у компонентов DirectoryListBox и FileListBox. Если компоненты DriveComboBox, DirectoryListBox и FileListBox используются совместно, то после смены в элементе DriveComboBox устройства нужно соответственно изменить значение свойства Drive для двух других компонентов.
Просмотр и перемещение по дереву каталогов
Для просмотра и перемещения по дереву каталогов служит компонент DirectoryListBox, представляющий собой прямоугольную область, в которой отображается дерево каталогов с выбранным текущим каталогом. Пользователь имеет возможность перемещаться по этому дереву.
Свойство Directory типа string содержит строку, указывающую текущий каталог, который может быть выбран пользователем или установлен программно, например, через оператор присваивания
DirectoryListBoxl.Directory: =’С:\GAMES’;
Если указанный каталог отсутствует, то генерируется исключительная ситуация.
Компонент DirectoryListBox обычно связывается посредством свойства FileList типа TFiieListBox с компонентом FileListBox. В этом случае при смене каталога компонент FileListBox автоматически сформирует и отобразит новый список файлов, соответствующий выбранному каталогу.
Просмотр списка и выбор имени файла
Для просмотра списка файлов заданного каталога и выбора имени файла используется компонент FileListBox. Он представляет собой прямоугольную область, в которой отображается список файлов заданного каталога с возможностью визуального выбора файлов.
Просматриваемый каталог задает свойство Directory типа string. Чаще всего компоненты FileListBox и DirectoryListBox используются совместно и связаны свойством FileList, поэтому при смене каталога список файлов обновляется автоматически.
При выполнении программы список файлов каталога доступен благодаря свойству items типа TStrings.
При выборе пользователем файла в свойство FileName типа string заносится полное имя выбранного файла. Это свойство доступно для чтения и записи, поэтому можно программно выбрать требуемый файл, установив в качестве значения свойства FiieName имя этого файла. Например
FileListBoxl . FiieName : = ‘f ilecom.exe’;
Если указанный файл отсутствует в каталоге, то генерируется исключительная ситуация.
Управлять отображением файлов в списке можно с помощью свойств FileType и Mask. Свойство FileType типа TFiieType указывает атрибуты файлов, содержащихся в списке, и принимает комбинации следующих значений:
ftReadOnly — только для чтения;
ftHidden — скрытый;
ftSystem — системный;
ftVolumID — метка диска;
ftDirectory — каталог;
ftArchive — архивный;
ftNormal — обычный.
Эти значения соответствуют константам атрибутов файлов, определенных в модуле Sysutils. По умолчанию свойство FileType имеет значение [ftNormal], и отображаются все файлы, не имеющие специальных атрибутов.
Свойство Mask типа string содержит маску для файлов списка. По умолчанию используется маска *.* и в списке отображаются файлы с любыми именами и типами. При выполнении приложения маску для компонента FileListBox можно выбрать из одноименного свойства компонента FilterComboBox. Более удобно фильтрацию файлов осуществлять с помощью связи компонентов FileListBox и FilterComboBox посредством свойства FileList.