Конспект лекций по учебной дисциплине «Операционные системы, среды и оболочки»



страница13/22
Дата05.03.2019
Размер2.53 Mb.
ТипКонспект лекций
1   ...   9   10   11   12   13   14   15   16   ...   22

Лекция 6

“Технология Object Linking and Embedding (OLE); Технология Component Object Model (COM) , Технология ActiveX. Сервер сценариев WSH”

В Windows с самого начала для обеспечения обмена данными между приложениями была разработана технология связывания и внедрения объектов (Object Linking and Embedding, OLE). Сначала технология OLE использовалась для создания документов, а затем для решения более общей задачи – предоставления приложениями друг другу собственных функций (служб) и правильного использования этих функций. Техно­логия, позволяющая одному приложению (клиенту автоматизации) вызы­вать функции другого приложения (сервера автоматизации) была названа OLE Automation. В основе OLE и OLE Automation лежит разработанная Microsoft базовая "компонентная" технология Component Object Model (COM). В общих словах, компонентное программное обеспечение — это способ раз­работки программ, при котором используются технологии создания про­граммных модулей, подобные технологиям, применяемым для разработки аппаратных средств. Сложные элементные схемы собираются из стандарти­зированных микросхем, которые имеют четко определенные документиро­ванные функции. Разработчик может эффективно пользоваться такими микросхемами, не задумываясь об их внутренней структуре. В программных компонентах, написанных на каком-либо языке программирования, детали реализации используемых алгоритмов также скрыты внутри компонента (объекта), а на поверхности находятся общедоступные интерфейсы, которы­ми могут пользоваться и другие приложения, написанные на том же ил другом языке.

В настоящее время, по заявлению Microsoft, термин OLE используется только по историческим причинам. Вместо него Microsoft с 1996 года использует новый термин — ActiveX, первоначально обозначавший WWW (World Wide Web) компоненты (объекты), созданные на базе технологии СОМ.

Технология ActiveX сейчас является ключевой в продуктах Microsoft. Наибо­лее полное воплощение она нашла в программах Microsoft Office, Internet Explorer, Internet Information Service (US). В эти продукты для управления соответствующими объектами автоматизации были встроены интерпретато­ры специальных языков сценариев: VBScript (используется в Microsoft Office, Internet Explorer, IIS) и JScript (используется в Internet Explorer, IIS Однако непосредственно в операционной системе, вне этих продуктов, вы поднять сценарии, написанные на VBScript или JScript, было нельзя.

Сервер сценариев WSH является мощным инструментом, предоставляющим единый интерфейс для специализированных языков (в том числе для VBScript и JScript), которые, в свою очередь, позволяют использовать любые внешние объекты ActiveX. С помощью WSH сценарии могут быть выполнены непосредственно в операционной системе Windows.

Назначение и основные свойства WSH


При помощи WSH можно выполнять сценарии, написанные на любом языке, для которого установлен соответствующий модуль (scripting engine), поддерживающий технологию ActiveX Scripting. Сценарии могут запускаться несколькими способами: с рабочего стола или из Проводника Windows (с помощью исполняемого файла wscript.exe), и из командной строки (с помощью файла cscript.exe).

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

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

'В поставку Windows 98 входит WSH версии 1.0, а в Windows 2000 — вер­сии 2.0.



Мы будем рассматривать WSH версии 2.0, в которой Microsoft реализовала поддержку двух языков сценариев: VBScript и JScript. В принципе, можно пользоваться и разработками сторонних компаний, которые предоставляют свои модули для других языков, например, PerlScript, TCL, REXX и Python.

По своим функциональным возможностям языки VBScript и JScript в настоящее время стали практически равнозначны, однако внешне их синтаксис различен: VBScript основан на языке Visual Basic, a JScript похож на Java и С. Надо отметить, что большинство примеров сценариев WSH, которые 'встречаются в литературе и на сайтах сети Internet, написаны на VBScript. Отметим также, что WSH 2.0 позволяет в одном сценарии использовать языки JScript и VBScript одновременно.

Описанию языка JScript посвящено большое количество доступной литера­туры, однако, практически везде этот язык рассматривается с точки зрения управления браузером и создания интерактивных HTML-страниц. Мы же в следующем разделе рассмотрим этот язык лишь в том объеме, в котором он может понадобиться при написании сценариев WSH.

WSH-сценарий, написанный на языке JScript, — это обычный текстовый файл с расширением js, создавать его можно в любом текстовом редакторе, способном сохранять документы в формате "только текст". Размер сценария может изменяться от одной до тысяч строк, предельный размер ограничива­ется лишь максимальным размером файла в соответствующей файловой системе.


Необходимые сведения о языке JScript


Язык JScript — это разработанный Microsoft интерпретируемый объектно-ориентированный язык сценариев, который первоначально предназначался для создания динамических HTML-страниц. Отметим, что JScript не являет­ся урезанной версией какого-либо другого языка программирования, хотя по синтаксису он похож на языки Java и С. Как уже было сказано выше, в этом разделе мы кратко рассмотрим те возможности и свойства JScript, которые могут потребоваться при составлении сценариев, выполняемых с помощью WSH.

Переменные


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

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

var MyVariable;

При объявлении тип переменной явным образом не указывается (как это делается, например, в языках С или Pascal). Определенный тип переменной присваивается только тогда, когда в нее записывается какое-либо значение.

Язык JScript является регистро-зависимым, т. е. имена MyVariable и myvariabie представляют разные переменные. Кроме этого, при выборе имен переменных следует придерживаться следующих правил:

* имя переменной должно начинаться с буквы или с символов "_", "$" и может состоять только из букв, цифр, а также символов "_", "$";

* имя переменной не должно совпадать с зарезервированными ключевыми I словами языка JScript,

Список ключевых слов JScript приведен в таблице:



Зарезервированные ключевые слова JScript

Break


default


false


new


true


Case


delete


finally


null


try


Catch


do


for


return


typeof


Class


else


function


super


var


Const


enum


if


switch


void


Continue


export


import


this


while


Debugger


extends


in


throw


with


Значения переменным в JScript присваиваются с помощью оператора присваивания "=". Например:

var MyVariable;

MyVariable = "Привет! ";

Здесь мы объявили переменную MyVariable и записали в нее текстовую

строку. Однако далее в любом месте сценария мы можем присвоить переменной MyVariable числовое значение (при этом тип переменной изменится), например:

MyVariable = 10;

Кроме этого, переменной можно присвоить специальное значение null:

MyVariable = null;

В данном случае переменной MyVariable не назначается никакого определенного типа (пустой тип). Такое присвоение применяется в тех случаях, когда необходимо объявить переменную и проинициализировать ее, не при­вивая этой переменной никакого определенного типа и значения.

Типы данных


В JScript поддерживаются шесть типов данных, главными из которых являются числа, строки, объекты и логические данные. Оставшиеся два типа — это null (пустой тип) и undefined (неопределенный тип).

Числа


В сценариях JScript числа могут использоваться в различных форматах:

* целые числа (по основанию 8, 10 или 16);

* числа с плавающей десятичной точкой;

* числа в научной нотации.

Также имеются несколько специальных числовых значений:

* NaN (Not a Number) — так называемое "нечисло", которое не соответствует никакому числу (это значение генерируется в тех случаях, когда результат выполнения операции над числами не может быть представлен виде числа);

* положительная бесконечность; П отрицательная бесконечность;

* положительный 0;

* отрицательный 0.

Текстовые строки


Текстовые строки — это последовательность символов, заключенных в одинарные или двойные кавычки, например:

"Привет! "



'Большой привет!

‘И тогда он крикнул: "Берегись!"’

Строка может иметь нулевую длину (пустая строка):

MyVariable = ""

В JScript можно также использовать специальные комбинации символа с помощью которых в строки включаются некоторые неотображаемые символы или символы, имеющие специальное значение. Каждая из этих комбинаций (escape-последовательностей) начинается с символа обратной и сой черты "\".

Объекты


В JScript под объектом понимается совокупность свойств и методов. Ме­тод — это внутренняя функция объекта, свойство — это одно значение ка­кого-либо типа или несколько таких значений (в виде массива или объекта), хранящихся внутри объекта. Поддерживаются три вида объектов:

* встроенные (внутренние) объекты;

* объекты, создаваемые программистом в сценарии;

* внешние объекты (например, объекты WSH).


Логические данные


Логические данные предназначены для выполнения операций сравнения, а также для использования в условных операторах. При этом логические данные имеют только два значения: true (истина) и false (ложь). Отметим, что в JScript эти значения никак не соотносятся с числами 1 и 0.

Null (пустой тип) и undefined (неопределенный тип)


Если переменная была объявлена с помощью ключевого слова var, но ей еще ни разу не присваивалось значение, она имеет неопределенный тип

(undefined):

гаг MyVariable;

После выполнения этой строки переменная MyVariable имеет тип undefined. Как уже отмечалось выше, если теперь присвоить переменной значение null, то эта переменная будет типа null (пустой тип):

MyVariable = null;




Поделитесь с Вашими друзьями:
1   ...   9   10   11   12   13   14   15   16   ...   22


База данных защищена авторским правом ©vossta.ru 2019
обратиться к администрации

    Главная страница