Обмен данными в приложениях ОС Windows

ВСЕРОССИЙСКИЙ ЗАОЧНЫЙ ФИНАНСОВО-ЭКОНОМИЧЕСКИЙ ИНСТИТУТ

КАФЕДРА АВТОМАТИЗИРОВАННОЙ ОБРАБОТКИ 

ЭКОНОМИЧЕСКОЙ ИНФОРМАЦИИ











КУРСОВАЯ РАБОТА

по дисциплине «Информатика»

на тему «Обмен данными в приложениях ОС Windows»







Исполнитель: 

Литвикова Анастасия Вячеславовна                                  

специальность Финансы и Кредит

группа 		       

№ зачетной книжки 10ФФД40767

Руководитель: 

Перепёлкин Евгений Александрович

                       













Барнаул – 2010

Оглавление

	Введите название главы (уровень 1)	1

	Введите название главы (уровень 2)	2

	Введите название главы (уровень 3)	3

	Введите название главы (уровень 1)	4

	Введите название главы (уровень 2)	5

	Введите название главы (уровень 3)	6




Введение

На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях считается самой распространенной операционной системой на ПК: в мире более 150 млн. IBM PC-совместимых компьютеров, и система Windows установлена на 100 млн. из них. Очевидно, что ознакомление с ПК необходимо начинать с ознакомления с Windows, ведь без нее работа на ПК немыслима для большинства пользователей. Знание системы Windows - необходимый кирпичик в стене познания ПК.

	В теоретической части курсовой работы предстоит раскрыть основные  способы обмена информацией между приложениями ОС Windows, путём рассмотрения следующих вопросов:

Обмен данными на уровне ClipBoard  (Статистический)

Обмен данными на уровне DDE-протокола (Динамический)

Обмен данными на уровне OLE-механизма

 В практической части решена задача на формирование сводной ведомости учета продукции, изготавливаемой ООО «Красный Октябрь»

	Для выполнения курсовой работы использовался : процессор Pentium IV, ОС Windows 7, MS Word 2007, MS Excel 2007.




Введение к теории

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

Обмен данными в данной операционной системе производится очень просто. Этой цели служит буфер обмена Windows (англ. Clipboard).Буфер обмена Windows представляет собой специальную область памяти, к которой могут обращаться все приложения, записывая в него и считывая из него данные.. Но в настоящее время для переноса данных из одного приложения в другое почтового ящика стало недостаточно. Появились более новые, универсальные механизмы, позволяющие переносить из одного приложения в другое разнородные данные. Эти механизмы и правила их применения в среде Windows будут раскрыты в теоретической части курсовой работы.




Теоретическая часть

1. Обмен данными между приложениями

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

Например, в текст, созданный в приложении WordPad, можно включить результат вычислений, выполненный в Калькуляторе, и рисунок, нарисованный в графическом редакторе Paint. В результате появляется составной документ, включающий данные разного типа, созданные в других программах. Когда открывается текстовый документ, являющийся главным, подключаются связанные с ним объекты из других приложений.  

2. Разновидности способов обмена данными

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

на уровне ClipBoard (буфер обмена - статистический), 

на уровне DDE-протокола(Dynamic Data Exchange-Динамический Обмен Данными), 

на уровне OLE-механизма(Object Linking and Embedding-Встраивние и Связывание Объектов). OLE - это развитие DDE.

Уровень ClipBoard предназначен для переноса информации между программами не заботясь о ее формате и представлении. Например, перенос выделенного текста из одного редактора текстов в другой, или, перенос информации между элементом редактирования одной программы и элементом редактирования другой программы. Этот уровень обмена информацией ориентирован на Пользователя и поддерживатся ядром MS Windows.

