Автор работы: Пользователь скрыл имя, 15 Марта 2013 в 08:09, курсовая работа
О стремительном темпе развития информационных технологий мы с вами читаем и слышим почти каждый день. Эти темпы действительно впечатляют. Однако в компьютерном мире остается одна самая важная область, изменения в которой происходят крайне медленно. Программирование, кодирование, составление исходных текстов – ключевой элемент в создании любого приложения сегодня происходит так же, как и сорок лет назад.
Введение…………………………………………………………………………3
Глава 1. Основные понятия и принципы системы Delphi7…………………..5
1.1. Основные понятия и принципы программирования………………….5
1.2. Алгоритмы и программы………………………………………………..6
1.3. Среда Delphi 7 и ее составляющие……………………………………..6
1.4. Компонентный подход………………………………………………….8
Глава 2. Основы работы с базами данных……………………………………10
2.1. Понятие о базах данных……………………………………………….10
2.2. Реализация работы с СУБД в системе Delphi………………………...12
2.3. Утилиты для работы с СУБД…………………………………………..14
2.4. Описание компонентов панели DataControL………………………….15
Глава 3. Практическая часть, отчёт по программе……………………………22
3.1. Описание полей таблице………………………………………………..22
3.2. Описание формы ввода данных, с используемыми компонентами….23
3.3. Описание процедур используемых в программе ……………………..26
3.4. Описание отчета в используемой программе………………………….27
Заключение............................................................................................................28
Список литературы……………………………………………………………...29
2.2. Реализация работы с СУБД в системе Delphi
Технология ВDЕ для доступа к данным
При создании программ, работающих с базами данных, в системе Delphi традиционно используется механизм Borland Database Engine (BDE). В состав Delphi 7 входит версия BDE52, которую, впрочем, можно бесплатно обновлять разными способами (например, обратившись к Web-узлу http://www.borland.com/).
Этот механизм реализован в виде набора библиотек, которые обеспечивают для программы, написанной на Паскале, простой и удобный доступ к базам данных независимо от их архитектуры. При использовании механизма BDE разработчик может не задумываться о том, как его программа будет работать с базой данных на физическом уровне: локально, в фай л - серверной, либо в клиент - серверной верно и архитектуре. Вдобавок при переходе к использованию СУБД разных производителей программисту не потребуется менять исходный код своей программы. Достаточно внести изменения только в настройки BDE.
Драйверы баз данных
Такое удобство достигается благодаря тому, что механизм BDE представляет собой программную прослойку (middleware) между клиентской программой и базой данных или СУБД). Запрос из приложения передается внутрь механизма BDE, который использует специализированные системные программы (драйверы) для непосредственной работы с СУБД.
Такие драйверы выпускаются для каждой СУБД, и механизм BDE настраивается на их использование с помощью специального редактора, вызываемого из утилиты SQL Explorer (Проводник SQL), которая открывается командой Database x Explore (База данных > Проводник). Драйверы могут работать с базами данных в стандарте таких СУБД, как Paradox, dBase, FoxPro. Эти СУБД ранее были построены как файл – серверные, по этому драй вер реально представляет собой весьма сложную программу, выполняющую множество функций СУБД.
Существуют и драйверы для работы с клиент-серверными СУБД (MS SQL Server, InterBase, Oracle). Такие драйверы устроены проще. Они только передают запросы и команды из BDE в СУБД и получают обратно результаты их выполнения. Всю работу по обработке данных выполняет СУБД.
В поставку BDE входит два набора драйверов.
* Первый набор предназначен для файл-серверных СУБД dBASE, Paradox, FoxPro, Access и данных в текстовом формате.
* Второй набор ориентирован на клиент-серверные СУБД InterBase, IBM DB2, Informix, ORACLE, Sybase и Microsoft SQL Server. Этот набор называется DB2, Informix, ORACLE, Sybase и Microsoft SQL Server. Этот набор называется SQL Links.
Конечно, кроме системы Delphi в мире существует немало пакетов создания программ, которые позволяют обращаться к любым СУБД. Поэтому давно разработан и существует стандартный протокол ODBC (Open Database Connectivity Interface, открытый интерфейс взаимодействия с базами данных), напоминающий независимую работу BDE. Драйверы ODBC выпущены для всех без исключения СУБД, и разработчик может использовать в BDE драйверы ODBC.
Реализация в системе Delphi прослойки позволяет не привязывать программу к конкретной СУБД. Если потребуется расширить число пользователей программы и перейти, например, с файл-серверной СУБД dBase на более мощную СУБД InterBase, достаточно изменить несколько настроек BDE, не исправляя исходные тексты.
2.3. Утилиты для работы с СУБД
Создание базы данных
Создание таблице
Для создания таблиц в системе Delphi 7 имеется приложение Database Desktop (Работа с автономной СУБД). Оно вызывается командой Tools > Database Desktop (Сервис > Работа с автономной СУБД) (рис. 3.1).
Рисунок 3.1. Окно конструирования автономной базы данных
Новая таблица создается командой File > New > Table (Файл >• Создать > Таблица). В открывшемся диалоговом окне надо выбрать формат таблицы (каждая СУБД хранит данные в собственном формате). Указать в раскрывающем списке Table type (Формат таблицы) пункт Paradox 7 (формат СУБД Paradox версии 7) и щелкнуть на кнопку ОК. Следующее окно предназначено для формирования структуры создаваемой таблицы (рис. 3.2).
Рисунок 3.2. Формирование структуры таблицы базы данных
В первом столбце автоматически указывается порядковый номер поля, во втором задается название поля внутри таблицы, в третьем — тип поля, в четвертом – размер поля (для текстовых полей). В пятом столбце указывается, является ли данное поле ключевым.
2.4. Описание компонентов панели Data Control
Компонент Навигатор (TDBNavigator)
Компонент позволяет управлять указателем связанного с ним набора данных. Данный компонент рассматривался при создании справочника по играм. Достаточно указать в его свойстве DataSource подчиненный источник данных. Если на форме имеются компоненты, связанные с этим же источником, то их содержимое (значение полей текущей записи) изменяется при использовании кнопок навигатора. Компонент содержит следующие кнопки.
Таблица 1. Кнопки компонента TDBNauigatar
Кнопка |
Название |
Описание |
|
Firs |
Перемещение к первой записи в наборе |
Prior |
Перемещение к предыдущей записи | |
|
Nex |
Перемещение к следующей записи |
|
Last |
Перемещение к последней записи в наборе |
|
Inser |
Вставка новой записи в месте текущего расположения указателя |
|
Delete |
Удаление текущей записи. Если значение свойства Confirm Delete равно True, запрашивается подтверждение |
|
Edi |
Редактирование текущей записи |
|
Post |
Сохранение изменений, внесенных в таблицу базы данных |
|
Cancel |
Отмена внесенных изменений |
|
Refresh |
Обновление таблицы путем нового считывания данных из базы данных |
Придать Навигатору «плоский» вид можно с помощью свойства Flat, перечень видимых кнопок задается в свойстве Visible Buttons.
Метод SetBounds позволяет задать нестандартные размеры панели Навигатора, метод BtnCtick программно имитирует щелчок на одной из его кнопок.
Компонент Надпись данных (TDBText)
По аналогии с компонентом TLabel компонент TDBText позволяет отображать содержимое отдельного поля записи. Источник данных указывается в свойстве DataSource, нужное поле — в свойстве Data Field.
Компонент Поле редактирования (TDBEdit)
Компонент позволяет редактировать значение отдельного поля текущей записи. Используемые свойства не отличаются от свойств компонента TDBText. Дополнительное свойство Readonly позволяет запретить редактирование данных. Компонент является наследником компонента THaskEdit и позволяет проверять соответствие введенной информации заданной маске с помощью метода ValidateEdit, который в случае несоответствия маски и текущих данных генерирует исключительную ситуацию. Маска доступна через свойство EditMask поля записи, связанного с компонентом (но не через закрытое свойство EditMask своего родителя), а значение, созданное на основе маски, хранится в свойстве EditText.
Компонент Многострочное поле (TDBMemo)
С помощью этого компонента отображается содержимое двоичного поля записи (например, Blob). Если требуется, чтобы в поле показывалось его полное содержимое (графика, текст), значение свойства AutoDisplay надо сделать равным True. Метод LoadMemo позволяет переносить содержимое поля Blob в данный компонент, если известно, что оно хранит текстовые данные. Значение свойства AutoDisplay при этом не проверяется. В качестве примера разместим компонент TDBMemo на форме справочника TForml и свяжем его с полем Comment таблицы Games через свойства Data Field и DataSource. Если текущая запись содержит многострочный комментарий, то он будет корректно отображаться в объекте DBMemol.
Компонент Изображение (TDBImage)
С помощью компонента TD BImage можно воспроизводить на экране рисунки, хранящиеся в базе данных. Например, несложно расширить базу данных справочника так, чтобы она хранила в поле Blob картинки из игр. Рисунки отображаются в данном поле автоматически, если значение свойства AutoDisplay равно True. В противном случае рисунок можно загрузить вызовом метода LoadMemo. Предполагается, что в поле текущей записи хранится изображение в формате, который данный компонент распознает корректно (например .BMP). Это изображение можно, например, скопировать, используя свойство Picture.
Задав свойству QuickDraw значение True, ускоряют вывод рисунка на экран, что часто полезно при активном просмотре больших наборов записей, но при этом ухудшается качество изображения.
Свойство Stretch позволяет подстраивать (сжимать или растягивать) изображение под текущие размеры компонента TDBImage на форме.
Компонент Список данных (TDBListBox)
Этот компонент предназначен для выбора нового значения поля из списка. Список допустимых значений готовится заранее и заносится в свойство Items (тип TStrings, массив строк).
Компонент Поле данных со списком (TDBComboBox)
Как и компонент TDBList, данный компонент позволяет показывать и выбирать новое значение поля в раскрывающемся списке значений. Набор текста в области ввода позволяет быстро переместиться к нужной записи в списке или ввести значение, отсутствующее в нем.
В дополнение к свойствам, унаследованным от компонента TComboBox, в классе TDBComboBox имеется свойство Style типа TComboBoxStyle, позволяющее определить способ отображения элементов в списке. В остальном данный компонент отличается от TComboBox.
Компонент Флажок данных (TDBCheckBox)
С помощью элемента-флажка, привязанного к полю таблицы, имеющему логический тип (Boolean), можно отображать состояние этого поля и менять его значение. Не возбраняется применять этот компонент и для полей, которые могут принимать одно из двух произвольных значений.
Список значений, при которых компонент будет считаться «включенным*, задается в текстовом свойстве ValueChecked. Элементы перечисляются через точку с запятой.
DBCheckBoxl.ValueChecked := 'True,-Yes';
Соответственно, список значений, при которых компонент будет считаться выключенным, задается в свойстве ValueUn checked.
DBCheckBoxl.ValueUnchecked := 'False;No';
Регистр, в котором записаны эти значения, не учитывается.
Компонент Группа переключателей данных (TDBRadioGroup)
Этот компонент позволяет выводить ограниченный набор значений полей в наглядном виде. Каждому значении) можно поставить в соответствие один из переключателей группы.
Список названий переключателей заносится в свойство Items (тип TStrings). Список соответствующих им значений поля хранится в свойстве Values (тип TStrings).
Компонент Поле форматирования (ТО В Rich Edit)
Компонент наследует все свойства компонента TRichEdit и позволяет представлять содержимое двоичных полей Blob из базы данных как форматированный текст.
Компонент используется так же, как и компонент TDBMemo.
Компонент Свободная форма (TDBCtrlGrid)
Компонент напоминает таблицу записей (TDBGrid), но позволяет представлять данные не в жестко заданном табличном виде, а с помощью выбранного набора компонентов с панели Data Controls (Элементы управления данными) и в произвольном виде.
Глава 3. Практическая часть, отчёт по программе
Описание базы данных по программе Delphi 7, на тему создания
« Каталога компьютерных дисков »
3.1. Описание полей таблици
Таблица 2.
Описание полей таблицы «Каталог компьютерных дисков»
№ п\п |
Имя поля |
Тип данных |
Размер |
Описание |
1. |
Nazvanie Diska |
Alpha |
25 |
Название Диска |
2. |
Zhanr |
Alpha |
25 |
Жанр |
3. |
God vypuska |
Number |
25 |
Год выпуска |
4. |
Cena |
$(Money) |
25 |
Цена |
5. |
Opisanie |
Alpha |
100 |
Описание |
6. |
Kolichestvo |
Number |
25 |
Количество |
3.2. Описание формы ввода данных, с используемыми компонентами
Рисунок 4. Главная форма
Главная форма при выборе Жанра
Рисунок 4.1.
Описание компонентов главной формы
Таблица 3.
№ п/п |
Название компонента |
Вид компонента |
Описание |
1 |
Label 2 |
Надпись |
Название диска |
2 |
DBGrid1 |
Таблица |
Таблица для ввода и отображения данных |
3 |
Label 3 |
Надпись |
Жанр |
4 |
DBGrid2 |
Таблица |
Таблица для ввода и отображения данных |
5 |
Label 4 |
Надпись |
Год выпуска |
6 |
DBGrid3 |
Таблица |
Таблица для ввода и отображения данных |
7 |
Label 5 |
Надпись |
Цена диска |
8 |
DBGrid4 |
Таблица |
Таблица для ввода и отображения данных |
9 |
Label 6 |
Надпись |
Описание диска |
10 |
DBGrid5 |
Таблица |
Таблица для ввода и отображения данных |
11 |
Label 7 |
Надпись |
Количество дисков |
12 |
DBGrid6 |
Таблица |
Таблица для ввода и отображения данных |
13 |
Label 8 |
Надпись |
Поиск по названию |
14 |
Edit 1 |
Таблица |
Отображение поиска по названию |
15 |
Label 9 |
Надпись |
Отбор по жанру |
16 |
Edit 2 |
Таблица |
Отображение отбора по жанру |
17 |
Button 1 |
Действия |
Кнопка «выбора» жанра |
18 |
Button 2 |
Действия |
Кнопка «очистить» |
19 |
Button 3 |
Действия |
Кнопка «Список дисков» |
20 |
DBNavigator 1 |
Действия |
Навигатор управления таблицей |
Информация о работе Разработка программы «Каталог компьютерных дисков» по программе Delphi7