Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Работа с приложением




6.3.1 Общие сведения

6.3.1.1 Управление отображением данных

Работать с базой данных через приложение гораздо удобнее, поскольку сформированный пользовательский интерфейс, являясь подсказкой, значительно упрощает переход между таблицами базы и другими ее объектами, например, запросами.

В системе Delphi при работе с приложениями предусмотрены возможности управления отображением данных.

Как отмечалось ранее, ключевые поля таблиц базы данных необходимы только для установления между таблицами отношений (типов реляционных связей) и не несут информации, полезной для пользователя.

Если ключевое поле имеет тип счетчик, то пользователь не может повлиять на него, так счетчик устанавливается автоматически. Следовательно, те поля, которые имеют тип «счетчик» пользователю видеть абсолютно не обязательно. Поэтому в качественных приложениях, работающих с базами данных, при визуализации данных таблиц ключевые поля не видимы для пользователей.

Для удобства работы с приложением все компоненты доступа к базе данных целесообразно перенести в специальное отдельное окно – DataModule. Такой подход позволит не только легко управлять структурой базы данных, например, добавлять или убирать таблицы или поля, формировать и визуализировать данные таблиц или запросов, но и подключать к приложению другие базы данных. Окно DataModule можно расположить в любом удобном месте, и в случае необходимости обращения к нему, можно воспользоваться Менеджером проектов (Project Manager), дважды щёлкнув по нужной форме.

Следует отметить, что переключаться между визуальной формой и её кодом очень удобно нажатием клавиши F12.

Чтобы форма «узнала» о существовании компонентов доступа к базе данных, ей нужно указать в разделе uses модуль DataModuleUnit. Это можно сделать вручную или выбрать из меню File пункт Use Unit (в этот момент должно быть выделено окно кода главной формы). В появившемся окне нужно выбрать имя нового модуля DataModuleUnit (пока оно одно в списке) и нажать ОК. Теперь в редакторе кода после ключевого слова implementation появится uses DataModuleUnit.

Ведение базы данных через приложение, т. е. добавление или удаление записей, позволит качественно структурировать информацию, поскольку предназначенные для этих функций формы, могут иметь удобный для пользователя системой интерфейс и отвечать их индивидуальным требованиям.

6.3.2 Задание на работу

Необходимо:

- отладить и запустить приложение;

- проверить правильность отображения данных в таблицах;

- скрыть ключевые поля типа счетчик;

- создать окно Data Module;

- добавить в таблицу «Сведения о работниках» логическое поле Наличие загранпаспорта;

- добавить в таблицу «Поручения» логическое поле «Отметка о выполнении»;

- отобразить поля «Наличие загранпаспорта» и «Отметка о выполнении» в приложении;

- добавить в базу данных и отобразить в приложении еще одно произвольное поле;

- ввести кнопки для добавления и сохранения записей в таблицах;

- ввести новые записи в таблицы;

- просмотреть результат в базе данных «Органайзер».

6.3.3 Выполнение задания на работу

6.3.3.1 Запуск приложения

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

Для запуска приложения следует нажать клавишу F9 или кнопку на панели инструментов (рисунок 144).

Рисунок 144 – Кнопка запуска приложения

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

Рисунок 145 – Форма после запуска приложения

6.3.3.2 Скрытие ключевых полей типа счетчик

В базе данных «Органайзер» ключевыми полями с типами счетчик являются:

- поле «Код работника» из таблицы «Сведения о работниках»;

- поле «Код работника» из таблицы «Работник».

Такие поля желательно убирать из поля зрения пользователя.

Чтобы скрыть поле, необходимо дважды щелкнуть по таблице, расположенной на форме и содержащей в себе поле, которое необходимо скрыть. Появится окно, в котором следует нажать кнопку для отображения всех полей таблицы (рисунок 146).

Рисунок 146 – Окно для отображения полей таблиц

На рисунке 147, а, б представлены окна с перечнем полей таблиц «Сведения о работниках» и «Работник» соответственно.

а – «Сведения о работниках»; б – «Работники»

Рисунок 147 – Окно отображения всех полей таблиц

Далее следует выделить поле, которое необходимо скрыть и нажать на клавиатуре клавишу Delete.

На рисунке 148 представлена таблица после скрытия поля Код работника.

Рисунок 148 – Фрагмент таблицы «Сведения о работниках» после скрытия

поля «Код работника»