Уровень DDE-протокола ориентирован, в основном, на программистов, разрабатывающих свои программы для MS Windows. В качестве такого обмена данных можно привести следующий пример: Фирма MicroSoft предусмотрела следующую возможность в MS EXCEL. Любая ячейка электронной таблицы MS EXCEL может быть настроена таким образом, что будет способна автоматически принимать данные от какой-либо другой программы в реальном времени. Это значит, что ежели существует какая-либо программа, обслуживающая какое-либо устройство(например, цифровой вольтметр), то программист, при создании этой программы, может предусмотреть возможность направлять информацию от вольтметра (по мере ее поступления) в заданную ячейку MS EXCEL. При этом пользователь может работать с MS EXCEL, как обычно. Вместо вольтметра, поставщиком информации может быть какая-либо программа, производящая специфичную обработку информации. Уровень OLE-механизма ориентирован на пользователя. Но не каждая программа поддерживает эту возможность. Этот механизм должен быть заложен в программу на этапе проектирования и разработки программы. Этот механизм поддерживают многие прикладные программы. Например, MS EXCEL, MS WORD for Windows и др.







	2.1. На уровне ClipBoard (буфер обмена - статистический)

	Порядок обмена данными между приложениями Windows следующий.

1. Активизируют программу-источник данных (делают текущей программу, содержащую данные, которые подлежат обмену).

2. В программе-источнике данных выделяют данные, подлежащие обмену. Как правило, таблицы и текст выделяют с помощью клавиатуры (<Shift>+<клавиши со стрелками>), рисунки - визиром (яркий пример - графический редактор Paint), графические объекты в документах (внедренные рисунки, диаграммы, графики и т.д.) - одинарным щелчком левой кнопкой мыши и т.д.

3. Копируют выделенные данные в буфер обмена.  Буфер обмена - часть оперативной памяти, выделяемая системой Windows для временного хранения обмениваемых данных. Следует учесть, что скопированные данные хранятся в буфере даже после их вставки в какой-либо программе. Содержимое буфера обмена изменится, если в него скопировать новые данные.

4. Активизируют программу-приемник данных. Указывают позицию, куда необходимо вставить данные.

5. Вставляют данные из буфера обмена.

	Таким образом, всеобщий порядок обмена данными между приложениями следующий:

1. Активизируют программу-источник данных (делают текущей программу, содержащую данные, которые подлежат обмену).

	2. В программе-источнике данных выделяют данные, подлежащие обмену.

	3. Копируют выделенные данные в буфер обмена.

4. Активизируют программу-приемник данных. Указывают позицию, куда необходимо вставить данные.

5. Вставляют данные из буфера обмена.

	Обмен данными между приложениями аналогичен многим процессам в реальной жизни. 

Для работы с буфером обмена Windows предлагает специальную программу — Просмотр буфера обмена, которую можно вызвать из Главного меню → Программы → Стандартные (в Windows 2000 Окно буфера обмена переименовано в Папку обмена, которая вызывается командой clipbrd). Во-первых, окно этой программы — это настоящее «зеркало» буфера обмена, отображающее текущее содержимое Clipboard. Во-вторых, это приложение позволяет записать содержимое буфера обмена на постоянное хранение в файл специального формата (с расширением .CLP) и прочитать такой файл в буфер. Это нужно для обмена файлами разных форматов, так как всякая версия ОС Windows может прочитать любые файлы с расширением .CLP Просмотр буфера обмена позволяет с помощью отдельных команд изменить формат вывода фрагмента на экран, а также очистить буфер обмена. Расширение функций буфера обмена. Приложения Windows устроены таким образом, что буфер обмена часто оказывается полезным даже тогда, когда никаких команд работы с буфером не предусмотрено. Дело в том, что механизмы выделения, копирования, вставки фрагментов документа (особенно текстовых) чаще всего встроены в приложение, и клавиатурные сочетания Ctrl+Ins и Shift+Ins работают всегда, независимо от функций приложения. Тем самым гибкость такой системы при обмене информацией между базой данных системы и внешними носителями информации значительно расширяется. Например, в системе может отсутствовать функция вставки готового текстового файла в базу данных (файл → база данных), однако пользователю не придется заново набирать такой файл. Достаточно открыть его (например, в приложении Word), скопировать в буфер обмена, а затем вставить данный. 

	Копирование файлов (а также вложенных папок) из папки в папку аналогичен обмену данными между приложениями, только в таком “обмене” фигурируют не данные, а копируемые файлы или папки.

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

На уровне DDE-протокола(Dynamic Data Exchange-Динамический Обмен Данными)

