Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МВ ПР СПЗ БКС 2014.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
266.24 Кб
Скачать

Ход работы

Упражнение 7

  1. Создайте новое приложение и выполните команду FileNew Data Module (ФайлНовый модуль данных).

  2. П

    - 21 -

    оместите на окно модуля данных две таблицы, подключив компонент Таble1 к таблице ORDERS, а компонент Table2 - к таблице CUSTOMER

  3. Для обоих компонентов установите свойство Active равным True и под­ключите к ним по источнику данных DataSource (свойствам DataSet обоих компонентов DataSource1 и DataSource2 присвоить значения Таble1 и Таble2 соответственно).

  4. Дважды щёлкните на компоненте Table1, затем щёлкните правой кноп­кой на открывшемся окне Fields Editor и из появившегося меню выберите пункт Add fields.

  5. Добавьте поля OrderNo, CustNo, SaleDate, ShipDate и ShipVia.

  6. Теперь из всплывающего меню выберите пункт New field.

  7. В качестве имени поля введите Customer, установите для этого поля тип String, а затем щёлкните на переключателе Lookup (Выбор).

  8. В списке Dataset (Данные) выберите компонент Table2, а в списках Key Fields (Ключевое поле) и Lookup Keys (Ключ поиска) — поле CustNo.

  9. Теперь в списке Result Field (Результирующее поле) выберите поле Company и щёлкните на кнопке ОК. При этом с помощью диалогового окна New Field было проделано следующее. Сначала было создано поле Customer, связанное с компонентом Table1. Значение этого поля получается путём выбор­ки соответствующих данных из компонента Table2. Далее, находится во второй таблице запись, поле CustNo которой совпадает с полем CustNo первой таблицы, а затем возвращается значение поля Company из второй таблицы.

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

  11. Поместите на форму сетку данных, установите её свойство Align рав­ным alClient и подключите её к компоненту DataModule2.DataSource1. При этом источник данных из другого модуля появился в списке свойства DataSource.

  12. С

    - 22 -

    помощью двойного щелчка на свойстве Columns сетки данных от­кройте окно Columns Editor.

  13. Щёлкните на кнопке Add All Fields (Добавить все поля), выберите поле CustNo, а затем щёлкните на кнопке Delete (Удалить).

  14. Выберите поле SaleDate и установите подсвойство ButtonStyle равным cbsEllipsis. To же самое проделайте и с полем ShipDate.

  15. Выберите поле ShipVia, щёлкните на кнопке Pick List (Список выбора) и введите столько названий компаний, занимающихся доставкой товаров, сколько можете вспомнить.

  16. Теперь для каждого столбца и каждого заголовка выберите какой угод­но цвет и шрифт.

  17. Создайте обработчик события OnEditButtonClick сетки данных, содер­жащий следующие операторы:

DBGrid1.DataSource.DataSet.Edit;

DBGrid1.SelectedField.AsDateTime := Date;

  1. Запустите программу.

Установка свойства ButtonStyle обеих колонок отображения даты в bsEllipsis приведёт к появлению во время редактирования рядом с их заголовками кнопок подстановки — щелчок на такой кнопке приводит к генерации обработчика собы­тия OnEditButtonClick. Так как поле Customer выбрано в качестве поля, для которого осуществляется поиск, оно обладает раскрывающимся списком всех компаний, перечислен­ных в таблице CUSTOMER. Стоит лишь выбрать какой-нибудь элемент из этого списка, как невидимое поле CustNo автоматически обновляется. Поле ShipVia снабжено более скромным списком, который просто показывает на­звания компаний доставки товаров, введённые вами в окне Columns Editor. При щелчке на кнопке подстановки в любой из колонок вывода даты автома­тически появляется сегодняшняя дата.

- 23 -

КОНТРОЛЬНЫЕ ВОПРОСЫ:

  1. Для чего можно использовать свойство Col­umns?

  2. Назначение окна Columns Editor?

  3. Как подключить компонент Таble к таблице animals?

  4. Как добавить в таблицу новые поля?

CОДЕРЖАНИЕ ОТЧЕТА

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

- 24 -

ПРАКТИЧЕСКАЯ РАБОТА №5

ТЕМА: навигатор и создание редактора базы данных в системе программирования Delphi

ЦЕЛЬ: Изучить свойства компонента DBNavigator , в системе программирования Delphi

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

Вы уже встречались с навигатором (компонент DBNavigator) в формах, создан­ных с помощью средства Database Form Wizard. Навигатор представляет собой на­бор кнопок, которые служат для перемещения по базе данных.

Свойство навигатора VisibleButtons включает десять подсвойств, которые опре­деляют, какая же из десяти кнопок будет отображена. Самые важные кнопки управляются свойствами nbFirst, nbLast, nbPrior и nbNext. данные свойства позволяют перемещаться к началу или концу базы данных и к предыдущей или к следующей записи.

Если подсвойства nbInsert и nbDelete будут установлены равными True, то сре­ди кнопок навигатора появятся кнопки Insert (Вставить) и Delete (Удалить), отмеченные знаками "+" и "-". Щелчок на кнопке Insert добавляет новую пустую строку в месте расположения курсора, а щелчок на кнопке Delete удаляет текущую строку. Если свойство ConfirmDelete установлено равным True, то программа перед удалением строки запросит подтверждение. Кнопка Edit (с изображением стрелки вверх) переводит таблицу в режим редактирования. Эта кнопка нужна только тогда, когда свойство источника данных AutoEdit ус­тановлено в False.

- 25 -

Любые изменения, которые вы внесёте в данные текущей строки, будут скопи­рованы в таблицу сразу, как только вы перейдёте к другой строке. Кнопки Post и Cancel (кнопки с галочкой и крестиком) предлагают более совершенное управле­ние этим процессом. Щёлкнув на кнопке Post, вы заставите таблицу немедленно принять изменения, не покидая при этом строки, в то время как щелчок на кноп­ке Cancel отменит сделанные изменения. И, наконец, кнопка Refresh (с изогнутой стрелкой) восстановит табличные данные с диска. Обычно это требуется в случае, когда данные были изменены другим пользователем (или другой программой на том же самом компьютере).

Закрытие таблицы не означает автоматического сохранения записи. Для надежности перед закрытием пользуйтесь кнопкой Post.

Узкий индикаторный столбец с левой стороны сетки не просто указывает стрелкой на текущую строку. Если строка новая и ещё не сохранена, то стрелка из­меняется на звездочку. А если строка была подвергнута изменениям, но ещё не со­хранена, то стрелка приобретает I-образную форму.

Для того чтобы разрешить появление поля помощи, установите свой­ство ShowHint равным True. Если вам не нравятся действующие по умолчанию строки подсказок, то с помощью свойства Hints можно заменить их своими собст­венными. Эти подсказки жестко привязаны к десяти кнопкам, даже если в вашей программе они и не видимы.

Самым важным свойством навигатора является DataSource. Щёлкните на кноп­ке раскрытия списка рядом с DataSource, и вы получите перечень доступных в форме источников данных. Навигатор, который не связан с источником данных, совершенно бесполезен.