6.3.3.3 Создание окна Data Module

С целью размещения компонентов доступа к базе данных в отдельном окне необходимо поместить все располагающиеся на форме компоненты в буфер обмена, для чего следует эти компоненты выделить (ADOConnection1, ADOTable 1… ADOTable n, DataSource1… DataSource n), а затем выбрать из категории главного меню Edit пункт Cut. Компоненты с формы исчезнут.

После этого в категории главного меню File необходимо выбрать New, а затем Data Module. Если Data Module напрямую выбрать нельзя, то следует выбрать other, а затем в появившемся окне Data Module (рисунок 149).

Рисунок 149 – Выбор специального окна Data Module

Далее выбранное окно необходимо открыть и вставить в него хранящиеся в буфере обмена компоненты. Окно Data Module лучшим образом подходит для хранения компонентов доступа к базам данных. Для вставки компонентов можно использовать команду Paste из категории главного меню Edit. Компоненты в окне Data Module можно разложить любым удобным способом (рисунок 150).

Рисунок 150 – Окно Data Module с компонентами доступа

к базам данных

 

После вставки компонентов новый модуль следует сохранить. Исунок 39

 

Для перехода из главной формы в окно Data Module можно воспользоваться Менеджером проектов (категория главного меню View команда Project Manager). В Delphi 2007 это окно открыто по умолчанию (рисунок 151).

Рисунок 151 – Менеджер проектов

Если два раза щелкнуть по надписи Unit1.pas – откроется код формы; Unit 1. dfm - откроется дизайн формы; Unit2.pas – откроется код окна Data Module; Unit 2. dfm - откроется дизайн окна Data Module.

Для перехода из формы в окно Data Module можно также воспользоваться закладками в окне редактора, при этом вызов кода или дизайна можно указать внизу окна редактора (рисунки 152а, 152б).

Рисунок 152а – Фрагмент окна редактора. Закладки

 

Рисунок 152б – Продолжение окна редактора. Кнопки переключения

в режимы «Код» и «Дизайн»

Для перехода из формы в окно Data Module можно также воспользоваться окном, показанным на рисунке 153, вызов которого осуществляется кнопкой .

Рисунок 153 – Окно для переключения между формами (окнами)

После того, как компоненты для связи приложения с базой данных были перенесены в специальное окно Data Module, данные в сетках DBGrid на главной форме исчезли, т. к. форма потеряла связь с компонентами доступа к данным (рисунок 154).

Рисунок 154 – Форма после перенесения компонентов доступа

к базе данных в окно Data Module[24]

Чтобы в этом убедиться, можно щёлкнуть по свойству DataSource, и посмотреть, что в выпадающем списке ничего нет.

Чтобы восстановить связь необходимо в разделе uses кода главной формы указать созданный модуль Unit2. Для этого следует выбрать в категории главного меню File команду Use Unit. В этот момент должно быть выделено окно кода главной формы, потому что происходит подключение нового модуля именно к ней. В появившемся окне (рисунок 155) следует выбрать необходимый модуль и нажать на кнопку ОК.

Рисунок 155 – Окно для выбора связываемого модуля

Теперь если переключится в окно кода главной формы, после ключевого слова implementation должна появиться надпись:

implementation

uses Unit2;

{$R *.dfm}.

Окно с кодом главной формы представлено на рисунке 156.

Рисунок 156 – Окно подключения нового модуля

После этого следует выделить сетку DBGrid и в свойстве DataSource указывать компонент, данные которого должны быть отображены в сетке (рисунок 157).

Рисунок 157– Выбор компонента для отображения в сетке

На рисунке 157, например: Data Module2. Data Sourse 1 – Источник связи 1, находящийся на модуле 2 (Unite 2 или окно Data Module).

После выполнения указанных процедур главная форма будет выглядеть следующим образом (рисунок 158).

Рисунок 158– Главная форма после создания окна Data Module

6.3.3.4 Добавление полей в таблицы базы данных и их отображение в приложении

Предположим, в таблицу базы данных «Сведения о работниках» следует добавить поле «Наличие загранпаспорта». С этой целью откроем базу данных «Органайзер», выберем из списка таблиц таблицу «Сведения о работниках» и выберем из контекстного меню команду Конструктор. Выбранная таблица откроется в режиме правки. Далее следует добавить поле Наличие загранпаспорта, выбрать логический тип данных (да/нет) и сохранить изменения в базе (рисунок 159).

