Ole расшифровка. Технология OLE (Object Linking and Embedding)

08.04.2019 Социальные сети

OLE-технология

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

Контейнеры и серверы могут поддерживать два режима взаимодействия:

    встраивание (внедрение) объектов. Этот режим означает, что данные объекта будут храниться вместе с основным документом (например, внедренная таблица Excel будет сохранена в.doc – файле редактора Word).

    связывание объектов. В составном документе хранится только ссылка на объект, данные которого находятся в другом документе.

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

Для редактирования связанных данных открывается отдельное окно, того приложения, в котором эти данные были созданы, т.е. сервера. При внедрении объектов можно также запустить сервер в отдельном окне, но можно и редактировать данные «на месте» («in Place»), т.е. в окне контейнера, если он это позволяет. В этом случае контейнер обязан иметь меню, а загрузившийся «in Place»сервер дополнит его своими командами.

Компонент OLEContainer

На странице System палитры компонент в Borland Builder С++ есть специальный компонент, предназначенный для внедрения и связывания объектов из других приложений - OLEContainer .

Основные свойства

Свойство State позволяет определить состояние объекта и его сервера. Его значения:

    osEmpty–контейнер не содержит объекта;

    osLoaded– объект в контейнере, сервер не выполняется;

    osRunning– сервер запущен;

    osOpen– OLE –объект открыт в отдельном окне сервера;

    osInPlaceActive– объект активизирован «на месте», но меню еще не изменено. Это промежуточное состояние объекта перед полной загрузкой сервера.

    osUIActiveобъект активизирован «на месте», меню изменено.

Следующий код позволяет определить имя объекта, загруженного в контейнер (свойство AnsiString OleClassName ), способ работы с объектом (Linked = true– связывание, иначе – внедрение), а также получить имя связанного документа:

if (OleContainer1 -> State != osEmpty)

Label2 -> Caption = OleContainer1 -> OleClassName;

// Состояние контейнера – целое число, начиная с 0 (osEmpty)

Label6 -> Caption = OleContainer1 -> State;

if (OleContainer1 -> Linked)

Label4 -> Caption = OleContainer1 -> SourceDoc;

Свойство bool AllowInPlace определяет возможность редактировать внедренный объект «на месте». ЕслиAllowInPlace = trueиIconic = false(свойствоIconicопределяет должен ли объект быть представлен в виде пиктограммы), то «InPlace» – редактирование разрешено. ПриAllowInPlace = falseсервер будет открываться в отдельном окне.

Свойство AutoActivate имеет три возможных значения:aaManual,aaGetFocus,aaDoubleClickи определяет способы активизации загруженного в контейнер объекта.

По умолчанию AutoActivate = aaDoubleClick , то есть объект становится активным при двойном щелчке. ЗначениеaaGetFocus определяет активизацию при получении фокуса ввода. ПриAutoActivate = aaManual за активизацию объекта отвечает программист. В этом случае можно использовать метод компонента-контейнераDoVerb, который отвечает за передачу команд от контейнера серверу. Например, можно воспользоваться следующим оператором:

OleContainer1->DoVerb (ovShow); // Показать объект

Кроме посылки команд серверу, методы контейнера обеспечивают создание, загрузку и разрушение объектов. Перейдем к их рассмотрению.

Создание и сохранение нового объекта (внедрение)

Создание нового объекта можно обеспечить использованием специального диалогового окна Insert Object (вставка объекта) или вызовом методаCreateObject . В первом случае класс объекта выбирает пользователь из системного списка возможных объектов, а во втором программно создается конкретный объект.

Для использования диалогового окна можно воспользоваться следующим кодом, расположенным, например, в команде меню «новый»:

AnsiString File_Name; // переменная объявлена глобально или в классе формы

if (OleContainer1->InsertObjectDialog())