Аббревиатура DDEML обозначает Dynamic Data Exchange Management Library (библиотека управления динамическим обменом данными). DDEML это надстройка над сложной системой сообщений, называемой Dynamic Data Exchange (DDE). Библиотека, содержащая DDE била разработана для усиления возможностей первоначальной системы сообщений Windows. DDE дает возможность перейти через рамки приложения и взаимодействовать с другими приложениями и системами Windows. Dynamic Data Exchange получило свое имя потому, что позволяет двум приложениям обмениваться данными (текстовыми, через глобальную память) динамически во время выполнения. Связь между двумя программами можно установить таким образом, что изменения в одном приложении будут отражаться во втором. Например, если Вы меняете число в электронной таблице, то во втором приложении данные обновятся автоматически и отобразят изменения. Кроме того, с помощью DDE можно из своего приложения управлять другими приложениями такими, как Word for Windows, Report Smith, Excel и др.

DDE — давний и прижившийся протокол обмена данными между разными приложениями, появившийся еще на заре эры Windows. С тех пор на его базе был создан интерфейс OLE, а в 32-разрядном API Windows появились и другие методы межпрограммного взаимодействия. Но ниша, занимаемая DDE, осталась неизменной — это оперативная передача и синхронизация данных в приложениях. Приложения, использующие DDE, разделяются на две категории — клиенты и серверы.  Оба участника процесса осуществляют контакты (conversations) по определенным темам (topic), при этом в рамках темы производится обмен элементами данных (items). Устанавливает контакт клиент, который посылает запрос, содержащий имена контакта и темы. После установления контакта всякое изменение элемента данных на сервере передается данным клиента. Первоначально программирование DDE было чрезвычайно сложным делом — оно требовало взаимосвязанной обработки более чем десяти сообщений Windows. В версии Windows 3.1 появилась библиотека DDEML, которая перевела управление DDE на уровень вызова процедур. Разработчики подсистемы DDE в Delphi, верные идеологии создания VCL, свели интерфейс этого протокола к четырем компонентам — двум для сервера и двум для клиента. На уровне поддержания контакта лежат компоненты TDDEServerConv и TDDEClientConv. Первый играет пассивную роль — он только указывает имя одной из поддерживаемых сервером тем. Все операции по установлению и разрыву контакта осуществляет из приложения-клиента второй компонент. Посредством одного контакта могут быть связаны и синхронизированы несколько пар элементов данных. Для их описания предназначены компоненты TDDEServerItem и TDDEClientItem. Каждый из них во время работы должен указывать на контакт, к которому он привязан. Кроме того, в составе обоих есть свойства, содержащие некий текст. При установленном контакте их содержимое синхронизируется.

 Обмен данными по технологии OLE

 Технология OLE ( (Object Linking and Embedding) ― технология управления и обмена информацией между программным интерфейсом других приложений. Связывание и внедрение объектов (Object Linking and Embedding). 

OLE позволяет создавать объекты (рисунки, чертежи и текст) в одном приложении, а затем отображать эти объекты в других приложениях. Например, при помощи технологии OLE можно создать диаграмму в электронной таблице, а затем отобразить ее в CorelDRAW. Объекты, помещенные в приложение, использующее OLE, называются OLEобъектами. Для того, чтобы технология OLE действовала, приложение, используемое для создания OLE-объекта, и приложение, в которое помещается OLE-объект, должны поддерживать режим OLE. CorelDRAW поддерживает все функции OLE, однако некоторые приложения поддерживают лишь часть этих функций. 

При использовании OLE в обмене информацией участвуют два приложения : приложение-сервер и приложение-клиент. Приложение-сервер используется для создания и редактирования OLE-объектов (рисунков, чертежей, текстов). После того как объект создан, он помещается в приложение-клиент. Например, при создании диаграммы в электронной таблице и размещении ее в CorelDRAW при помощи OLE. В этом случае электронная таблица являются приложением-сервером, а CorelDRAW - приложением-клиентом. Некоторые приложения могут действовать и как серверные, и как клиентские, другие такой способностью не обладают. Например, CorelDRAW может быть и серверным, и клиентским приложением, в то же время, Corel PHOTO-PAINT может выступать только как приложение-сервер. 

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

Технологию OLE рассмотрим на примере составного документа, созданного на основе текста в приложении WordPad, в который вставлен рисунок из приложения Paint. Рисунок необходимо отредактировать, т. е. внести в него изменения. Программа WordPad своими средствами не может изменять данные из другой программы. В программе Paint сделанный рисунок выделяется и копируется. В документе WordPad устанавливается указатель мыши в то место, куда будет интегрирован рисунок, и в меню "Правка" выполняется команда "Специальная вставка". В открывшемся диалоговом окне выбирают способ вставки "Вставить" или "Связать" и вид объекта "рисунок". Завершается операция нажатием кнопки "ОК". 

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




Заключение к теории

В ходе изучения темы были получены следующие результаты. 




Практическая часть

Общая характеристика задачи.

Наименование задачи: Формирование сводной ведомости учета изготавливаемой продукции.

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

Построить таблицы по приведенным ниже данным.

Ведомость учета изготовленных деталей за январь 2006 г.

Код станка

Количество выпущенных деталей, шт.

Количество бракованных деталей, шт.

% брака

1

2600

35



2

3500

57



3

1890

26



4

2780

72



ИТОГО









Ведомость учета изготовленных деталей за февраль 2006 г.

Код станка

Количество выпущенных деталей, шт.

Количество бракованных деталей, шт.

% брака

1

2980

26



2

3470

45



3

2100

12



4

3150

56



ИТОГО









Ведомость учета изготовленных деталей за март 2006 г.

Код станка

Количество выпущенных деталей, шт.

Количество бракованных деталей, шт.

% брака

1

2700

42



2

2720

35



3

3140

39



4

3200

26



ИТОГО









Рис.1. Данные о выпуске бракованной продукции по месяцам



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

результаты вычислений представить в виде консолидированной таблицы, содержащей сводные данные о выпуске бракованных изделий за квартал (рис. 2), и в графическом виде.



 

 

 

 

 

 

             ООО "Красный Октябрь"



 

 





Расчетный период

 

 





с

по

 

 





  .  .20  

  .  .20  

 

 









 

 









 

    Сводная ведомость учета качества изготавливаемой продукции

 

 









 

 

Код станка

Количество выпущенных деталей, шт.

Количество бракованных деталей, шт.

% брака

 

 

1







 

 

2







 

 

3







 

 

4







 

 

ИТОГО







 

 









 

 

                Главный технолог

 

 

 



 



Рис.2. Сводные данные о выпуске бракованной продукции за квартал.



Сформировать и заполнить форму сводной ведомости по учету некачественной продукции (рис. 2.).



Цель работы: Формирование сводной ведомости.

Место решения: ООО «Красный Октябрь».




Описание алгоритма решения задачи.

	 Запустить табличный процессор MS Excel 2007.

	Создать книгу с именем «Вариант № 3».

	Лист 1 переименовать в лист с названием «Брак за янв. 2006г.».

	На листе «Брак за янв. 2006г.» создать таблицу с исходными данными, согласно рис. 1.



		

Рис.3. Расположение таблицы «Ведомость учета изготовленных изделий за январь 2006 г.» на рабочем листе «Брак за янв. 2006г.» MS Excel.



 Лист 2 переименовать в лист с названием «Брак за февр. 2006г».

 На рабочем листе «Брак за февр. 2006г» создать таблицу с исходными данными, согласно рис. 1.





Рис. 4. Расположение таблицы «Ведомость учета изготовленных изделий за февраль 2006 г.» на рабочем листе «Брак за февр. 2006г.» MS Excel.



Лист 3 переименовать в лист с названием «Брак за март 2006г».

На рабочем листе «Брак за март 2006г» создать таблицу с исходными данными, согласно рис.1.



Рис. 5. Расположение таблицы «Ведомость учета изготовленных изделий за март 2006 г.» на рабочем листе «Брак за март 2006г.» MS Excel.



Заполнить строку «ИТОГО» таблицы «Ведомость учета изготовленных изделий за январь 2006 г.», находящейся на листе «Брак за янв. 2006г.» следующим образом:

Занести в ячейку В7 формулу:

=СУММ(B3:B6)

Скопировать эту формулу в ячейку С7.

ИТОГО

=СУММ(B3:B6)

=СУММ(С3:С6)

Рис. 6. Элементы шаблона таблицы «Ведомость учета изготовленных изделий за январь 2006 г.»

  Заполнить столбец «% брака»  таблицы «Ведомость учета изготовленных изделий за январь 2006 г.», находящейся на листе «Брак за янв. 2006г.» следующим образом:

Занести в ячейку D3 формулу:

=C3/B3

Скопировать эту формулу в ячейки D4, D5, D6, D7.

% брака

=C3/B3

=C4/B4

=C5/B5

=C6/B6

=C7/B7

Рис. 7. Элементы шаблона таблицы «Ведомость учета изготовленных изделий за январь 2006 г.»



Рис.8. Расположение таблицы «Ведомость учета изготовленных изделий за январь 2006 г.» на рабочем листе «Брак за янв. 2006г.» с выполненными расчетами.



Заполнить строку «ИТОГО» и столбец «% брака» в таблице «Ведомость учета изготовленных изделий за февраль 2006 г.» на листе «Брак за февр. 2006г.» и таблице «Ведомость учета изготовленных изделий за март 2006 г.» на листе «Брак за март 2006г.» по алгоритму, описанному в п. 9, 10.



Рис.9. Расположение таблицы «Ведомость учета изготовленных изделий за февраль 2006 г.» на рабочем листе «Брак за февр. 2006г.» с выполненными расчетами.



Рис.10. Расположение таблицы «Ведомость учета изготовленных изделий за март 2006 г.» на рабочем листе «Брак за март 2006г.» с выполненными расчетами.



Лист 4 переименовать в лист «Сводные данные по браку за кв.».

 На листе «Сводные данные по браку за кв.» сформировать форму сводной ведомости по учету некачественной продукции, согласно рис. 2.





Рис.11. Расположение формы сводной ведомости по учету некачественной продукции на рабочем листе «Сводные данные по браку за кв.» MS Excel.

Ввести в ячейку D5 и Е5 даты, определяющие расчетный период.

Заполнить столбец «Количество выпущенных деталей, шт.»  и столбец «Количество бракованных деталей, шт.»  таблицы «Сводная ведомость учета качества изготавливаемой продукции», находящейся на листе «Сводные данные по браку за кв.» следующим образом:

Выделить верхний угол области, в которой требуется разместить консолидированные данные.  В нашей таблице это ячейка С 11.

В меню Данные выбрать команду Консолидация. 

Выбрать из раскрывающегося списка Функция - «СУММА», которую требуется использовать для консолидации данных. 

Щелкнуть поле Ссылка, открыть лист, содержащий первый диапазон данных для консолидации, ввести имя этого диапазона: 'Брак за янв. 2006г.'!$B$3:$C$6 и нажать кнопку Добавить. Повторить этот шаг для всех диапазонов. 

'Брак за февр. 2006г.'!$B$3:$C$6

'Брак за март 2006г.'!$B$3:$C$6

Нажать «ОК»

Заполнить строку «ИТОГО»  и столбец «% брака» таблицы «Сводная ведомость учета качества изготавливаемой продукции», находящейся на листе «Сводные данные по браку за кв.» по алгоритму, описанному в п. 9, 10.



Рис.14. Расположение формы сводной ведомости по учету некачественной продукции на рабочем листе «Сводные данные по браку за кв.» с выполненными расчетами





С помощью мастера диаграмм создать диаграмму, отражающую процент выпуска бракованных изделий за квартал по станкам.





Рис.15. Диаграмма «Процент выпуска бракованных изделий за I квартал 2006 г.»




Список литературы



В.И. Ключко, Д.А. Романов, М.Л. Романова Учебное пособие: Операционные системы - Краснодар ,2009 – 104с.

Учебное пособие: изучаем компьютеры и программы -http://main.rudn.ru/_new/russian/win/departments/med_inf/Uchebnik_HTML/rb_2_11.html

Р. Каблучкова, С.  Попов OS Journal Дайджест мира операционных систем. - http://www.ossite.ru/index.php?dir=os/windows/win3x/&file=04

Forum Основы DDE - http://citforum.ru/programming/32less/les21.shtml

Справочник по компонентам Delphi. Часть 2 Страница 54. Динамический обмен данными (DDE) -

http://www.cyberguru.ru/programming/delphi/delphi-components-part2-page54.html

Энциклопедический фонд - http://www.russika.ru/t.php?t=3618

Г.П. Безрядина Методическое указание по выполнению курсовой работы по дисциплине «Информатика».-Москва -60с.

1