Рисунок 159 – Добавление поля в таблицу «Сведения о работниках»

базы данных

После сохранения изменений базу данных следует закрыть.

Для того чтобы изменения отобразились в приложении Delphi, необходимо переключиться в окно DataModule и настроить там отображение данных. Если дважды щёлкнуть по компоненту ADOTable, откроется окно редактирования полей базы данных (Data module2.Sved_o_Rab[25]). Окно по умолчанию пусто (рисунок 160).

Рисунок 160 – Окно редактирования полей базы данных

Для отображения всех полей таблицы базы данных необходимо в открывшемся окне вызвать контекстное меню и выбрать команду Add All Field (Добавить все поля). Окно автоматически заполниться именами полей таблицы. На рисунке 161 представлено окно редактирования полей базы данных таблицы «Сведения о работниках» (добавлено поле «Наличие загранпаспорта»).

Рисунок 161 – Окно редактирования полей базы данных

таблицы Сведения о работниках

Если созданное поле не отображается, следует в Инспекторе объектов в свойстве Active поставить True (при этом соответствующий объект ADOTable должен быть выделен). После этого созданное поле следует отобразить в окне Editing DBGrid1.Columns. Для того чтобы вызвать указанное окно, следует в главной форме дважды кликнуть по сетке соответствующей таблицы. В появившемся окне следует нажать кнопку , а затем удалить предыдущий набор полей, нажав в появившемся диалоговом окне кнопку Yes (рисунок 162).

Рисунок 162 – Удаление предыдущего набора полей

Окно Editing DBGrid1.Columns с обновленным набором полей представлено на рисунке 163.

Рисунок 163 – Окно Editing DBGrid1.Columns с обновленным

набором полей

Поля в окне Editing DBGrid1.Columns можно менять местами. При этом их физическое расположение в базе данных не меняется, меняется только порядок отображения полей в сетке приложения.

Свойства полей таблицы отображаются в Инспекторе объектов:

- Visible. Это свойство необходимо для скрытия (значение False) или отображения (полей true) полей, например, для скрытия ключевых полей типа счетчик.

- DisplayWidth. Это свойство необходимо для установления ширины колонки. Например, для поля ФИО можно установить ширину, например 25 символов, тогда как по умолчанию, длина поля соответствует 50 символов. Чаще всего фиксированную длину символов устанавливают для таких полей, как № паспорта, чтобы не ошибиться и ввести не более 6 цифр.

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

- DefaultExpression. Это свойство позволяет указать значение поля по умолчанию.

- MaxValue. Это свойство позволяет установить максимально допустимое значение поля.

- MinValue. Это свойство позволяет устанавливать минимально допустимое значение поля.

- ReadOnly. Это свойство позволяет устанавливать возможность (значение true) или невозможность (значение False) редактирования поля.

- Required. Это свойство позволяет устанавливать обязательность (значение true) или необязательность (значение False) поля.

После добавления полей в таблицы базы данных и их отображения в приложении, эти поля можно заполнить. Заполнение полей следует проводить после запуска приложения. В поле «Наличие загранпаспорта» в соответствующих строках следует установить значение True, нажать Enter и переместить курсор в любое другое место таблицы.

На рисунке 164 показано заполнение добавленного поля «Наличие загранпаспорта».

Внесенные изменения отобразятся в базе данных «Органайзер». В поле Наличие загранпаспорта в случае значения True установится галочка (рисунок 165).

 

Рисунок 164 – Заполнение поля «Наличие загранпаспорта»

Рисунок 165 – Внесенные изменения в таблицу «Сведения о работниках»

Таким же образом в базу данных следует добавить логическое поле, в котором будет фиксироваться отметка о выполнении работниками поручения. Указанное поле целесообразно разместить в таблице «Поручения» (рисунок 166).

Рисунок 166 – Добавление поля в таблицу «Поручения базы данных»

На рисунке 167,а представлено окно редактирования полей базы данных для таблицы Поручения, на рисунке 167,б – для той же таблицы окно Editing DBGrid3.Columns.

а – Окно редактирования б – Окно

полей базы данных Editing DBGrid3.Columns

Рисунок 167 – К таблице «Поручения»

На рисунке 168 представлено заполнение поля «Отметка о выполнении» таблицы «Поручения» через приложение.

Рисунок 168 – Заполнение поля «Отметка о выполнении»