{ File_Name = "";

OleContainer1->DoVerb(ovShow);

В появившемся диалоговом окне необходимо установить значение RadioButton- кнопки «Создать новый», в списке выбрать необходимый тип объекта и щелкнуть «OK».

Программно объект можно создать так (операторы можно вставить, например, в соответствующие пункты меню):

    таблица Excel

OleContainer1->CreateObject("Excel.sheet",false);

    документ Word

OleContainer1->CreateObject("Word.Document",false);

Если создать нужно объект, имя типа которого неизвестно, то нужно обратиться либо к соответствующей документации по серверу, либо написать тестовую программу с загрузкой объекта методом OleContainer->InsertObjectDialog() и воспользоваться свойствомOleContainer -> OleClassNameдля определения его имени.

При создании нового объекта используется внедрение (так как для связывания необходим файл). В этом случае за хранение данных объекта отвечает программа - контейнер. Сохранить данные в файле можно с помощью метода SaveToFile (<имя файла>), например, в пункте меню «Файл - Сохранить…» можно использовать следующий код:

void __fastcall TForm1::FSaveClick(TObject *Sender)

{ if (File_Name=="")

if (SaveDialog1->Execute())

File_Name = SaveDialog1->FileName;

OleContainer1->SaveToFile(ChangeFileExt(File_Name,".ole"));

В данном примере расширение файла.ole указывает на то, что объект будет сохранен в специальном формате отличном от формата сервера. Приложение - сервер отдельно от контейнера прочесть эти данные не сможет.

Функция ChangeFileExt была использована в примере для замены расширения файла. При выполнении команд сохранения и извлечения данных из файла могут понадобиться и другие функции обработки имен файлов:

    ChangeFileExt (const AnsiString FileName, const AnsiString Extension)– принудительно изменяет имя файла FileName, заменяя расширение на Extension;

    функция AnsiString ExtractFileExt (AnsiString FileName) возвращает расширение файла и, следовательно, позволяет проверить его тип;

    AnsiString ExtractFileName (AnsiString FileName)возвращает имя файла, извлеченное из строкиFileName, т.е. после последнего обратного слэша или двоеточия;

    AnsiString ExtractFilePath (AnsiString FileName)извлекает путь к файлу, включая последний слэш или двоеточие;

    AnsiString ExtractFileDrive (AnsiString FileName) извлекает диск файла с двоеточием (например, «D:»).

Метод контейнера LoadFromFile (<имя файла>)позволяет загрузить запомненный объект в контейнер:

void __fastcall TForm1::FOpenClick(TObject *Sender)

if (OpenDialog1->Execute())

if (ExtractFileExt(OpenDialog1->FileName)!= ".ole")

File_Name = OpenDialog1->FileName;

OleContainer1->LoadFromFile(File_Name);

OleContainer1->DoVerb(ovShow);

Создание объекта из файла (внедрение)

Для создания объекта из имеющегося файла можно воспользоваться тем же окном Insert Object , как и в случае создания нового объекта. В случае внедрения пользователь устанавливает значение RadioButton-кнопки «Создать из файла», а для поиска файла щелкает на кнопке «Обзор…».

Программный способ создания объекта из файла обеспечивается методом: OleContainer-> CreateObjectFromFile (AnsiString<имя файла>,boolIconic).

Параметры методы определяют имя исходного файла и режим отображения объекта (Iconic=true– объект в виде пиктограммы). Вот такой код можно вставить в соответствующий пункт меню:

void __fastcall TForm1::FFileClick(TObject *Sender)

if (OpenDialog1->Execute())

OleContainer1->CreateObjectFromFile(OpenDialog1->FileName,false);

OleContainer1->Repaint();

Метод OleContainer->Repaint() приводит к перерисовке окна контейнера и, следовательно, появлению данных объекта на экране.

Создание связанного объекта

Так же как и при внедрении создать связанный объект может или пользователь или программист.

Пользователю в окне Insert Object следует выполнить действия по выбору файла, перечисленные выше, и дополнительно установить флажок «Связь».

Программист должен воспользоваться методом: OleContainer->CreateLinkToFile (AnsiString <имя файла>, bool Iconic).

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

Работа с сервером

Поскольку работать с данными объекта может только программа создавшая объект (сервер), то контейнеру могут потребоваться знания о возможных действиях над объектом. Метод DoVerb (int Verb)требует выполнения одной из команд, а весь список возможных действий содержит свойствоObjectVerbs компонента контейнера. Получить этот список можно только после загрузки объекта в контейнер, и, естественно, что каждый сервер (а, следовательно, и объект) имеет свой список команд.

Константа ovShow– это пример зарезервированной OLE – команды. Использование методаDoVerbс параметромovShow, которое было уже рассмотрено в одном из предыдущих разделов, приводит к немедленному открытию сервера.

Следующий код проявляет список возможных команд объекта в компоненте ListBox(команды нумеруются с нуля) и просит выполнить вторую команду в списке:

ListBox1->Items = OleContainer1->ObjectVerbs;

OleContainer1->DoVerb(1);

Кроме этого контейнер может попросить сервер сохранить данные объекта в виде документа в формате сервера. Для этого используется метод SaveAsDocument (<имя файла>). Этот документ в дальнейшем может обрабатываться приложением сервером без участия контейнера. Интересно, что этот метод можно использовать как для связанных так и для внедренных объектов.

При завершении работы с объектом программа может освободить OleContainer, вызвав метод OleContainer->DestroyObject() - разрушить загруженный объект. Этот метод можно вызывать перед загрузкой нового объекта или в команде меню «Файл-Выход».

1. Создать новое приложение. На главной форме расположены следующие компоненты:

  • Несколько элементов Label

И два невизуальных компонента:

Примерный вид главного окна приложения представлен на рисунке. В OleContainerзагружен рисунок (файл с расширением.bmp). Состояние сервера:osRunning.

2. Добавить на форму компонент, в котором будет отображаться информация об объекте: «не загружен» / «внедрение» / «связывание».

3. Меню должно содержать следующие команды:

    «Объект» (InsertDialog, новый объект Excel, новый объект Paint, внедренный из файла, внедренный из «имя презентации PowerPoint», связанный из файла, связанный из «имя документа Word», Выполнить команду);

    «Свойства» (Свойства объекта, Команды сервера);

    «Справка» (О программе).

Предусмотреть, чтобы пункты меню были доступны только в тот момент, когда соответствующие им действия могут быть выполнены. Например, пункт «Объект»| «Выполнить команду» может быть доступен только, если объект загружен в OleContainer, а в список ListBox помещен список доступных команд сервера.

4. Для всех команд меню создать соответствующие обработчики событий.

    «Файл» | «Загрузить объект» - сохраненный объект загружается из ole – файла.

    «Файл» | «Разорвать связь» - разрыв связи с объектом;

    «Файл» | «Выход» - корректный выход из программы (если была связь с объектом разорвать ее);

    «Объект» | InsertDialog – объект и его способ загрузки в контейнер выбирается в диалоговом окне пользователем;

    «Объект» | «Объект Excel» – создается новый объект;

    «Объект» | «Объект Paint» – создается новый объект;

    «Объект» | «Внедренный из файла» – имя файла определяется пользователем в диалоговом окне OpenDialog;

    «Объект» | «Внедренный из «имя презентации PowerPoint» - в контейнер вставляется предварительно созданная презентация слайдов;

    «Объект» | «Связанный из файла» » – имя файла определяется пользователем в диалоговом окне OpenDialog;

    «Объект» | «Связанный из «имя документа Word» - в контейнер вставляется предварительно созданный документ;

    «Объект» | «Выполнить команду» - серверу для выполнения передается команда, выбранная пользователем в списке ListBox$

    «Свойства» | «Свойства объекта» - контейнер запрашивает у сервера имя объекта, состояние сервера и имя связанного документа, на основании полученной информации делается вывод: «объект – не загружен / внедрен / связан». Полученная информация выводится в компоненты Label главного окна приложения.

    «Свойства» | «Команды сервера» - список команд сервера выводится в компоненте ListBox;

    «Справка» | «О программе…» - окно с информацией оприложении и его авторе.

5. Провести полное тестирование приложения на различных объектах и серверах.

Введение

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

Развитие информатизации общества тесно связано с развитием вычислительной техники.

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

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

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

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

Понятие OLE

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

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

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

OLE используется при обработке составных документов (англ. compound documents), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса (англ. drag-and-drop), а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах (пример - Веб-ТВ), где используется передача изображения, звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML).

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

OLE 1.0 был выпущен в 1990 году на основе технологии DDE (Dynamic Data Exchange), использовавшейся в более ранних версиях операционной системы Microsoft Windows. В то время как технология DDE была сильно ограничена в количестве и методах передачи данных между двумя работающими программами, OLE имел возможность оперировать активными соединениями между двумя документами либо даже внедрить документ одного типа в документ другого типа.

OLE сервера и клиенты взаимодействуют с системными библиотеками при помощи таблиц виртуальных функций (англ. virtual function tables, VTBL). Эти таблицы содержат указатели на функции, которые системная библиотека может использовать для взаимодействия с сервером или клиентом. Библиотеки OLESVR.DLL (на сервере) и OLECLI.DLL (на клиенте) первоначально были разработаны для взаимодействия между собой с помощью сообщения WM_DDE_EXECUTE, предоставляемого операционной системой.

OLE 1.1 позднее развился в архитектуру COM (component object model) для работы с компонентами программного обеспечения. Позднее архитектура COM была преобразована и стала называться DCOM.

Когда объект OLE помещен в буфер обмена информацией, он сохраняется в оригинальных форматах Windows (таких как bitmap или metafile), а также сохраняется в своём собственном формате. Собственный формат позволяет поддерживающей OLE программе внедрить порцию другого документа, скопированного в буфер, и сохранить её в документе пользователя.

Следующим эволюционным шагом стал OLE 2.0, сохранивший те же цели и задачи, что и предыдущая версия. Но OLE 2.0 стал надстройкой над архитектурой COM вместо использования VTBL. Новыми особенностями стали автоматизация технологии drag-and-drop, in-place activation и structured storage.

В 1996 году Microsoft переименовала технологию OLE 2.0 в ActiveX. Были представлены элементы управления ActiveX, ActiveX документы и технология Active Scripting. Эта версия OLE в основном используется веб-дизайнерами для вставки в страницы мультимедийных данных.

Подводя итог, можно сделать вывод, что OLE является набором средств, позволяющим легко подготавливать документы, включающие в себя данные, подготовленные в различных приложениях. Чтобы вы могли объединить данные, подготовленные в различных приложениях, необходимо, чтобы эти приложения поддерживали технологию OLE. Стандартные приложения Windows - Paintbrush, Write, Sound Recorder, Cardfile, Object Pakager поддерживают OLE. Кроме стандартных приложений Windows, многие другие приложения, разработанные фирмой Microsoft и другими независимыми фирмами, включают в себя поддержку OLE-технологии. Microsoft Word for Windows 2.0 и 6.0, Microsoft Excel 4.0 и 5.0, ZSoft PhotoFinish 2.0, Designer, FoxPro for Windows, Access и многие другие пакеты включают поддержку OLE-технологии.

Введение 3

1. Понятие OLE 4

2. Использование OLE 7

2.1 Внедрение 12

2.2 Перетаскивание объектов из одного приложения в другое 13

2.3 Связывание объектов 14

Заключение 28

Литература 29


Введение

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

Развитие информатизации общества тесно связано с развитием вычислительной техники.

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

Для связывания документов разных приложений используется технология

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


  1. Понятие OLE

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

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

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

OLE используется при обработке составных документов (англ. compound documents), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса (англ. drag-and-drop), а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах (пример — Веб-ТВ), где используется передача изображения, звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML). Однако, технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя.

