Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

653

.pdf
Скачиваний:
0
Добавлен:
09.01.2024
Размер:
2.37 Mб
Скачать

Министерство сельского хозяйства Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования «Пермская государственная сельскохозяйственная академия

имени академика Д.Н. Прянишникова»

А.Ю. БЕЛЯКОВ

ПРОГРАММИРОВАНИЕ СЛОЖНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

Учебное пособие

Пермь

ИПЦ «Прокростъ»

2017

УДК 004.43

ББК 32.973-018.1

Б 448

Рецензенты:

А.П. Рыбаков – профессор кафедры общей физики ПНИПУ, доктор физикоматематических наук, профессор.

А.С. Шабуров – доцент кафедры автоматики и телемеханики ПНИПУ, кандидат технических наук, доцент.

Б 448 Беляков, А.Ю.

Программирование сложных информационных систем : учебное пособие / А.Ю. Беляков; М-во с.-х. РФ, федеральное гос. бюджетное образов. учреждение высшего образов. «Пермская гос. с.-х. акад. им. акад. Д.Н. Прянишникова». – Пермь : ИПЦ «Прокростъ», 2017. – 120 с.

ISBN 978-5-94279-361-6

Учебное пособие является базовым по изучению подходов к программированию сложных информационных систем. В пособии в избирательной форме изложены технологии объектно-ориентированного программирования и на практических примерах проанализированы некоторые конкретные приемы. Пособие ориентировано на самостоятельное освоение материала с исследованием программ в средах программирования Visual Studio и RAD Studio. Рассматриваемый материал требует первичного знания основ структурного, модульного и событийного программирования.

Пособие предназначено для студентов, обучающихся по направлению подготовки 09.04.03 Прикладная информатика.

УДК 004.43 ББК 32.973-018.1

Утверждено в качестве учебного пособия методическим советом ФГБОУ ВО Пермская ГСХА (протокол № 1от 11 сентября 2017 года).

Учебное издание Беляков Андрей Юрьевич

ПРОГРАММИРОВАНИЕ СЛОЖНЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

Учебное пособие

Подписано в печать 16.10.17.

Формат 60×841/16. Усл. печ. л. 7,50 Тираж 50 экз. Заказ № 131

ИПЦ «ПрокростЪ»

Пермской государственной сельскохозяйственной академии имени академика Д.Н. Прянишникова,

614990, Россия, г. Пермь, ул. Петропавловская, 23

тел. (342) 210-35-34

ISBN 978-5-94279-361-6

© ИПЦ «Прокростъ», 2017

 

© Беляков А.Ю., 2017

 

Содержание

 

Введение.......................................................................................

4

Глава 1. Технологии конвертации данных .........................

6

Глава 2. Компоненты сторонних производителей..........

29

Глава 3. Динамические библиотеки .................................

36

Глава 4.

Работа с базами данных ......................................

47

Глава 5.

Автоматизация обработки XML-документов ..

76

Глава 6.

Динамическая архитектура приложения ............

83

Глава 7.

Обработка файлов .....................................................

94

Заключение..................................................................................

117

Библиографический список ....................................................

118

Приложение. Пример программы с динамической

 

 

библиотекой ......................................................

119

3

Введение

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

Информационная система, прежде всего, создается для автоматизации обработки данных, поэтому первая глава посвящена обзору современных подходов к обработке данных и подробному рассмотрению способов использования технологии OLE и технологии ADO в Delphi. Иерархическая и многокомпонентная структура сложной информационной системы основана на предварительной и раздельной работе по созданию отдельных частей приложения, поэтому вторая глава пособия посвящена интеграции и использованию компонентов от сторонних производителей. Разбиение сложной информационной системы подразумевает модульность программ, поэтому третья глава посвящена проектированию динамических библиотек в Delphi. Объем данных постоянно нарастает, поэтому не теряет актуальности задача разработка приложений по систематизации хранения и обработки информации в соответствии со схемой данных, поэтому следующая глава посвящена работе с базами данных. Набирает популярность xml формат хранения и обработки табличной

4

информации. Пятая глава посвящена обсуждению xmlдокументов и технологий работы с ними в современных средах программирования.

Современные программы, ввиду расширяющихся требований к их функционалу, становятся всѐ сложнее, и одним из важных моментов в этом ключе является наличие адаптивности в архитектуре приложения. Решению данного вопроса посвящена шестая глава. И, наконец, в заключительной главе данного учебного издания обсуждаются способы представления информации в файлах, текстовых и типизированных, а также технологии работы с данными в файлах.

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

5

Глава 1. Технологии конвертации данных

Значительный сегмент разрабатываемых программных продуктов связан с автоматизацией обработки данных. Предполагается, что приложение принимает поток входных данных, обрабатывает их согласно предписанному функционалу и сохраняет их в одном из подходящих форматов. В данной последовательности у разработчика могут возникнуть проблемы на этапе обработки входных файлов и формирования выходных.

Какими могут быть входные/выходные файлы? К наиболее распространенным вариантам отнесем: файлы с последовательным доступом (неструктурированы, текстовые), файлы с произвольным доступом (структурированы, основаны на записях, типизированные), файлы специализированных форматов (базы данных, табличные процессоры).

