Выдержка из текста работы
С начала 60-70хх началось бурноеразвитие компьютеризации всех крупных промышленных центров. Ближе к 80-ым,компьютеры стали появляться и в учебных заведениях, предмету «Информатика»стали уделять огромное внимание. Стали появляться языки программированиявысокого уровня такие, как Delphi, C++.
Далее пойдет речь о языкепрограммирования Delphiи о базахданных.
В России Borland Delphi появляетсяв конце 1993 г. и сразу же завоевывает широкую популярность. Новые версиивыходят практически каждый год. В них реализуются все новые мастера, компонентыи технологии программирования.
Действительно, процесс разработки вDelphi предельно упрощен. В первую очередь это относится к созданию интерфейса,на который уходит 80% времени разработки программы. Вы просто помещаете нужныекомпоненты на поверхность Windows-окна (в Delphi оно называется формой) инастраиваете их свойства с помощью специального инструмента (Object Inspector).С его помощью можно связать события этих компонентов (нажатие на кнопку, выбормышью элемента в списке и т.д.) с кодом его обработки — и вот простоеприложение готово. Причем разработчик получает в свое распоряжение мощныесредства отладки (вплоть до пошагового выполнения команд процессора), удобнуюконтекстную справочную систему (в том числе и по Microsoft API), средстваколлективной работы над проектом, всего просто не перечислить. Вы можетесоздавать компоненты ActiveX без использования Microsoft IDL, расширять возможностиweb-сервера (скрипты на стороне сервера), практически ничего не зная об HTML,XML или ASP. Можно создавать распределенные приложения на базе СОМ и CORBA,Интернет- и intranet-приложения, используя для доступа к данным BorlandDataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная с Delphi3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяетсоздавать масштабируемые приложения (относительно слабо зависящие от сервераБД) за счет перенесения методов обработки информации (бизнес-правил) на среднеезвено.
Как уже говорилось ранее, в Delphiиспользуется язык Object Pascal, который постоянно расширяется и дополняетсяBorland. Язык в полной мере поддерживает все требования, предъявляемые кобъектно-ориентированному языку программирования. Как и положено строготипизированному языку, классы поддерживают только простое наследование, но затоинтерфейсы могут иметь сразу несколько предков. К числу особенностей языкаследует отнести поддержку обработки исключительных ситуаций (exceptions), атакже перегрузку методов и подпрограмм (overload) в стиле C++. К числу удачных,на взгляд автора, относится также поддержка длинных строк в формате WideChar иAnsiChar. Последний тип (AnsiStrmg) позволяет использовать все прелести динамическогоразмещения информации в памяти без всяких забот о ее выделении и сборке мусораDelphi делает это автоматически. Для поклонников свободного стиляпрограммирования имеются открытые массивы, варианты и вариантные массивы,позволяющие размещать в памяти все, что душе угодно и смешивать типы данных.
Вы можете создавать своисобственные компоненты, импортировать ОСХ-компоненты, создавать <шаблоны>проектов и <мастеров>, создающих <заготовки> проектов. Мало того,Delphi предоставляет разработчику интерфейс для связи ваших приложений (иливнешних программ) с интегрированной оболочкой Delphi (IDE).
Таким образом, вы можетеиспользовать Delphi для создания как самых простых приложений, на разработкукоторых требуется 2-3 часа, так и серьезных корпоративных проектов,предназначенных для работы десятков и сотен пользователей. Причем для этогоможно использовать самые последние веяния в мире компьютерных технологий сминимальными затратами времени и сил.
Ну, и одна из самых последнихновостей от Inprise обещает, что в ближайшем будущем вы сможете переноситьприложения, разработанные в Delphi, на платформу Linux. Более подробнуюинформацию о Delphi можно получить на сайтах www.inprise.com и www.inprise.ru.Существует большое количество сайтов, посвященных Delphi, например<Королевство Delphi> — delphi.vitpc.com, Torry’s Delphi Pages — www.torry.ru. Последний содержит большое число ссылок на ресурсы, связанные сDelphi. Ну а если вы уже давно знакомы с этим продуктом, то на сайтеwww.brainbench.com можно бесплатно протестироваться в качестве программистаDelphi 3 и получить по почте сертификат.
Мощность и гибкость Delphi приработе с базами данных основана на низкоуровневом ядре — процессоре баз данныхBorland Database Engine (BDE). Его интерфейс с прикладными программаминазывается Integrated Database Application Programming Interface (IDAPI). Впринципе, сейчас не различают эти два названия (BDE и IDAPI) и считают ихсинонимами. BDE позволяет осуществлять доступ к данным как с использованиемтрадиционного record-ориентированного (навигационного) подхода, так и сиспользованием set-ориентированного подхода, используемого в SQL-серверах базданных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных,используя технологию (и, соответственно, драйверы) Open DataBase Connectivity(ODBC) фирмы Microsoft. Но, как показывает практика, производительность системс использованием BDE гораздо выше, чем оных при использовании ODBC. ODBCдрайвера работают через специальный “ODBC socket”, который позволяет встраиватьих в BDE.
Все инструментальные средства базданных Borland — Paradox, dBase, Database Desktop — используют BDE. Всеособенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этимиже особенностями обладает и Delphi.
Алиасы
Таблицы сохраняются в базе данных.Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов,представляющих собой таблицы (в основном, все локальные СУБД), в то время какдругие состоят из одного файла, который содержит в себе все таблицы и индексы(InterBase). Например, таблицы dBase и Paradox всегда сохраняются в отдельныхфайлах на диске. Каталог, содержащий dBase .DBF файлы или Paradox .DB файлы,рассматривается как база данных. Другими словами, любой каталог, содержащийфайлы в формате Paradox или dBase, рассматривается Delphi как единая базаданных. Для переключения на другую базу данных нужно просто переключиться надругой каталог. Как уже было указано выше, InterBase сохраняет все таблицы водном файле, имеющем расширение .GDB, поэтому этот файл и есть база данныхInterBase.
Удобно не просто указывать путьдоступа к таблицам базы данных, а использовать для этого некий заменитель — псевдоним, называемый алиасом. Он сохраняется в отдельном конфигурационномфайле в произвольном месте на диске и позволяет исключить из программы прямоеуказание пути доступа к базе данных. Такой подход дает возможность располагатьданные в любом месте, не перекомпилируя при этом программу. Кроме пути доступа,в алиасе указываются тип базы данных, языковый драйвер и много другой управляющейинформации. Поэтому использование алиасов позволяет легко переходить отлокальных баз данных к SQL-серверным базам (естественно, при выполнениитребований разделения приложения на клиентскую и серверную части).
Для создания алиаса запустите утилитуконфигурации BDE (программу bdeadmin.exe), находящуюся в каталоге, в которомрасполагаются динамические библиотеки BDE.
<img src="/cache/referats/7402/image003.jpg" v:shapes="_x0000_i1025">
Рис. 1: Главное окно утилиты конфигурации BDE
<img src="/cache/referats/7402/image005.jpg" v:shapes="_x0000_i1026">
Рис. 2: В диалоговом окне добавления нового алиаса можно указать тип базы данных
Главное окно утилиты настройки BDEимеет вид, изображенный на рис.1. Для создания алиаса выберите в меню “Object”пункт “New”. В появившемся диалоговом окне выберите имя драйвера базы данных.Тип алиаса может быть стандартным (STANDARD) для работы с локальными базами вформате dBase или Paradox или соответствовать наименованию SQL-сервера(InterBase, Sybase, Informix, Oracle и т.д.).
После создания нового алиаса следует дать ему имя. Этоможно сделать с помощью подпункта “Rename” меню “Object”. Однако просто создатьалиас не достаточно. Вам нужно указать дополнительную информацию, содержаниекоторой зависит от типа выбранной базы данных. Например, для баз данных Paradoxи dBase (STANDARD) требуется указать лишь путь доступа к данным, имя драйвера ифлаг ENABLE BCD, который определяет, транслирует ли BDE числа вдвоично-десятичном формате (значения двоично-десятичного кода устраняют ошибкиокругления):
TYPE
STANDARD
DEFAULT DRIVER
PARADOX
ENABLE BCD
FALSE
PATH
c:usersdata
SQL-сервер InterBase и другие типыбаз данных требуют задания большого количества параметров, многие из которыхможно оставить установленными по умолчанию.
Системнаяинформация утилиты настройки BDE
Итак, мы познакомились с наиболееважной возможностью утилиты настройки BDE — созданием и редактированиемалиасов, определяющих параметры доступа к базам данных. Однако, утилитанастройки BDE позволяет специфицировать не только алиасы, но и драйверы длядоступа к базам данных, а также различную системную информацию, составляющуюоперационное окружение этих самых алиасов.
Рассмотрим, например, системнуюинформацию драйвера PARADOX:
NET DIR. Параметр содержитрасположение каталога сетевого управляющего файла. Он нужен для того, чтобыобратиться к таблице PARADOX на сетевом диске.
VERSION. Номер версии драйвера.
TYPE. Тип драйвера.
LANGDRIVER. Языковой драйвер,определяющий множество допустимых символов.
BLOCK SIZE. Размер блока на диске,используемого для запоминания одной записи.
FILL FACTOR. Содержит процент отблока на текущем диске. Параметр нужен для создания индексных файлов.
LEVEL. Параметр определяет типформата таблицы, используемой для создания временных таблиц.
STRICTINTEGRTY. Параметриспользования ссылочной целостности. Если он равен TRUE, то вы не можетеизменить таблицу с ссылочной целостностью, а если FALSE, то можете, но рискуетенарушить целостность данных.
Какуже отмечалось выше, утилита настройки BDE сохраняет всю конфигурационнуюинформацию в файле IDAPI.CFG. Этот файл с предустановленными ссылками надрайверы и некоторыми стандартными алиасами создается при установке Delphi.Кроме того, он создается при установке файлов редистрибуции BDE (т.е. когда Выпереносите BDE и SQL Links на другие компьютеры). (1)
Целью создания данного программного продуктаявляется выявление лучшей группы колледжа по оценкам аттестационной илиэкзаменационной сессии.
Данная программа универсальна, так как можетприменяться в любом среднем специальном или высшем учебном заведении. Программаработает с Базами данных и вероятность ошибки в ней практически исключена.
Задача разработана в соответствии с ГОСТом 19.201-78 (ст. СЭВ 1627-79).
Определение лучшей группы колледжа путемвычисления среднего арифметического оценок по каждой группе и сравнение полученногорезультата с результатами остальных групп.
Входными данными в этой программе являются базыданных
stud.dbс полями:
§<span Times New Roman""> Zachetka
§<span Times New Roman""> Student
§<span Times New Roman""> Grup
§<span Times New Roman""> Kurs
sessia.dbс полями:
§<span Times New Roman""> Zachetka
§<span Times New Roman""> Kodpr
§<span Times New Roman""> Sessia
§<span Times New Roman""> Ocenka
§<span Times New Roman"">
predmet.dbс полями:
§<span Times New Roman""> kodpr
§<span Times New Roman""> predmet
созданные с помощью компонента для работы с базамиданных BorlandDelphiDatabaseDesktop. Длясоздания использовался драйвер баз данных Paradox7.0. Для администрированияэтих баз данных, в BorlandDelphiAdministratorбыл созданAlias(Псевдоним) kurs.
Выходными данными является название лучшей группы. Лучшая группаопределяется следующим образом:
По полям базы данных формируется массив оценок одной группы, затемпрограмма считает среднее арифметическое и сохраняет результат в массив сименами групп. После прохождения программой всех групп элементы массива сназваниями групп сравниваются, группа имеющая наиболее высокий показательсчитается лучшей группой.
Лучшая группа колледжа вычисляется по среднемуарифметическому.
Арифметическое среднее, число ( <img src="/cache/referats/7402/image007.gif" v:shapes="_x0000_i1027">
<img src="/cache/referats/7402/image009.gif" v:shapes="_x0000_i1028">
Например, А. с. чисел 3, 5, 7 равно (3 + 5 + 7)/3 = 5.
Арифметическое среднее, нескольких величин равны ихсумме, деленной на их число. Если n измерений или наблюдений, одинаковозаслуживающих доверия, дают n значений, a1, a2.-то вероятнейшее значениеизмеряемой величины есть А. среднее чисел a.
<img src="/cache/referats/7402/image010.jpg" v:shapes="_x0000_i1029">
Рис. 3. Общий вид окна вычисления
<img src="/cache/referats/7402/image011.jpg" v:shapes="_x0000_i1030">
Рис. 4. Общий вид окна редактированияБД
<div v:shape="_x0000_s1071">
<div v:shape="_x0000_s1072">
<img src="/cache/referats/7402/image014.gif" v:shapes="_x0000_s1027"> ввод
данных
<div v:shape="_x0000_s1073">
<img src="/cache/referats/7402/image016.gif" v:shapes="_x0000_s1028">
вычисление
среднего
арифметического
<div v:shape="_x0000_s1074">
<img src="/cache/referats/7402/image018.gif" v:shapes="_x0000_s1047">
<img src="/cache/referats/7402/image019.gif" v:shapes="_x0000_s1063"><img src="/cache/referats/7402/image020.gif" v:shapes="_x0000_s1062"><img src="/cache/referats/7402/image021.gif" v:shapes="_x0000_s1061"><img src="/cache/referats/7402/image022.gif" v:shapes="_x0000_s1060"> ЦИКЛ
<div v:shape="_x0000_s1075">
<img src="/cache/referats/7402/image024.gif" v:shapes="_x0000_s1029">
<div v:shape="_x0000_s1076">
<img src="/cache/referats/7402/image025.gif" v:shapes="_x0000_s1032"><img src="/cache/referats/7402/image026.gif" v:shapes="_x0000_s1065"><img src="/cache/referats/7402/image027.gif" v:shapes="_x0000_s1064"><img src="/cache/referats/7402/image026.gif" v:shapes="_x0000_s1057"><img src="/cache/referats/7402/image028.gif" v:shapes="_x0000_s1058"><img src="/cache/referats/7402/image029.gif" v:shapes="_x0000_s1056"><img src="/cache/referats/7402/image030.gif" v:shapes="_x0000_s1055"><img src="/cache/referats/7402/image031.gif" v:shapes="_x0000_s1054"><img src="/cache/referats/7402/image031.gif" v:shapes="_x0000_s1053"><img src="/cache/referats/7402/image032.gif" v:shapes="_x0000_s1052"> Сравнение<img src="/cache/referats/7402/image033.gif" v:shapes="_x0000_s1049"><img src="/cache/referats/7402/image034.gif" v:shapes="_x0000_s1050">
Лучшая
группа
<div v:shape="_x0000_s1077">
Конец
1.<span Times New Roman""> Начало программы;
2.<span Times New Roman""> Просмотр очередного поля БД;
3.<span Times New Roman""> Вычисление среднего арифметического по оценкам каждойгруппы
4.<span Times New Roman""> Цикл от 1 до количества групп
5.<span Times New Roman""> Сравнение резултатов групп
6.<span Times New Roman""> Выявление лучшей группы
7.<span Times New Roman""> Выход из программы
Созданнаяпрограмма должна обеспечить вычисление и вывод лучшей группы колледжа.
<img src="/cache/referats/7402/image035.gif" v:shapes="_x0000_s1078">
Управляющаяпрограмма
<img src="/cache/referats/7402/image013.gif" " v:shapes="_x0000_s1081"> <img src="/cache/referats/7402/image001.gif" " v:shapes="_x0000_s1083">
<img src="/cache/referats/7402/image036.gif" v:shapes="_x0000_s1080"><img src="/cache/referats/7402/image037.gif" v:shapes="_x0000_s1079">
Вычисление и вывод лучшей Редактирование базы данных
группы колледжа
Надежность программы зависит от работы всей системы иот условий ее хранения. Если программа записана гибком магнитном диске, то еенадежность зависит от правильного хранения дискеты. В этом случае рекомендуетсясоздать копию дискеты.
В качестве постоянного хранения программы следуетиспользовать жесткий магнитный диск, а для распространения программы, установкупрограммы лучше записывать на CD-ROM.
2.1.3.3. требования к составу и параметрам техническихсредств
Программа была выполнена в оперционной системе WindowsME, она совместима с опеационными системами Windows98, WindowsXP, Windows95, WindowsME, Windows2000.
Для работы данной программы используется ПК имеющийследующий характеристики:
§<span Times New Roman""> Процессорне ниже
§<span Times New Roman""> Емкость ОЗУне ниже 64 МБ
§<span Times New Roman""> Разрядность32 бит
§<span Times New Roman""> Жесткиймагнитный диск
§<span Times New Roman""> Диск 3,5
§<span Times New Roman""> CD-ROM
1.<span Times New Roman""> Начало
2.<span Times New Roman""> Инициализацияокна приложения
3.<span Times New Roman""> Ввод данныхв программу
4.<span Times New Roman""> Обработкаданных
5.<span Times New Roman""> Выявлениелучшей группы
6.<span Times New Roman""> Если датаобновления БД, позднее установленного – открытие окна редактирования БД
7.<span Times New Roman""> Выход изпрограммы
Текст программы приводится в Приложении 1
В программе использованы два Unit
Unit1 –определение лучшей группы
Unit2 – редактированиеБД
В результатетестового запуска программы не наблюдалось никаких ошибок и сбоев. Программаработает корректно и полностью отвечает поставленной задаче.
Для запуска программы необходимо из меню «Пуск»,раздел «Программы», выбрать «Колледж», «Колледж».
После запуска программы, если дата не просрочена,запускается окно приложения, с помощью которого можно получить результат олучшей группе, иначе выводится окно приложения редактирования базы данных.
Данный курсовой проект является актуальным и отвечаетпредъявленым к нему требованиям. Была разработана и написана,на языке программирования высокого уровня BorlandDelphi5.0, с использованием базданных, программа, позволяющая определить лучшую группу колледжа по среднемубаллу аттестационной и экзаменационной сессии.
2.<span Times New Roman""> Большая СоветскаяЭнциклопедия
3.<span Times New Roman"">
4.<span Times New Roman""> Delhphi
<span Courier New"; mso-ansi-language:EN-US">unit Unit1;
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">interface
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">uses
<span Courier New"; mso-ansi-language:EN-US"> Windows,Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
<span Courier New"; mso-ansi-language:EN-US"> StdCtrls,Grids, DBGrids, Db, DBTables;
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">type
<span Courier New"; mso-ansi-language:EN-US"> TForm1 =class(TForm)
<span Courier New"; mso-ansi-language:EN-US"> Table1:TTable;
<span Courier New"; mso-ansi-language:EN-US"> DataSource1:TDataSource;
<span Courier New"; mso-ansi-language:EN-US"> Table2:TTable;
<span Courier New"; mso-ansi-language:EN-US"> DataSource2:TDataSource;
<span Courier New"; mso-ansi-language:EN-US"> DBGrid1:TDBGrid;
<span Courier New"; mso-ansi-language:EN-US"> DBGrid2:TDBGrid;
<span Courier New"; mso-ansi-language:EN-US"> Button1:TButton;
<span Courier New"; mso-ansi-language:EN-US"> Label2:TLabel;
<span Courier New"; mso-ansi-language:EN-US"> procedureButton1Click(Sender: TObject);
<span Courier New"; mso-ansi-language:EN-US"> procedureButton2Click(Sender: TObject);
<span Courier New"; mso-ansi-language:EN-US"> procedureFormShow(Sender: TObject);
<span Courier New"; mso-ansi-language:EN-US"> private
<span Courier New"; mso-ansi-language:EN-US"> { Privatedeclarations }
<span Courier New"; mso-ansi-language:EN-US"> public
<span Courier New"; mso-ansi-language:EN-US"> { Publicdeclarations }
<span Courier New"; mso-ansi-language:EN-US"> end;
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">var
<span Courier New"; mso-ansi-language:EN-US"> Form1: TForm1;
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">implementation
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">uses Unit2;
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">{$R *.DFM}
<span Courier New"; mso-ansi-language:EN-US">
<span Courier New"; mso-ansi-language:EN-US">procedure TForm1.Button1Click(Sender: TObject);
<span Courier New"; mso-ansi-language:EN-US">var
<span Courier New"; mso-ansi-language:EN-US">t, i, k, j, f: integer;
<span Courier New"; mso-ansi-language:EN-US">tmp: string;
<span Courier New"; mso-ansi-language:EN-US"> gr: array ofstring;