OLE 1.0

OLE 1.0 был выпущен в 1990 году на основе технологии DDE (Dynamic Data Exchange), использовавшейся в более ранних версиях операционной системы Microsoft Windows. В то время как технология DDE была сильно ограничена в количестве и методах передачи данных между двумя работающими программами, OLE имел возможность оперировать активными соединениями между двумя документами либо даже внедрить документ одного типа в документ другого типа.

OLE сервера и клиенты взаимодействуют с системными библиотеками при помощи таблиц виртуальных функций (англ. virtual function tables, VTBL). Эти таблицы содержат указатели на функции, которые системная библиотека может использовать для взаимодействия с сервером или клиентом. Библиотеки OLESVR.DLL (на сервере) и OLECLI.DLL (на клиенте) первоначально были разработаны для взаимодействия между собой с помощью сообщения WM_DDE_EXECUTE, предоставляемого операционной системой.

OLE 1.1 позднее развился в архитектуру COM (component object model) для работы с компонентами программного обеспечения. Позднее архитектура COM была преобразована и стала называться DCOM.

Когда объект OLE помещен в буфер обмена информацией, он сохраняется в оригинальных форматах Windows (таких как bitmap или metafile), а также сохраняется в своём собственном формате. Собственный формат позволяет поддерживающей OLE программе внедрить порцию другого документа, скопированного в буфер, и сохранить её в документе пользователя.