На рисунке 169 представлено поле «Отметка о выполнении» таблицы «Поручения», заполненное через приложение.

Рисунок 169 – Внесенные изменения в таблицу «Поручения»

6.3.3.5 Добавление записей в базу данных через приложение

Для того чтобы вводить в базу данных новые записи, необходимо предварительно на главной форме создать две кнопки: Добавить запись и Сохранить. Для создания кнопок на Палитре компонентов в закладке Standard выбрать компонент TButton (рисунок 170).

Рисунок 170 – Палитра компонентов. Закладка Standard,

компонент TButton

Далее в Инспекторе объектов в свойстве Caption следует удалить запись Button1 (рисунок 171,а) и ввести название кнопки, в первом случае, например, Добавить запись (рисунок 171,б).

а – Запись Button1 б – Название кнопки

Добавить запись

Рисунок 171 – Инспектор объектов. Создание кнопки

После этого следует прописать код. Для этого необходимо произвести двойной клик по кнопке Добавить запись, после чего откроется окно с кодом. В месте расположения курсора следует ввести код:

Datamodule2.Sved_o_rab.Insert;

Данная запись означает то, что при нажатии на кнопку Добавить запись приложение обратится к окну Datamodule2, к таблице Сведения о работниках и добавит в этой таблице строку для ввода записи[26]. Соответствующий фрагмент кода программы представлен на рисунке 172.

Рисунок 172 – Код создания новой строки для ввода записи

в таблицу

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

If Datamodule2.Sved_o_rab. Modified then

datamodule2.Sved_o_rab. Post.

Данная запись читается следующим образом: если в окне Datamodule2 в таблице «Сведения о работниках» были произведены изменения, то окно Datamodule2 таблицу Сведения о работниках сохранить. Соответствующий фрагмент кода представлен на рисунке 173.

Рисунок 173 – Код сохранения записей в таблицах базы данных

Далее следует запустить приложение и ввести новую запись. На рисунке 174 показана новая запись в таблице «Сведения о работниках».

Рисунок 174 – Новая запись в таблице «Сведения о работниках»

6.3.3.6 Удаление записей в базе данных через приложение

Для того чтобы удалить запись из таблиц базы данных необходимо выбрать соответствующую запись и нажать сочетание клавиш Ctrl+Delete, а затем в появившемся диалоговом окне подтвердить свои действия, нажав на кнопку ОК (рисунок 175).

Рисунок 175 – Удаление записей из базы данных через приложение

Контрольные вопросы

1 Какие поля базы данных можно скрыть в приложении? Каким образом это можно сделать?

2 Для чего создается окно Data Module. Каким образом это делается?

3 Каким образом можно осуществить связь между формами проекта?

4 Каким образом через приложение можно добавлять поля в таблицы базы данных? В каких окнах должно произойти обновление полей при внесении нового поля в таблицы базы данных?

5 Перечислите свойства полей таблиц, настраиваемые в приложении.

6 Каким образом в приложении заполняются логические поля? Каким образом они отображаются в базе данных?

7 Каким образом через приложение добавляются в базу данных записи?

8 Каким образом в Delphi создаются кнопки? Какой код приписывается для кнопки Добавить запись? Для кнопки Сохранить?

 

 


 

6.4 Модификация приложения

6.4.1 Общие сведения

6.4.1.1 Понятие интерфейса информационной системы

Большое значение при работе с приложением для пользователя имеет пользовательский интерфейс системы.

Дословно понятие Интерфейс (interface) – обозначает средства взаимодействия, связи, сопряжения, согласования.

Выделяют следующие виды интерфейса:

- аппаратный (физический) интерфейс – на уровне электронных компонентов;

- программный интерфейс – комплекс правил и соглашений о стыковке программных модулей;

- интерфейс пользователя – набор средств диалога, взаимодействия программы (машины) с человеком.

Под пользовательским интерфейсом системы подразумевают средства взаимодействия человека-оператора с техническими устройствами компьютера. Другими словами, интерфейс пользователя – совокупность средств, при помощи которых пользователь общается с различными устройствами, в данном случае с ПК.

Интерфейс пользователя компьютерного приложения включает:

- средства отображения информации, отображаемую информацию, форматы и коды;

- командные режимы, язык «пользователь – интерфейс»;

- устройства и технологии ввода данных;

- диалоги, взаимодействие и транзакции между пользователем и компьютером, обратную связь с пользователем;

- поддержку принятия решений в конкретной предметной области;

- порядок использования программы и документацию на неё.

Пользовательский интерфейс может быть:

- командным;

- многооконным;

- графическим

- прочее.

Командный интерфейс – вид диалогового взаимодействия пользователя с ПК, при котором используются различные команды, набираемые на клавиатуре и отображаемые на экране. Командным интерфейсом обладает операционная система MS DOS.

Формат вывода информации в интерфейсе командной строки не регламентируется, однако, чаще всего это текстовый вывод. Достаточно редко командный интерфейс может быть графическим или звуковым.

Интерфейс многооконный – вид диалогового взаимодействия пользователя с ПК, при котором каждой программе или данным отводится своя прямоугольная область (окно) на экране.

Графический интерфейс – вид диалогового взаимодействия пользователя с ПК, при котором используются различные графические изображения, такие как значки, пиктограммы, иконки, рисунки объектов на экране. Графическим интерфейсом обладает операционная система Windows.

Графический интерфейс пользователя в вычислительной технике – система средств для взаимодействия пользователя с компьютером, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т. п.). При этом в отличие от интерфейса командной строки, пользователь имеет произвольный доступ (с помощью клавиатуры или устройства координатного ввода – вроде мыши) ко всем видимым экранным объектам.

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

Любой интерфейс, независимо от сферы его применения, имеет пять основных характеристик, а именно:

- производительность пользователей;

- количество человеческих ошибок;

- скорость обучения работе с системой;

- субъективное удовлетворение пользователей;

- способность сохранения пользователями навыков работы с системой в течение длительного времени.

Могут существовать смешанные интерфейсы, например, многооконный графический пользовательский интерфейс.

Менее в силу трудоемкости разработок имеют распространение звуковые и графические интерфейсы.

При работе с приложениями, связанными с базами данных, особое внимание в процессе разработки пользовательского интерфейса, следует уделить процедурам внесения новой информации в базу, выборки требуемой информации по запросу пользователя и выдачи ее на печать. С этой целью в профессиональных программах – системах управления базами данных предусмотрены следующие объекты:

- формы;

- запросы;

- отчеты.

Формы необходимы для внесения новой информации в таблицы базы данных или отображения существующих данных.

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

Отчеты позволяют формировать будущие твердые копии документов. Отчеты могут создаваться по таблицам базы данных или запросам.

Объекты, необходимые для управления базами данных, целесообразно выносить в главное меню программы с целью быстрого к ним доступа со стороны пользователя.

6.4.2 Задание на работу

Необходимо доработать информационную систему «Органайзер».

Для этого требуется:

- в базе данных «Органайзер» создать запрос, отображающий следующие поля:

- ФИО (таблица «Сведения о работниках»);

- подразделение организации;

- должность (таблица «Работники»);

- наименование поручения;

- дата исполнения поручения;

- отметка о выполнении (таблица «Поручения»);

- ФИО ответственного (таблица «Ответственный»);

- отобразить запрос на главной форме;

- создать главное меню на главной форме;

- создать формы для редактирования данных базы, открывающиеся через главное меню для каждой таблицы;

- создать формы, позволяющие вводить записи в базу данных через меню Вставка;

- обеспечить возможность фильтрации данных на формах для редактирования таблиц по нескольким полям.

6.4.3 Выполнение задания на работу

6.4.3.1 Создание запросов

Отображение на одной форме всех таблиц базы данных не очень удобно. Часто пользователю не требуется визуализация столь большого количества информации. В данном случае было бы достаточным отображение только информации, касающейся непосредственно названий поручений, их исполнителей и ответственных, даты и отметки об исполнении. Такую информацию из базы получают посредством запросов.

Для создания запроса необходимо открыть базу данных «Органайзер», выбрать ленту Создание, команду Конструктор запросов (рисунок 176).

Рисунок 176 – Фрагмент ленты Создание

После этого добавляются те таблицы из базы данных, поля которых будут участвовать в запросе. Чтобы выбрать поле с целью отображения его в запросе необходимо кликнуть по нему два раза мышью. Выбранное поле отобразиться в специальной части конструктора запросов (рисунок 177).

Рисунок 177 – Фрагмент окна конструктора запросов

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

Рисунок 178а – Фрагмент запроса

Рисунок 178б – Продолжение запроса

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

В данном случае имя запроса – Запрос 1.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных