Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 Практический раздел.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
5.18 Mб
Скачать

Лабораторная работа №22

Тема: Использование компонентов для визуализации полей текущей записи

Цель работы: Изучить использование компонента для визуализации данных и полей текущей записи при разработке приложений в Delphi.

Время работы: 2 учебных часа.

Правила по ТБ: Общие.

Оборудование рабочего места: Практикум, ПК.

Программное обеспечение: Windows, MS Office, Delphi

Вопросы входного контроля:

    1. Дайте определение понятию БД.

  1. Расскажите, что вы знаете о компоненте Table, и для чего он используется.

  2. Расскажите, что вы знаете о компоненте Query, и для чего он используется.

  3. Приведите пример использования Query и Table.

  4. Расскажите, какие невизуальные компоненты доступа к БД вы знаете.

  5. Расскажите, какие визуальные компоненты доступа к БД вы знаете.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Компоненты Delphi, обеспечивающие доступ к БД

Имеются несколько основных компонентов (объектов), которые используют постоянно для доступа к БД. Эти объекты могут быть разделены на три группы:

  • 1.Невизуальные: Table, Query, TDataSet, TField

  • 2.Визуальные: DBGrid, DBNavigator, DBEdit, DBMemo.

  • 3. Связующие: TDataSource

Первая группа включает невизуальные классы, которые используются для управления таблицами и запросами. Эта группа сосредотачивается вокруг компонент типа Table, Query, и классами TDataSet и TField. В Палитре компонент они расположены на странице Data Access и BDE.

Вторая группа классов - визуальные, которые показывают данные пользователю, и позволяют ему просматривать и модифицировать их. Эта группа классов включает компоненты типа DBGrid, DBNavigator, DBEdit, DBMemo, DBImage и DBComboBox. В Палитре Компонентов они расположены на странице Data Controls.

Имеется и третий тип классов, который используется для того, чтобы связать предыдущие два типа объектов. К 3 типу относится только невизуальный компонент DataSource.

При организации работы с БД следует иметь в виду определенный порядок связи между этими компонентами и БД:

БД <-> BDE <-> Невизуальный компонент <-> Связующий компонент <-> Визуальный компонент

Рисунок 1 – Компонент DBGrid

Компонент DBGrid обеспечивает представление базы данных в виде таблицы. Свойства компонента DBGrid определяют вид таблицы и действия, которые могут быть выполнены над данными во время работы программы. Для того чтобы задать, какая информация будет отображена в таблице во время работы программы, нужно сначала определить источник данных для таблицы (установить значение свойства DataSource), затем — установить значения уточняющих параметров свойства Columns.

Свойства компонента DBGrid

  • Name Имя компонента

  • DataSource Источник отображаемых в таблице данных

  • Columns Отображаемую в таблице информацию

  • Options = dgTitles Разрешает вывод строки заголовка столбцов

  • Options = dgIndicator Разрешает вывод колонки индикатора. Во время работы с базой данных текущая запись помечается в колонке индикатора треугольником, новая запись — звездочкой, редактируемая — спец. знаком

  • Options = dgColumnResize Разрешает менять во время работы программы ширину колонок таблицы

  • Options = dgColLines Разрешает выводить линии, разделяющие колонки таблицы

  • Options = dgRowLines Разрешает выводить линии, разделяющие строки таблицы

Чтобы установить значение свойства Columns, надо в окне Object Inspector выбрать это свойство и щелкнуть на кнопке с тремя точками. В результате открывается окно редактора колонок

Для того чтобы в компонент DBGrid добавить колонку, обеспечивающую просмотр содержимого поля записи файла данных, необходимо нажать кнопку Add New, находящуюся на панели инструментов в верхней части окна (это единственная доступная после запуска редактора кнопка), выделить добавленный элемент и, используя Object Inspector, установить значения свойств этой колонки . Свойство columns компонента DBGrid представляет собой массив компонентов типа TCoiumn. Каждой колонке соответствует элемент массива. Устанавливая значения свойств компонентов column, программист задает вид колонок компонента DBGrid и определяет вид всей таблицы.

Свойства объекта column

FieldName Поле записи, содержимое которого выводится в колонке

Width Ширина колонки в пикселах

Font Шрифт, используемый для вывода текста

Color Цвет фона колонки

Alignment Способ выравнивания текста. Текст может быть выровнен по левому краю (taLeftJustify), по центру (taCenter) или по правому (taRight Justify)

Title. Caption Заголовок колонки. Значением по умолчанию является имя поля записи

Title .Alignment Способ выравнивания заголовка. По левому краю (taLeftJustify), по центру (taCenter), по правому краю (taRight Justify)

Title. Color Цвет фона заголовка колонки

Title. Font Шрифт заголовка колонки

Рисунок 2 – Компонент DB Navigator

Внешний вид компонента представляет собой сроку управляющих кнопок:

Назначение управляющих кнопок

Можно прямо связать каждую кнопку компонента с методами класса TDataSet.

Некоторые компоненты визуализации данных.

Компонент DBGrid имеет свойство Columns, представляющее собой набор объектов, каждый из которых отражает один столбец таблицы. При выделении этого свойства появляется кнопка, при нажатии на которую открывается окно Редактора Столбцов. Добавлять столбцы в Редактора Столбцов можно по одному, щелкая на первой слева кнопке Add и указывая для них в Инспекторе Объектов соответствующие поля в свойстве FieldName (или выбирая в контекстном меню раздел Add). А можно выбрать все столбцы сразу, выбрав в контекстном меню раздел Add All Fields или щелкнув на второй кнопке справа. 

Для выделенного столбца в Инспекторе Объектов отметим следующие свойства:

ButtonStyle – определяет стиль ввода данных в поле текущей записи, может принимать следующие значения:

cbsAuto

Появление при редактировании кнопки, связанной с выпадающим списком допустимых значений

cbsEllipsis

Появление при редактировании кнопки с многоточием …, при щелчке на которой возникает событие OnEditButtonClick компонента DBGrid, в котором можно предусмотреть выбор соответствующего значения. Какое именно поле редактируется в обработчике OnEditButtonClick можно узнать по свойству SelectedField компонента DBGrid. Через это же свойство в поле заносится установленное пользователем значение.

cbsNone

Обычное редактирование без каких-либо кнопок

PickList – список допустимых значений поля (для столбца Dep можно занести «Бухгалтерия», «Цех 1», «Цех 2»; а для столбца Sex – «м», «ж».). Если список PickList не заполнен, то никакой кнопки при редактировании не появляется.

DropDownRows (по умолчанию 7) – определяет допустимое число строк в списке, отображаемое без появления полос прокрутки. Если реальное число строк меньше, размер списка устанавливается автоматически.

Обзор компонентов отображения данных со страницы Data Control:

DBText

аналог обычной метки Label, но связанный сданными. Позволяет отображать данные некоторого поля, но не дает возможности его редактировать. Тип отображаемого поля может быть различным: строка, число, булева величина. Компонент автоматически переводит соответствующие типы в отображаеме символы.

DBEdit

связанный с данными аналог обычного окна редактирования Edit. Позволяет отображать и редактировать данные полей различных типов: строка, число, булева величина. Если задать в компоненте свойство ReadOnly=true, то он превратиться в элемент отображения, как и DBText

DBMemo

связанный с данными аналог обычного многострочного редактора Memo. Позволяет отображать и редактировать данные поля типа Memo, а также данные любых типов, указанных выше для предыдущих компонентов.

DBRichEdit

связанный с данными аналог обычного многострочного окна редактирования текста в обогащенном формате RTF, область применения та же, что и для компонента DBMemo. 

DBImage

связанный с данными аналог обычного компонента Image. Компонент позволяет отображать графические поля, например фоторгафии сотрудников.

DBCheckBox

связанный с данными аналог обычного индикатора CheckBox. Позволяет отображать и редактировать данные поля булевского типа. Если при выводе ланных поле имеет значение True, то индикатор включсется. И наоборот, при редактировании поля присваиваемое ему значение определяется состоянием индикатора.

DBRadioGroup

связанный с данными аналог группы радиокнопок RadioGroup. Позволяет отображать и редактировать поля с ограниченным множеством возможных значений. В нашеи примере это может относится к полю Dep.!!!

Все перечисленные компоненты имеют свойства DataSource – источник данных (компонент типа TDataSource) и DataField – поле, с которым связан компонент.

Для всех этих компонентов в Инспекторе Объектов отсутствуют основные свойства, отображающие содержание: Caption, Text, Image и т.п. Все эти свойства доступны в компонентах только во время выполнения. Эти свойства – это значения соответствующих полей таблицы базы данных.

СОДЕРЖАНИЕ И ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

    1. Изучить теоретические сведения.

  1. Создать новый проект.

  2. Поместить на форму основные компоненты подключения БД – Table, DataSource, DBGrid, DBNavigator.

  3. Добавить на форму компоненты визуализации данных: DBText, DBEdit, DBMemo и др.

  4. Подключить базу данных и связать компоненты визуализации данных.

  5. Проверить работоспособность подключения.

  6. Написать код программы с использованием компонентов визуализации (извлечение данных из таблицы, просмотр информации в таблице и т.д.).

  7. Проверить работу всего проекта.

  8. Продемонстрировать преподавателю работу разработанного образца проекта.

  9. Получить от преподавателя индивидуальное задание и создать проект (по аналогии) для выполнения индивидуального задания.

  10. Подготовиться к защите лабораторной работы, которая включает в себя демонстрацию индивидуального варианта, защиту по контрольным вопросам теоретической части работы.

Вопросы выходного контроля:

    1. Расскажите, какие компоненты доступа к базам данных вы использовали в своей работе.

  1. Назовите отличие визуальных от невизуальных компонентов доступа к БД.

  2. Перечислите наиболее часто используемые компоненты для работы с БД.

  3. Расскажите, как подключать компоненты DBEdit, DBText и т.д.

  4. Назовите сходства и отличий при работе с компонентами визуализации данных и обычными.