OLE 2.0

Следующим эволюционным шагом стал OLE 2.0, сохранивший те же цели и задачи, что и предыдущая версия. Но OLE 2.0 стал надстройкой над архитектурой COM вместо использования VTBL. Новыми особенностями стали автоматизация технологии drag-and-drop, in-place activation и structured storage.

ActiveX

В 1996 году Microsoft переименовала технологию OLE 2.0 в ActiveX. Были представлены элементы управления ActiveX, ActiveX документы и технология Active Scripting. Эта версия OLE в основном используется веб-дизайнерами для вставки в страницы мультимедийных данных.

Подводя итог, можно сделать вывод, что OLE является набором средств, позволяющим легко подготавливать документы, включающие в себя данные, подготовленные в различных приложениях. Чтобы вы могли объединить данные, подготовленные в различных приложениях, необходимо, чтобы эти приложения поддерживали технологию OLE. Стандартные приложения Windows - Paintbrush, Write, Sound Recorder, Cardfile, Object Pakager поддерживают OLE. Кроме стандартных приложений Windows, многие другие приложения, разработанные фирмой Microsoft и другими независимыми фирмами, включают в себя поддержку OLE-технологии. Microsoft Word for Windows 2.0 и 6.0, Microsoft Excel 4.0 и 5.0, ZSoft PhotoFinish 2.0, Designer, FoxPro for Windows, Access и многие другие пакеты включают поддержку OLE-технологии.


