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

Ход работы

Упражнение 9

  1. Выполните команду ToolsDatabase Desktop.

  2. Выполните команду FileOpenTable (ФайлОткрытьтаблицу) и откройте образец базы данных BIOLIFE.DB.

  3. Из меню Table (Таблица) выберите пункт Restructure (Реорганизовать) и сразу же сохраните таблицу как BIOLIFEX.DB (используя кнопку Save as… внизу открывшегося диалогового окна Restructure Table). Теперь можно спокойно экспериментировать, зная, что с ориги­налом ничего не случится.

  4. Вернитесь к диалоговому окну Restructure Table и перейдите на одну строку ниже последней строки списка полей, то есть на строку № 9.

  5. В качестве имени нового поля введите Large, установите тип его данных равным А, что означает Alphabetic (алфавитный), а длину равной 3.

  6. Добавьте другое поле с именем Dominant Color, установите его тип данных равным А, а длину — 8.

  7. Сохраните таблицу и закройте Database Desktop.

  8. Откройте новый проект, затем выберите Form Wizard из меню Database.

  9. Следуя указаниям, создайте простую форму для BIOLIFEX.DB, содер­жащую все поля с горизонтальной ориентацией.

  10. Щ

    - 31 -

    ёлкните на компоненте Table в полученной форме и установите свой­ство Active равным True. Компоненты Delphi очень полезны для просмотра и модификации табличной информации в базах данных. Однако если вы хотите создать совершенно новую таблицу или изменить структуру таблицы, легче всего использовать средство Database Desktop. При выборе любых компонентов отображения информации базы данных, от­личных от сетки, Database Form Wizard генерирует для каждого поля простое спе­циализированное поле ввода. Подобно сетке, такое поле ввода не может отобра­жать примечания переменной длины и изображения. Поэтому поля Notes и Graphic не будут отображены должным образом.

  11. Запустите программу и введите в нескольких записях значения для поля Large. Если длина рыбы составляет 100 см или больше, то введите Yes, в противном случае введите No. Теперь перейдите к первой записи и введите DUH. Хотя предполагалось, что эти поля будут содержать Yes или No, но приемлемыми будут любые трёхсимвольные строки, например UGH, GUK или YAP.

  12. Расположите на форме под полем ввода для поля Large флажок данных (компонент DBCheckBox). Установите его свойства следующим образом:

Свойство Значение

Caption Large

DataSource DataSource1

DataField Large

ValueChecked Yes

ValueUnchecked No

  1. Удалите надпись Large и соответствующее поле ввода, затем измените размер и переместите флажок на то место, где находилось поле ввода.

  2. Запустите снова программу и "пройдитесь" по записям. Флажок будет вклю­чаться, если поле Large содержит Yes, и, наоборот — выключаться, если в нем бу­дет указано No. Если же поле Large пустует или содержит что-нибудь отличное от Yes или No, флажок посереет. Флажок можно использовать для того, чтобы заставить какое-нибудь поле иметь одно из двух заданных значений.

  3. Выберите поле ввода для поля Notes и его надпись и переместите их к началу но­вой строки компонентов.

  4. Т

    - 32 -

    еперь выберите только поле ввода и поместите его содер­жимое в буфер обмена, нажав <Ctrl+X>.

  5. Переключитесь в окно Code Editor, перей­дите в самый конец программы и нажмите <Ctrl+V>, чтобы вставить компонент как текст.

  6. В первой строке замените TDBEdit на TDBMemo.

  7. Поместите в буфер обмена текстовое представление компонента, щёлкните на окне Form Designer и вставьте его обратно в форму.

  8. Расширьте по-новому преобразованное поле — и вы сразу увидите текст примечания. Установите его свойство ScrollBars равным ssVertical.

  9. Выберите поле ввода и надпись для поля Graphic и поместите их в строку ком­понентов, содержащую поле Notes.

  10. Как и раньше, перенесите поле ввода в буфер обмена, вставьте его в текст программы в окне Code Editor и замените TDBEdit на TDBImage.

  11. перенесите модифицирован­ное описание объекта в буфер обмена и вставьте его обратно в форму.

  12. Увеличьте изображение так, чтобы видеть картинку. Всегда можно вырезать компоненты из формы и вставлять их в текст программы в окне Code Editor и наоборот. Если типы компонентов дос­таточно похожи, то можно преобразовать один в другой, редактируя тек­стовое представление. Программа еще не работает, а уже в состоянии отображать полез­ную информацию в поле Notes и даже картинку в поле Graphic.

  13. Удалите надпись Dominant Color, затем вырежьте поле ввода Dominant Color и вставьте его в редактор.

  14. Замените тип объекта с TDBEdit на TDBRadioGroup.

  15. Теперь вырежьте модифицированный текст и вставьте его обрат­но в форму.

  16. Увеличьте группу переключателей данных и установите её свойство Caption равным Dominant Color.

  17. Дважды щёлкните на её свойстве Items и введите четыре строки: Red, Yellow, Green и Black.

  18. Р

    - 33 -

    асположите компоненты на форме удобным образом.

  19. Запустите программу и просмотрите несколько записей.

  20. Если у рыбы доминантный цвет, то выберите в группе Dominant Color соответствующий переключатель.

  21. Если рыба большая (больше 100 см), то установите флажок Large; в противном случае сбросьте его.

  22. За­вершите программу и загрузите базу данных BIOLIFEX в Database Desktop. Поскольку вы пометили доминантный цвет, в базу данных будет вставлена соответствующая строка. Ес­ли для поля предусмотрено ограниченное количество возможных значений, то группа пере­ключателей данных не позволит ввести некорректное значение, например Blacks.

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

  1. Какой недостаток есть у сетки данных?

  2. Как создать простую форму для animals.db, содер­жащую все поля с вертикальной ориентацией.

  3. Какие основные свойства у компонента DBCheckBox?

  4. Какие компоненты визуальной библиотеки использованы в данной работе?

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

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

- 34 -

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

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

ЦЕЛЬ: Изучить основные свойства списка выбора данных. И свойства компонента DBCtrlGrid

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

Не следует путать список данных (компонент DBListBox) со списком выбора данных (компонент DВLookupList). Конечно, в обоих случаях пользователь выбирает из списка значение поля. Но для первого компонента программист определяет спи­сок значений заранее, в то время как второй получает список возможных значений из другой таблицы. Это оказывается особенно удобным, когда, например, две табли­цы связаны между собой каким-нибудь общим полем. Допустим, вы не хотите по­зволить пользователю случайно ввести в подчиненную таблицу значение, которого нет даже в главной таблице. Так вот, список выбора данных сделает эту ошибку не­возможной, заставив пользователя выбирать из существующих значений.