Для успешного освоения текущей темы следует иметь навыки работы с типизированными файлами и с базами данных:

– особенности доступа к текстовым и типизированным файлам, стандартные подпрограммы для работы с ними и обработку ошибок ввода/вывода мы обсуждали в рамках темы «Файлы» –

http://delphi-pgsha.narod.ru/labrab/labrab3.pdf.

– особенности подключения к базам данных и выполнения запросов мы обсуждали в теме «Проектирование системы управления базами данных» (понимание этой темы и навыки работы с объектами базы данных через ADO обязательны) –

http://delphi-pgsha.narod.ru/labrab/labrab5.pdf.

В данной теме мы затронем вопросы подключения приложения к таблицам из файла Microsoft Excel и формирования в них отчетности (по предметной области).

6

Необходимо освоить:

способы доступа к данным (чем открывать файл);

динамическое определение формата файла (версия офиса);

варианты организации отображения данных в приложении;

варианты организации взаимодействия с данными;

порядок замены данных в файле или сохранения их в новый файл.

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

Способы доступа к данным Microsoft Excel

Обеспечить доступ к данным в файле Microsoft Excel можно несколькими способами:

1)через OLE–объекты;

2)через ADO–объекты;

3)через библиотеки сторонних производителей.

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

1. OLE (Object Linking and Embedding) – технология свя-

зывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт. OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютере издательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображе-

7

ний с помощью OLE-технологии. Однако, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя.

2.ADO (ActiveX Data Object) – интерфейс программирования приложений для доступа к данным, разработанный корпорацией Майкрософт и основанный на технологии компонентов ActiveX. Прежде всего данная технология ориентирована на обработку данных MS Access и MS SQL Server. Интерфейс ADO позволяет не только обрабатывать данные в объектно-ориентированном виде, но и получать доступ к разнообразным источникам (реляционные базы данных, текстовые файлы, файлы Excel).

3.В качестве альтернативы непосредственного использования указанных выше технологий можно рассмотреть опосредованное их использование в рамках сторонних библиотек (платных или бесплатных), подключаемых к среде программирования:

TMS Flexcel Studio

http://www.tmssoftware.com/site/flexcel.asp – $125

ARExcelReport

http://www.vector-ski.com/reports/arexcelreport_index.htm – $125 , для целей обучения бесплатно

Don Excel Report

http://www.don-soft.com.ar/DonExcelReport/products.php – $75

AfalinaSoft XL Report

http://www.afalinasoft.com/download-xl-report.html – 2003 г.

FlexCelReport

http://www.freewebs.com/flexcel/ – бесплатный, для Delphi 5, 6, 7.

Изучение сторонних библиотек выходит за рамки данного пособия.

8

Технология OLE

Предварительно опишем функционал приложения – программа будет открывать указанный пользователем файл Microsoft Excel и выводить на форме содержимое первой ячейки с первой страницы из указанной книги.

Для начала создайте директорию для нашего приложения, создайте в ней файл Microsoft Excel, заполните первый лист содержимым по образцу (рис.1, слева), сохраните его и закройте. В программе предстоит много доработок, чтобы не было путаницы присмотритесь к возможному внешнему виду итоговой программы по данному вопросу (рис.1, справа).

Рис.1. Дизайн приложения для работы с технологией OLE.

Технология чтения файла.

Создайте приложение в среде Delphi, сохраните проект в той же папке и не забудьте в раздел подключаемых модулей добавить модуль ComObj !!!

В раздел глобальных переменных добавьте строковую переменную dir для хранения пути к файлу! На форме раз-

9

местите диалог открытия файла (переименуйте с opendialog1 в od) со вкладки Dialogs, а также клавишу Button1 и поле Edit1. Можете самостоятельно настроить фильтр диалога для открытия файлов с расширением xls и xlsx.

Организуем работу приложения следующим образом:

при запуске программы и обработке события создания формы в процедуре FormCreate программа определит текущую директорию и установит еѐ как начальный путь для диалога (od) открытия файла;

при клике мышкой по клавише Button1 произойдет обработка диалога и при выборе пользователем файла будет запущена функция Open_1 (в которую в качестве атрибута передается имя файла), возвращающая значение первой ячейки

спервой страницы из указанной книги;

функция Open_1 выполняет следующие действия (см. построчно в процедуре ниже) – создает OLE объект для книги Excel, открывает в нѐм указанную пользователем книгу, загружает данные из первого листа, импортирует значение первой ячейки и закрывает OLE-объект.

Для примера используйте следующий листинг процедур:

procedure TForm1.FormCreate(Sender: TObject); begin

getdir(0,dir); od.InitialDir:=dir; end;

function Open_1(const FileName: string): string; var ExlApp, ExlBook, ExlSheet: OLEVariant;

begin ExlApp:=CreateOleObject('Excel.Application'); ExlBook:=ExlApp.Workbooks.Open(FileName); ExlSheet:=ExlBook.Worksheets[1]; result:=ExlSheet.Range['A1'].Text; ExlApp.Quit;

end;

procedure TForm1.button1Click(Sender: TObject); begin

if od.Execute then edit1.Text:=Open_1(od.FileName); end;

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]