2. Использование OLE

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

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

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

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

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

Технологию OLE можно показать на конкретном примере копирования вида чертежа приложения AutoCAD в документ Microsoft Word.

Открываем приложение AutoCAD и выбираем в списке файлов нужный нам чертёж (Рис. 1)

Рис.1.

Для того, чтобы скопировать чертёж в текстовый редактор Microsoft Word нажимаем кнопку Правка на панели инструментов (Рис. 2) и активируем строку Копировать вид. Открываем документ Microsoft Word, вставляем чертёж в нужное место текста.

Рис. 2

Рис.3

Для того, чтобы отредактировать чертёж в документе Microsoft Word (Рис.3), нужно навести курсор в поле чертежа и дважды щёлкнуть левой кнопкой мыши, чтобы зайти в приложение – сервер. При этом появится окно AutoCAD с исходным чертежом, в котором можно выполнить все необходимые изменения (Рис. 4). После нажатия кнопки Сохранить изменения сохранятся и в Microsoft Word. Если приложение AutoCAD закрыть, предварительно не сохранив файл, то появится окошко с вопросом «Обновить Microsoft Word перед закрытием объекта?» (Рис.5). Обновлённый чертёж представлен на Рис. 6.

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

Рис. 4

Рис. 5

Рис. 6

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


