Исследование особенностей разработки программы на основе Microsoft Aсcess 2003. Создание главной формы проекта и механизма экспорта данных в приложение Microsoft Word на основе компонентов OLE Automation. Описания реализации задачи при помощи Delphi.
При низкой оригинальности работы "Электронный документооборот в системе учета выдачи и возврата книг в библиотеке", Вы можете повысить уникальность этой работы до 80-100%
Появляется таблица - по умолчанию имя таблицы «Таблица1», а в нашем случае «Список студентов», изображенная на рисунке 2 приложения 1 с полями: «FAMILYA», «NAME», «OTCH.», «NUMBER», «ADR», «NAME_BOOK», «DATA_REG», «NUMB_BOOK». Аналогично описанному выше создаем еще одну таблицу с именем «Номер», в которой будут содержаться данные об изучаемых предметах с полями «NUMBER» - тип поля «Счетчик», «NAME» - тип поля «Текстовый». Создаем еще одну таблицу «Учет Выдачи», которая изображена на рисунке 4 приложения 1, в которой будут содержаться с полями «Номер» - тип поля «Счетчик», «ID_BOOK» - тип поля «Текстовый», размер поля 50, «PICATEL» - тип поля «Текстовый», размер поля 50, «REITING» - тип поля «Текстовый», размер поля 50. WORDDOCUMENT1.Tables.Item(1).cell(i,j).Borders.Enable:=1; //рисуем границы ячейки таблицы if i <COLROWS then WORDDOCUMENT1.Tables.Item(1).cell(i 1,j).Range.INSERTAFTER(Query1.Fields[j-1].ASSTRING); //Вводи данные из БД end; //Пример применения диапазона "Range" для выравнивания двух абзацев из четырех ранее введенных--------------Start1:=WORDDOCUMENT1.Paragraphs.Item(1).Range.start; //начальный абзацВ проекте были получены навыки создания базы данных в Microsoft Access.Абонент _________________, проживающий по адресу: ________, зарегистрированный _____ числа, получил на руки книгу ___________ Зарегистрированный : __________ числа, выдать след книгу________________________ Абонент Иванов Петр Петрович, проживающий по адресу: Халтурина 8, кв 58 зарегистрированный 03.05.2006 числа, Получил на руки книгу Мертвые души Зарегистрированный : 03.05.
Введение
Электронный документ в целом в нынешнее время приобретает все более важное значение, как один из важнейших компонентов современного фонда библиотеки. Это обусловлено тем, что информационные технологии все глубже проникают во все сферы жизнедеятельности человека. И для библиотеки, как организации, осуществляющей хранение и передачу информации во времени и пространстве, электронный документ является очень важным компонентом, как носитель информации. И очень важно определить место электронного документа в структуре библиотеки в целом, и в библиотечном фонде в частности.
Одной из главных проблем, стоящей перед библиотечными фондами, является трудность определения сущности понятия "электронный документ" и применимость данного определения в сфере фонда библиотек. Очень часто сотрудники библиотеки испытывают трудности при определении того какой именно формой электронных документов следует комплектовать фонд, для последующего учета, хранения и передачи.
В настоящее время человечество активно осваивает новую коммуникативную среду, в которой формируются цифровые аналоги информационных массивов, сохраняемых в традиционной среде отлаженной системой библиотек и архивов. На данный момент приходится признать отсутствие хоть какой-то системности в представлении электронных документов, их источниках, легитимности, описании, качестве. Нестабильность этих коллекций имеет множество негативных сторон, одна из которых - невозможность точной ссылки, что делает научные ресурсы, например, пригодными только для ознакомления. Считается, что система поисковых машин достаточно надежна, но они работают только по распознанным текстам. И совсем никто не несет ответственности за сохранность текстов на более или менее серьезный промежуток времени.
Поскольку в электронной среде мы должны вновь создавать механизмы стандартизации, сохранения и трансляции тех электронных документов, которые по своим характеристикам могут быть отнесены к объектам национального научного и культурного наследия, то для этого требуется система с совершенно определенными качествами, все аналоги которой уже заложены в библиотечной системе. И ее принципы должны быть перенесены и Интернет и адаптированы под новые коммуникации.
В “доэлектронную эру" библиотеки выполняли роль “второго контура" в документном пространстве, поскольку сам документный поток формируется издательствами, которые определяют и все стандарты того, что рассматривается в качестве книги или периодического издания. Библиотеки, опираясь на социальную значимость документов, принимали решение только о том, какие из них должны включаться в фонды. Сейчас библиотеки не только сами формируют электронные документы (в рамках создания электронных библиотек, но и должны определиться, какова их зона ответственности за кумуляцию, сохранение и предоставление пользователям электронных ресурсов, создаваемых другими организациями. На решение этой проблемы направлены усилия специалистов в различных странах.
Для сохранения единства документно-информационного пространства в основу комплектования фондов электронных библиотек, должен быть положен принцип преемственности подходов, правил и методик, принятых в библиотечной практике. Поэтому необходимо выделить из всего множества электронных ресурсов те объекты, которые по своим существенным признакам могут быть отнесены к объектам библиотечного хранения.
Несмотря на то, что уже есть большое количество определений понятия “электронный документ”, “электронная книга”, “электронный ресурс” ни одно из них не позволяет подойти к выстраиванию типологических характеристик, без которых невозможно сформулировать подходы к их собиранию, государственному библиографическому учету, каталогизации и длительному сохранению.
Очевидно, что из всего многообразия в библиотеках собираются документы, имеющие характер портативных, неаутентичных, информационно значимых самодостаточных, прошедших процедуру обнародования (опубликования, издания). Если в дальнейшем в Интернет возобладают другие подходы, то решения могут быть скорректированы, так же как не остается неизменной практика архивного и библиотечного дела.
Рассмотрим, что стоит понимать под терминами электронный и машиночитаемый документ.
В профессиональной печати (как библиотечной, так и отражающей проблемы информатики) часто встречается термин "машиночитаемый документ", что означает, документ, пригодный для автоматического считывания содержащейся на нем информации. При этом имеется в виду именно ЭВМ. Однако машиночитаемый по логике самого слова означает, что он читается при помощи машины и совсем не обязательно электронной. Микрофиша с большим сжатием - тоже машиночитаемый документ, поскольку ее невозможно прочесть без помощи аппарата.
Кроме того, история свидетельствует, что счетно-перфорационная машина создана в США во второй половине XIX в. и впервые использована для подсчета результатов переписи населения в 1890 г. В России машиночитаемые документы появились также в связи с необходимостью обработки данных всеобщей переписи населения 1897 г. На основе листов первичного учета было заполнено около 126 млн 22-колонных перфокарт, которые поступили в специальный архив Центрального статистического комитета, а затем после опубликования итогов переписи в 1905 г. Уничтожены.
Земсков А.И. пишет в своем научном труде.
Проводившаяся в нашей стране в 1920-х гг. рационализация делопроизводства во многом основывалась на использовании перфокарт. Они применялись на машиносчетных станциях и машиносчетных установках и имели справочный аппарат в виде таблиц кодирования и контрольных табуляграмм.
Таким образом, определения терминов электронный документ и машиночитаемый документ в современной трактовке нельзя признать вполне удовлетворительными. Помимо собственно уточнения эти понятия нуждаются и в разработке типологии, без которой очень трудно решать вопросы формирования библиотечных фондов.
Но пока специалисты не выработали систему понятий, описывающих электронные ресурсы, будем условно считать оптические компакт-диски электронными изданиями, а говоря об электронных документах, будем иметь в виду те, которые существуют только на жестком диске компьютера и серверах, т.е. не имеют отдельно взятого материального носителя.
Этапы разработки программы.
Выражение "написать программу" отражает только один из этапов создания компьютерной программы, когда разработчик программы (программист) действительно пишет команды (инструкции) на бумаге или при помощи текстового редактора.
Программирование - это процесс создания (разработки) программы, который может быть представлен последовательностью следующих шагов: 1. Спецификация (определение, формулирование требований к программе).
2. Разработка алгоритма.
3. Кодирование (запись алгоритма на языке программирования).
4. Отладка.
5. Тестирование.
6. Создание справочной системы.
7. Создание установочного диска (CD-ROM).
С точки зрения пользователя, база данных - это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как правило, появляется таблица, просматривая которую пользователь может найти интересующие его сведения. Если система позволяет, то он может внести изменения в базу данных: добавить новую информацию или удалить ненужную.
С точки зрения программиста, база данных - это набор файлов, содержащих информацию. Разрабатывая базу данных для пользователя, программист создает программу, которая обеспечивает работу с файлами данных.
В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (DBASE, FOXPRO, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.
В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от DBASE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в различных форматах.
Классификация баз данных
В зависимости от расположения программы, использующей данные, и самих данных, а также способа разделения данных между несколькими пользователями различают локальные и удаленные базы данных.
Задание
Создать программу по электронному документообороту в системе учета выдачи и возврата книг в библиотеке.
Необходимо создать таблицы базы данных в Microsoft Access, описать структуру созданных таблиц. В Delphi необходимо создать главную форму проекта и механизма экспорта данных в приложения Microsoft Word, Microsoft Excel на основе компонентов OLE Automation - WORDAPPLICATION, WORDDOCUMENT, EXCELAPPLICATION, EXCELWORKBOOK, EXCELWORKSHEET, EXCELCHART.
Реализация задачи при помощи программы Microsoft Acess 2003
Создание необходимых таблиц
Запускаем программу. Справа откроется меню «Создание файла». Выбираем из списка «Новая база данных» при этом программа предложит сохранить файл самой базы *.mdb на диск в соответствующем окне. Необходимо указать путь для сохранения этого файла и нажать кнопку «Сохранить». В окне *.mdb, изображенном на рисунке 1 в приложении 1 выбираем в объектах «Таблицы», затем «Создание таблицы в режиме констурктора». Появляется таблица - по умолчанию имя таблицы «Таблица1», а в нашем случае «Список студентов», изображенная на рисунке 2 приложения 1 с полями: «FAMILYA», «NAME», «OTCH.», «NUMBER», «ADR», «NAME_BOOK», «DATA_REG», «NUMB_BOOK». В нашем случае таблица называется «Список абонентов», в которой будут содержаться данные по абонентам. Далее заполняем поля. В поле «Имя поля» вводим «FAMILYA», в поле «Тип данных» выбираем «Текстовый». В свойствах поля выбираем размер поля 50, индексированное поле. Аналогично заполняем поля таблицы для имен «NAME» - текстовое, «OTCH.» - текстовое, «NUMBER» - текстовое, «ADR» - текстовое, «NAME_BOOK» - текстовое, «DATA_REG ET» и «NUMB_BOOK» - тип данных «Числовой», длинное целое.
Аналогично описанному выше создаем еще одну таблицу с именем «Номер», в которой будут содержаться данные об изучаемых предметах с полями «NUMBER» - тип поля «Счетчик», «NAME» - тип поля «Текстовый».
Создаем еще одну таблицу «Учет Выдачи», которая изображена на рисунке 4 приложения 1, в которой будут содержаться с полями «Номер» - тип поля «Счетчик», «ID_BOOK» - тип поля «Текстовый», размер поля 50, «PICATEL» - тип поля «Текстовый», размер поля 50, «REITING» - тип поля «Текстовый», размер поля 50.
Шаблоны формируемых документов приведены на рисунках 5 и 6 приложения.
Образцы заполненных формируемых документов приведены на рисунках 7 и 8 приложения.
Схемы данных с информацией о формировании документов приведены на рисунках 9 и 10 приложения.
Реализация задачи при помощи Delphi
Для реализации в среде Delphi создаем пустой проект, изображенный на рисунке 11 приложения 1. Далее с панели инструментов BDE перетаскиваем на форму компонент Query(DBTABLES). Для того чтобы из таблицы, ранее созданной в СУБД Microsoft Access можно было использовать данные в приложении на Delphi нам необходимо их экспортировать. В данном случае формат экспорта DBF.
У компонента Query(DBTABLES) в Object Insperctor, устанавливаем свойства DATABASENAME в папку с экпортированным файлом DBF=C:\project1, свойство SQL, устанавливаем select * from абоненты.dbf, для запроса данных их таблицы.
Затем добавляем на форму компоненты: С панели управления Servers: MS Word MS Excel
WORDAPPLICATION - работа с приложением MS Word EXCELAPPLICATION - работа с приложением MS Excel
EXCELWORKBOOK - работа с книгой MS Excel
WORDDOCUMENT - работа с документом MS Word EXCELWORKSHEET - работа с листом книги MS Excel
EXCELCHART - работа с диаграммой
Они служат для взаимодействия Delphi c Excel и Word и используются для построения документов справочной информации и типичных документов.
С панели управления Data Acces добавляем компонент DATASOURCE(DB)
У компонента DATASOURCE(DB) в Object Insperctor, устанавливаем свойства DATASET равным Query1.
С панели управления Data Controls добавляем компонент Dbgrid(Dbgrids)
У компонента Dbgrid(Dbgrids) в Object Insperctor, устанавливаем свойства DATASOURCE равным DATASOURCE1.
С панели управления Standart добавляем компоненты: 3 компонента Button
1 компонент GROUPBOX в него добавляем 2 компонента Label и 2 компонента STATICTEXT с панели Additional.
Результат проектирования и размещения компонентов на форме приведен на рисунке 12 приложения 1.
Для подключения запроса используется Button1, для нее создаем событие по клику: procedure TFORM1.Button1Click(Sender: TOBJECT);
begin
Query1.Active:=true;
end;
Создаем событие для Dbgrid DBGRID1CELLCLICK: procedure TFORM1.DBGRID1CELLCLICK(Column: TCOLUMN);
begin
STATICTEXT2.Caption:= Query1.fieldbyname("FAMILYA").ASSTRING; //Показываем краткое содержание текущей записи
STATICTEXT3.Caption:= Query1.fieldbyname("NUMBER").ASSTRING; //Показываем краткое содержание текущей записи
NOMCLIENT:=Query1.RECNO; //фиксируем номер текущей записи для последующей работы end;
Button3 формирует файлы Excel и Word.
Подключаемся к Word и делаем базовую настройку листа: WORDAPPLICATION1.Connect;
//Загрузка существующего файла Word doc1:="C:\project1\pr1.doc"; //открыть существующий документ
WORDDOCUMENT1.Tables.Item(1).AUTOFITBEHAVIOR(2); //автоподбор размера по ширине окна (1-по содержимому)
//Рисуем границы таблицы по ячейкам и заполняем их из БД for i:=1 to COLROWS do //строки begin for j:=1 to COLCOLUMNS do //столбцы begin
WORDDOCUMENT1.Tables.Item(1).cell(i,j).Range.Font.Color:=CLGRAY; //форматируем цвет шрифта
WORDDOCUMENT1.Tables.Item(1).cell(i,j).Borders.Enable:=1; //рисуем границы ячейки таблицы if i < COLROWS then WORDDOCUMENT1.Tables.Item(1).cell(i 1,j).Range.INSERTAFTER(Query1.Fields[j-1].ASSTRING); //Вводи данные из БД end;
Query1.Next; //следующая запись БД end;
//Заполняем строку заголовков for j:=1 to COLCOLUMNS do begin with WORDDOCUMENT1.Tables.Item(1).cell(1,j).Range.Font do //Форматируем шрифт для названий колонок таблицы begin
Size:=10;
Name:="ARIALCYR";
Color:=CLBLUE;
Bold:=1;
Italic:=1;
end;
WORDDOCUMENT1.Tables.Item(1).cell(1,j).Range.INSERTAFTER(Query1.Fields[j-1].DISPLAYNAME); //Вводим названия полей БД
//Пример применения диапазона "Range" для выравнивания двух абзацев из четырех ранее введенных -------------- Start1:=WORDDOCUMENT1.Paragraphs.Item(1).Range.start; //начальный абзац
WORDDOCUMENT1.Range.INSERTAFTER(STRKOMB); //вводим текст
STRKOMB:=" зарегистрированный " Query1.FIELDBYNAME(" DATA_REG ").Asstring " числа, Получил на руки книгу " Query1.FIELDBYNAME(" NAME_BOOK").Asstring " ";
WORDDOCUMENT1.Range.INSERTAFTER(STRKOMB);
WORDDOCUMENT1.Paragraphs.Add(EMPTYPARAM); //добавить абзац, курсор в его позиции
STRKOMB:= " Книга под индексом: " Query1.FIELDBYNAME(" NUMB_BOOK").Asstring " ";
//вводим текст
WORDDOCUMENT1.Range.INSERTAFTER(STRKOMB);
//Вставка 4 пустых абзацев, курсор в позиции последнего ----- WORDDOCUMENT1.Paragraphs.Add(EMPTYPARAM);
//Вставка 3 пустых абзацев, курсор в позиции последнего ----- WORDDOCUMENT1.Paragraphs.Add(EMPTYPARAM);
WORDDOCUMENT1.Paragraphs.Add(EMPTYPARAM);
WORDDOCUMENT1.Paragraphs.Add(EMPTYPARAM);
//Пример применения диапазона "Range" для выравнивания двух абзацев из четырех ранее введенных -------------- Start1:=WORDDOCUMENT1.Paragraphs.Item(1).Range.start; //начальный абзац
//Авторазмер столбцов по ширине значений яеек (колво символов в строке Length) --- max:=0;
for j:=0 to COLCOLUMNS-1 do begin
Query1.First; //Выборка - на первую запись max:=Length(Query1.Fields[j].ASSTRING);
for i:=1 to COLROWS do begin if (max<=Length(Query1.Fields[j].ASSTRING)) then max:=Length(Query1.Fields[j].ASSTRING);
Query1.Next; //Выборка - на одну запись вниз end;
//сравниваем ширину не только по домену данных но и по заголовку таблицы if (max<=Length(Query1.Fields[j].DISPLAYNAME)) then max:=Length(Query1.Fields[j].DISPLAYNAME);
//Значения домена - на лист Excel for i:=1 to COLROWS do begin for j:=0 to COLCOLUMNS-1 do begin if i < COLROWS then EXCELWORKSHEET1.Cells.Item[i SROWS 1,j SCOLUMNS].value:=Query1.Fields[j].ASSTRING;//вставляем значения не с первой позиции end;
//--------------------------------------------------------------------- EXCELWORKSHEET1.Cells.Item[SROWS-1,SCOLUMNS].HORIZONTALALIGNMENT:=XLVALIGNCENTER; //выравнивание по горизонтали - центр
EXCELWORKSHEET1.Cells.Item[SROWS-1,SCOLUMNS].VERTICALALIGNMENT:=XLHALIGNCENTER; //выравнивание по вертикали - центр
После выполнения приложения, расположенного на рисунке 12 приложения у нас получается один документ Microsoft Word и одна книга Microsoft Excel: В Документе Microsoft Word: На первой странице документа Microsoft Word общая справочная таблица по всем абонентам, которые есть в БД, рисунок 13 приложения 1.
На второй странице располагается справка о клиенте, являющимся абонентом, с указанием его адреса, даты регистрации, книгой для получения и ее индексом, рисунок 14 приложения 1.
На третьей странице располагается Направление на выдачу с указанием даты регистрации и наименованием книги абонента, рисунок 15 приложения 1.
В Книге Microsoft Excel: На первом листе располагается общая справочная таблица по всем абонентам которые есть в БД, рисунок 16 приложения.
На втором листе располагается справка о клиенте, являющимся абонентом, с указанием его адреса, даты регистрации, книгой для получения и ее индексом, рисунок 17 приложения.
На третьем листе располагается Направление на выдачу с указанием даты регистрации и наименованием книги абонента, рисунок 18 приложения 1 . программа приложение экспорт разработка
Вывод
В проекте были получены навыки создания базы данных в Microsoft Access. Просмотр созданных СУБД в Delphi, а так же экспорт данных в приложения Microsoft Word, Microsoft Excel на основе компонентов OLE Automation - WORDAPPLICATION, WORDDOCUMENT, EXCELAPPLICATION, EXCELWORKBOOK, EXCELWORKSHEET, EXCELCHART.
Список литературы
1. «Delphi, язык и среда программирования» Фараонов В.В, Москва: 2009.
2. «Учебник по Delphi 7 для начинающих» Кирилин М.Н
3. Вейскас Д. Эффективная работа с Microsoft Access 2. С.- Петербург: «Питер Пресс», 1996. - 856 стр.
4. Ю. Бекаревич, Н. Пушкина. Самоучитель Microsoft Access 2000. - СПБ.: БХВ - Санкт-Петербург, 1999. - 480 стр.
5. Спирли Э. Корпоративные хранилища данных. Планирование, разработка, реализация. - М.: АСТ, 2001.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы