Обмен данными между стандартными приложениями windows

Обмен данными между программами

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

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

Во всех приложениях Windows, допускающих использование буфера обмена, схема работы с ним стандартизирована. Прежде всего, копируемый или перемещаемый фрагмент надо выделить. Для обмена предусмотрены команды пункта меню Правка:

· Вырезать – переместить выделенный фрагмент в буфер с удалением его из документа;

· Копировать – скопировать выделенный фрагмент в буфер, не удаляя его из документа;

· Вставить – вставить содержимое буфера обмена в текущий документ. Место вставки определяется положением курсора.

Многие приложения дублируют эти команды в панели инструментов, а также в контекстном меню, и вы можете перемещать , копировать и вставлять фрагменты простым щелчком мыши по соответствующей кнопке.

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

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

Связанным объектом называется объект (данные), созданный в одном файле и вставленный в другой файл с поддержкой связи между файлами. Файл, в котором находится исходный объект, и приложение, в котором он создан, являются, соответственно, файлом-источником (исходным файлом) и приложением-источником. Файл, содержащий вставленный объект, называется составным документом (конечным файлом). В составном документе хранится информация о программе, в которой был создан объект. Чтобы не нарушить связь документ – источник нельзя перемещать, удалять или изменять имя файла.

Связанные объекты используются в случае, если необходимо, чтобы данные в конечном файле обновлялись при изменении данных в исходном файле. Например, если рисунок Paint вставляется в качестве связанного объекта в документ Wordpad, то при изменении рисунка в программе Paint, он автоматически будет изменен в документе Wordpad. При обновлении данных в конечном файле данные в исходном файле не изменяются.

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

Организация обмена данными

Обмен данными– передача информации от одного объекта к другому. В результате этого процесса объекты могут изменяться, создаваться новые из существующих.

Такими объектами могут быть приложения, папки, документы, а передаваемыми данными – фрагменты документов, файлы, папки, т.е. также объекты Windows.

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

Читайте также:  Управление дисплеями windows 10

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

Составной документ – документ, в котором объединены данные разного типа, созданные в разных приложениях.

Источник – приложение, откуда производится вставка фрагмента в составной документ.

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

1. Буфер обмена (БО) – специальная область оперативной или дисковой памяти компьютера, предназначенная для временного хранения произвольного фрагмента документа, и набор программ, необходимых для обеспечения всех функций буфера.

БО обслуживается операционной системой и характеризуется свойствами:

— в БО может храниться только один объект произвольной длины до тех пор, пока туда не поместиться новый, тогда старый сотрется;

— находящийся в БО объект можно копировать бесконечное множество раз;

— БО доступен из любого приложения;

— содержимое БО можно просмотреть или сохранить в файле с помощью приложения Просмотр БО;

— БО очищается при перезагрузке ОС либо специальной командой;

— объект в БО хранится в формате приложения-источника, но при вставке в составной документ его можно преобразовать в другой формат.

Технология OLE

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

OLE – Object Linking and Embedding – связывание и внедрение объекта.

Технологию OLE полностью поддерживают не все Windows-приложения, а только которые предназначены для разработки составных документов. Одни приложения можно использовать только в качестве источника (Paint, Microsoft Equation и т.п.), другие – приемника, третьи – и в качестве источника, и в качестве приемника (Word, Excel и т.п.).

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

Технология OLE предусматривает 2 варианта обмена данными:

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

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

2 универсальных способа внедрения и связывания объектов в ОС Windows:

1) через БО, командой приложения (Правка – Специальная вставка . );

2) командой приложения (Вставка – Объект).

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

3. Непосредственный обмен данными:

Средства непосредственного обмена данными между приложениями Windows можно разделить на три категории:

2) импорт и экспорт данных;

3) DDE – динамический обмен данными.

Рассмотрим их подробнее:

1) Конвертирование – изменение формата файла-документа или его части. При конвертировании файл-документ определенного типа, подготовленный средствами некоего приложения (например, в другой операционной системе) преобразуется приложением Windows в файл-документ того же типа.

2) Импорт-экспорт данных. В этой операции данные одного файла-документа по определенным соглашениям пересылаются в другой файл-документ. При этом оба файла могут иметь одинаковый тип, но разный формат, а могут принадлежать к разным классам документов. Примеры:

файл dBase – в Excel;

база данных Access – в текстовый файл TXT.

Читайте также:  Среда разработки windows forms

3) DDE (Dynamic Data Exchange) – это разработанный Microsoft набор специальных соглашений об обмене данными между приложениями Windows. Одна программа может использовать данные, созданные другой программой (например, редактор документов может использовать часть таблицы, созданной табличным процессором), причем копия данных в использующей программе сохраняет «привязку» к исходным (оригинальным) данным. Поэтому программа, использующая DDE-данные, может в любой момент их «обновить», т.е. восстановить соответствие используемой копии данных оригиналу. Позднее эта технология была усовершенствована до технологии OLE.

Дата добавления: 2016-02-13 ; просмотров: 3769 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Технологии обмена данными между приложениями Windows

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

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

Буфер промежуточного хранения Clipboard

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

1. Выделить в приложении-источнике фрагмент данных.

2. Скопировать (перенести) выделенный фрагмент в буфер обмена командой Правка►КопироватьилиПравка►Вырезать.

3. Перейти к приложению-приемнику, поместить курсор в то место, куда требуется вставить данные из буфера, и выполнить команду Правка►Вставить.

Аналогичный порядок действий обеспечивает обмен данными и в рамках одного приложения, поэтому отпадает необходимость включать в приложения внутренние средства копирования и перемещения объектов.

За счет использования обмена данными через буфер возможно включение в один документ объектов, созданных различными приложениями, – создание, так называемых, составных документов. Для всех Windows-приложений установлен ряд стандартных форматов представления данных, и при операциях с буфером обмена преобразования данных для этих форматов выполняются автоматически и совершенно незаметно для пользователя.

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

Недостатками обмена с использованием буфера являются:

· некоторое ограничение объема передаваемой через буфер информации;

· данные, вставленные в документ-приемник через буфер обмена, не обновляются при их изменении в документе-источнике.

Для обмена данными между приложениями может использоваться технология DDE (Dynamic Data Exchange – динамический обмен данными). Суть технологии состоит в том, что вставляемый через буфер обмена объект сохраняет свою связь с оригиналом и при внесении в него изменений может автоматически обновляться. При этом 1) с одним оригиналом можно связать любое число документов; 2) возможно связывание по цепочке, когда источником является не оригинал, а ранее связанный объект; 3) установленная связь сохраняется и после закрытия приложений, т.е. внесенные в оригинал изменения автоматически вносятся во все документы, связанные с ним.

Для использования технологии DDE следует обычным путем скопировать объект из документа приложения-сервера в буфер обмена, перейти в приложение-клиент, а затем по команде ПравкаСпециальная вставка► переключательСвязьвставить его в документ.

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

Читайте также:  Причина медленной загрузки windows

Однако, технология DDE не нашла широкого распространения, поскольку при всех достоинствах динамического обмена данными сложность его функционирования привела к тому, что пользователи предпочитали вставку объектов через буфер обмена из-за ее простоты и понятности.

При обмене данными по рассмотренным технологиям объектом является любой фрагмент, переносимый из одного приложения в другое. На самом же деле переносился не сам фрагмент, а лишь его «экранный образ»: приложение-источник преобразовывает данные из своего внутреннего формата в один из стандартов Windows, и в таком виде фрагмент вставляется в приложение-приемник. Вставленный объект является составным элементом документа, в котором он отображается, но внести в него изменения довольно трудно, т.к. для этого требуется приложение-источник.

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

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

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

· отсутствует необходимость создания второй копии объекта, что позволяет сократить требуемый объем дискового пространства;

· внесение изменений в связанный объект обеспечивает дублирование этих изменений во всех документах, с которыми объект был связан;

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

· изменения вставленного объекта, не отражаются в оригинале;

· вся информация хранится в одном файле и никаких проблем при переносе на другой компьютер не возникает.

В рамках OLE реализован метод drag-and-drop (перетащить и бросить), который обеспечивает наглядность процесса обмена данными, и его можно применять вместо операции копирования через буфер обмена даже при межоконном перемещении объектов и их частей.

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

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

OLE-технология, разработанная корпорацией Microsoft, обеспечивает:

· привязку – возможность вызова одной программы из другой;

· встраивание – помещение объектов, созданных в одном приложении, в документ другого.

Оцените статью