Исходный документ

Изменён

Исходный документ

Составной

документ не изменён

Составнойдокумент

Рис. 7

2.1 Внедрение

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

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

Для внедрение OLE -объекта в другое приложение необходимо:

  1. Открыть документ в исходном приложении.
  2. Скопировать внедряемые данные в буфер обмена.
  3. Открыть другое приложение.
  4. Нажать "Правка" и "Вставить" .
  5. Нажать "ОК" .

Рис. 8. Внедрение OLE -объекта из приложения MathCAD в Excel

2.2 Перетаскивание объектов из одного приложения в другое

Данные и графику, выбранные в окне другого приложения, можно добавить в чертеж, перетаскивая их мышью по экрану. Как окно исходного приложения, так и окно другого приложения при этом должно быть открыто и не свернуто (Рис. 9). Перетаскивание между приложениями возможно, только если второе приложение поддерживает технологию ActiveX. Объекты, перенесенные таким образом, становятся внедренными (а не связанными). Обычное перетаскивание данных аналогично их последовательному вырезанию и вставке. Данные полностью удаляются из документа-сервера и вставляются в составной документ. Если же перетаскивание производится при нажатой клавише CTRL , вместо вырезания осуществляется копирование; в составном документе создается копия данных, а исходный их вариант остается неизменным.

Рис. 9. Перетаскивание OLE -объекта из MathCAD в Excel

2.3 Связывание объектов

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

При установлении связи чертежа необходимо поддерживать доступ и к исходному приложению, и к документу. Если что-либо из них переименовано или перемещено, может потребоваться повторное задание связи.



Исходный документ

Изменён

Исходный документ

Составнойдокумент

Изменён

Составнойдокумент

Рис. 10

На Рис. 11 показано копирование объекта из MathCAD в Excel в режиме создания связи между документом сервера и составным документом. Обычным приёмом готовим формулу из MathCAD для копирования, т. е. выделяем формулу, правой кнопкой вызываем меню и активируем строчку Copy . Курсор наводим в нужное место рабочего листа Excel и щелкаем левой кнопкой мыши. Правой кнопкой мыши вызываем меню, в котором активируем строку Специальная вставка (красная стрелка на рисунке). В окошке Специальная вставка (Рис. 12) нажимаем кнопку Связать и выбираем нужный формат (в поле Как ). Нажимаем кнопку ОК. Формула из приложения MathCAD скопирована в приложение Microsoft Excel со связью.

Для того, чтобы отредактировать объект в Excel нужно установить курсор на поле объекта и правой кнопкой мыши вызвать меню (Рис. 13), нажать на кнопку Open и в появившемся рабочем листе MathCAD внести необходимые изменения в исходный объект. Автоматически эти изменения вносятся в объект рабочего листа Excel (Рис. 14).

Копирование

Рис. 11

Рис. 12

Рис. 13

Рис. 14

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

Рис. 15

Рис. 16

Если вносились изменения в объект документа сервера в то время, когда составной документ со связанной копией был закрыт, то при открытии файла с составным документом появится окошко с предупреждением об обновлении или не обновлении данных (Рис. 17).

Рис. 17

Аналогичная технология OLE со связью имеет место при копировании и редактировании объектов, например, из приложения MathCAD в Microsoft Word (Рис. 18).

Рис. 18

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

При это необходимо:

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

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

3. В контекстном меню выбрать нужную команду.

На рис. 20 показан результат перетаскивания формулы из приложения Excel в приложение Microsoft Word .

Перетаскивание

Рис. 19.

Рис. 20.

Изображение чертежа в файле Microsoft Word можно преобразовать, например, в виде значка. Процедура при этом должна состоять в следующем:

1. Вызываем меню для редактирования чертежа, но вместо кнопки Edit (Редактирование) нажимаем кнопку Преобразовать (Рис. 21).

2. В появившемся меню «Преобразование типа объекта» ставим галочку в прямоугольничке текущего типа, нажимаем последовательно кнопки «В виде значка» и ОК (Рис. 22).

3. В поле, где был чертёж, появится значок (Рис. 23)

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

Рис. 21

Рис. 22

Рис. 23

На Рис. 24 дано изображение чертежа, выполненного с помощью программы для проектировщиков Microsoft Office Visio и скопированного на страницу документа Microsoft Word .

Для того, чтобы изменить чертёж нужно на его поле щелкнуть правой кнопкой мыши и в появившемся меню активировать строчку «Объект Visio » и нажать кнопку «Изменить» (Рис. 25). Появится окно редактора Visio (Рис. 25), где можно будет при помощи соответствующих фигур на инструментальной панели произвести нужную корректировку чертежа. Например, на Рис. 26 показан скорректированный чертёж.

Рис. 24

Рис. 25

Рис. 26

Рис. 27

Покажем на примере вставку диаграммы из приложения Microsoft Gr а ph в приложение Microsoft Word . Для этого используются следующие операции:

  1. На инструментальной панели нажимаем кнопку Вставка + Объект .
  2. В окошке «Вставка объекта» (Рис. 28) выбираем тип объекта – в нашем случае – «Диаграмма Microsoft Gr а ph ».

Рис. 28

  1. Нажимаем ОК . Открывается рабочее поле Microsoft Gr а ph (Рис. 29).
  2. С помощью инструментов Microsoft Gr а ph строим нужную диаграмму и щелкаем левой кнопкой мыши на поле вне рисунка. Диаграмма вставляется в документ (Рис. 20).

Рис. 29

Рис. 30

Для редактирования диаграммы дважды щелкаем в области объекта и вызываем его для выполнения необходимых изменений (Рис. 31).

Рис. 31

По аналогичной процедуре производится вставка формул из приложения Microsoft Equation 3.0.

При двухкратном щелчке по формуле появится инструментальная линейка Microsoft Equation и можно выполнять изменения в формуле (Рис. 32):

Рис. 32

На Рис. 33 показан чертёж, выполненный с помощью программы КОМПАС – 3 D LT V 10 и скопированный в Microsoft Word .

Для редактирования чертежа достаточно дважды щелкнуть по объекту, вызвав тем самым программу сервера, и выполнить корректировку чертежа (Рис. 34).

Рис. 32

Рис. 34

Заключение

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

Для связывания документов разных приложений, таких как AutoCAD , Microsoft Word , MathCAD , Microsoft Excel , Microsoft Power Point , Microsoft Equation , Microsoft Office Visio , Microsoft Graph , КОМПАС и т.д., используется технология OLE (Object Linking and Embedding ), что означает “связывание и встраивание объектов”.

Рассмотрены основные возможности OLE – технологии, приведены базовые приемы её использования.

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

Основные приёмы использования OLE – технологии показаны на конкретных примерах.

Результаты работы оформлены в виде презентации Microsoft Power Point , которая позволяет наглядно сопроводить публичное выступление с использованием мультимедийных эффектов.

Литература

  1. Microsoft Office 2000: Справочник. Под ред. Ю. Колесникова.– СПб: Питер, 1999. – 480 с.
  2. Власенко С. Ю. Microsoft Word 2002. – СПб: БХВ – Петербург, 2002. – 992 с.
  3. Додж М., Стинсон К. Эффективная работа с Microsoft Excel 2000. – СПб: Питер, 2002. – 1056 с.
  4. Информатика. Базовый курс / Симонович С. В., Евсеев Г. А., Мураховский В. И., Бобровский С. И.– СПб: Питер, 2001.– 640 с.
  5. Столяров А. М., Столярова Е. С. Word 2002 для себя.–М.: ДМК Пресс, 2002.– 432 с.
  6. Стоцкий Ю. Самоучитель Office 2000 – СПб: Питер, 2000. – 608 с.

7. Шафрин Ю. А 1500 основных понятий, терминов и практических советов для пользователей персональным компьютером.– М.: Дрофа, 2001.– 272 с.

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

Объект OLE (OLE – объект) – произвольный элемент, созданный средствами какого-либо приложения Windows, который можно поместить (внедрить и/или связать) в документ другого приложения Windows. Объектом может быть целый файл или только фрагмент файла.

Сервер OLE (OLE – сервер, исходное приложение, приложение-источник) – приложение, средствами которого создается OLE-объект, т.е. программа, которая обслуживает другое приложение.

Клиент OLE (OLE-клиент, приложение-приемник или приложение-контейнер) – приложение, принимающее объект OLE, т.е. программа, которая пользуется услугами OLE-сервера.

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

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

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



Различные приложения Windows в разной степени поддерживают технологию OLE. Некоторые программы, например Блокнот, вообще ее не поддерживают. Ряд программ – WordArt, Microsoft Equation и др. могут исполнять роль только OLE-сервера. Информационные системы, наоборот, чаще всего выполняют только роль приемника, т.е. OLE-клиента.

Наиболее мощные приложения Windows, такие как Word, Excel и др. могут исполнять функции как OLE-сервера, так и OLE-клиента.
Технология OLE позволяет:

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

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

Служебные программы

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

Доступ к служебным программам выполняется через команду Пуск/Программы/ Стандартные/Служебные.

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

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

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

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

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

История появления

Предшественницей новой технологии является Dynamic Data Exchange – DDE, программа, которая работала по протоколу несинхронизированной связи. На практике это выглядело следующим образом: для установления канала связи между данными сервера после передачи запроса требовалось ожидание отклика. То есть, приложение должно было распознать возможные ошибки, существовал риск прерывания связи, тайм-аутов.

Для улучшения качества работы DDE требовалось новое решение, которое и воплотилось в технологии OLE.В чем ее сущность? Object Linking and Embedding (аббревиатура – OLE) – это возможность связывать и внедрять объекты, то есть, программа обеспечивает активацию нового объекта непосредственно в документе.

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

  • Версия 1.0 появилась в 1990 году и позволила оперировать активными соединениями между двумя документами и внедрять один в другой вне зависимости от типа (текст, фото и прочие). Поскольку первый вариант разрабатывался на базе DDE, то остались основные недостатки несинхронной связи (например, быстрое нарушение связи при изменении маршрута доступа).
  • Версия 1.1 дала возможность сохранять исходник в собственном формате, что позволило внедрять из буфера обмена скопированную часть другого документа.
  • Версия 2.0 фактически является надстройкой над архитектурой COM, резвившейся на базе версии 1.1. Component Object Model – это модель многокомпонентных объектов, которая обеспечивает объединение отличающихся по формату текстов, рисунков, фото из любых источников.
  • ActiveX – это современная версия OLE 2.0, которая была переименована в 1996 году. Изначально она использовалась при необходимости вставить мультимедийные данные.

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

OLE на практике

Итак, разработка корпорации Microsoft, внедренная в современные операционные системы, позволяет через буфер обмена работать с разными программами, переносить информационные блоки из одной в другую, формировать и редактировать составной документ из файлов разного типа. Этой возможностью ежедневно пользуются, например, при работе с CorelDRAW или графическим редактором WordPad.

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

Возможности

Object Linking and Embedding обеспечивает новый качественный уровень работы и взаимодействия файлов разного типа и открывает следующие возможности:

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

Расширенный функционал работы открывает перед пользователем самые широкие возможности по редактированию и внедрению фрагментов в начальный документ.

Использование

Как понятно из названия технологии, основных функций у нее две:

  1. связывание;
  2. внедрение.

Рассмотрим, что дает каждая из них пользователям в повседневной работе.

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

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

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