Главная страница
Навигация по странице:

  • Ресурс Назначение

  • 51. Графическая оболочка Windows

  • Вид Значение

  • ТЕХНОЛОГИЯ СВЯЗЫВАНИЯ И ВСТРАИВАНИЯ ОБЪЕКТОВ

  • 52. ОС Windows NT

  • ос и с. ОСиС. 1. Классификация программного обеспечения


    Скачать 2.7 Mb.
    Название1. Классификация программного обеспечения
    Анкорос и с
    Дата11.12.2022
    Размер2.7 Mb.
    Формат файлаdoc
    Имя файлаОСиС.doc
    ТипДокументы
    #839260
    страница21 из 29
    1   ...   17   18   19   20   21   22   23   24   ...   29

    К примеру, последний пункт меню "VT Fonts" программы NXterm (это пункт "Selection") называется "fontsel", он содержится в меню "fontMenu", которое принадлежит окну "nxterm". Таким образом, полное имя этого объекта --

    nxterm.fontMenu.fontsel

    Ресурс, содержащий текст "Selection" в данном случае называется "Label". Таким образом, полная ссылка на ресурс в объекте --

    nxterm.fontMenu.fontsel.Label
    Чтобы указать значение ресурса, надо после ссылки на ресурс указать через двоеточие его значение (пробел после двоеточия необязателен и служит только для читаемости):

    nxterm.fontMenu.fontsel.Label: Current selection

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

    Шаблоны

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

    В понятие "шаблон" входит два компонента.

    Во-первых, вместо имени конкретного объекта можно указать имя класса, к которому принадлежит этот объект. К примеру, все объекты-пункты меню в NXterm (как, впрочем, и во всех программах на основе библиотеки Athena Widgets) принадлежат к классу "SmeBSB". Таким образом, чтобы поменять шрифт, которым отображаются все пункты меню в "VT Fonts" на "fixed", можно воспользоваться указанием ресурса

    nxterm.fontMenu.SmeBSB.font: fixed

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

    nxterm.*.SmeBSB.font: fixed

    сменит шрифт во всех трех меню NXterm.

    Символ "*" можно указывать и вместо нескольких компонентов сразу, опуская точки: спецификация

    nxterm*SmeBSB.font: fixed

    сменит шрифт во всех объектах класса "SmeBSB", к какой бы цепочке объектов они не принадлежали (впрочем, в NXterm других цепочек просто нет :).

    Другой пример -- спецификация

    nxterm*font: fixed

    позволяет изменить шрифт во всех объектах программы.

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

    *font: fixed

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

    nxterm*SmeBSB.font: 7x14

    nxterm.fontMenu.SmeBSB.font: fixed

    В таких ситуациях действует правило: используется та спецификация, которая наиболее точно ссылается на объект. В приведенном выше примере во всех меню, кроме меню "fontMenu" ("VT Fonts"), используется шрифт "7x14", а в "fontMenu" -- шрифт "fixed".

    Как узнать имена объектов и названия ресурсов

    Названия ресурсов, вообще говоря, зависят от библиотеки объектов, на основе которой создана конкретная программа. Имена же объектов -- от конкретной программы.

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

    Кроме того, в таблице ниже приведены самые часто используемые имена ресурсов для библиотек Athena Widgets и Motif.

    Часто используемые ресурсы

    Ресурс

    Назначение

    foreground

    Цвет букв ("цвет переднего плана")

    background

    Цвет фона

    font

    Шрифт (Athena Widgets)

    fontList

    Шрифт (Motif)

    label

    Метка -- текст на кнопке, на пункте меню и т.д. (Athena Widgets)

    labelString

    Метка (Motif)

    Откуда берутся значения ресурсов

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

    Для ответа на этот вопрос приведем список источников (по мере уменьшения приоритета), из которых программа узнает значения ресурсов при запуске.

    Программа может установить значение ресурса при создании объекта.

    Ресурс можно указать в командной строке при помощи ключа "-xrm".

    Спецификации ресурсов могут быть загружены в память X-сервера (это делается автоматически при старте X-Window скриптом xinitrc из содержимого файлов /etc/xinit/.Xresources и

    /.Xresources).

    Если (и только если) в памяти X-сервера ресурсы отсутствуют, то просматривается файл /.Xdefaults. Поскольку .Xdefaults в большинстве реализаций прекращает поиск (и все дальнейшие пункты просто не используются), лучше его никогда не заводить, а если уже есть -- избавляться от него.

    Если есть файл /имя-класса-программы, то просматривается он, а затем, если есть, одноименный файл из директории

    /usr/X11R6/lib/X11/app-defaults/

    Эти файлы содержат "настройки по умолчанию" (app-defaults).

    Имя класса программы обычно указывается в документации, кроме того, чаще всего это просто название программы, первая буква в котором заглавная, а остальные -- маленькие (если первая буква -- "X", то иногда вторую также делают заглавной). В любом случае, стоит воспользоваться командой

    ls /usr/X11R6/lib/X11/app-defaults/ | grep -i имя-программы

    Если (и только если) не найден ни один из app-defaults-файлов, то используется список ресурсов, "вшитый" в программу (т.н. "fallback resources"). Если заглянуть внутрь программы, к примеру, командой

    strings /usr/X11R6/bin/xman | less

    то можно увидеть строки, очень похожие на содержимое файла /usr/X11R6/lib/X11/app-defaults/Xman.

    "Ручное" изменение ресурсов: ключ "-xrm"

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

    nxterm -xrm 'nxterm*SmeBSB.font: fixed'

    Ключ "-xrm" можно указывать несколько раз:

    nxterm -xrm 'nxterm*SmeBSB.font: fixed' -xrm 'nxterm*background:red'

    Естественно, значение ресурса меняется только для данного экземпляра программы.

    Общие рекомендации -- как же все-таки настраивать ресурсы

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

    Первым делом следует отладить спецификацию ресурса "методом проб и ошибок" при помощи ключа "-xrm".

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

    При настройке ресурсов конкретной программы следует поменять ее app-defaults-файл. Аналогично, при настройке для всех пользователей -- файл из /usr/X11R6/.../app-defaults/, а при персональной настройке любой пользователь может скопировать файл из .../app-defaults/ к себе в home-директорию и поправить под свой вкус; поскольку, хотя просматриваются оба файла, приоритет отдается настройкам из персонального.

    Где еще брать информацию

    Базовые понятия и определения ресурсов имеются в man-странице по X (см. подраздел "RESOURCES").

    Кроме того, подробное описание синтаксиса указания ресурсов и порядка, в котором они берутся из разных источников, есть в разделе 10.2 книги "X Toolkit Intrinsics Programming Manual" от O'Reilly & Associates (имеется в электронном виде в системе insight на компьютерах Silicon

    51. Графическая оболочка Windows
    Windows — популярная графическая операционная оболочка. Windows (95 - 98) работает на базе MS DOS. Наряду с Windows существуют и другие операционные системы с аналогичным пользовательским интерфейсом для компьютеров различных классов. Следует назвать те концептуальные черты Windows, благодаря которым она получила широкое распространение и, по заявлению фирмы Microsoft, "изменит ваш способ работы с персональным компьютером":

    • мультизадачный режим работы;

    • оптимальное управление ресурсами компьютера;

    • графический пользовательский интерфейс;

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

    • возможность работы в сетевой среде;

    • интерфейс мультимедиа.

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

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

    Различают два типа мультизадачное кооперативную (непревентивную или непре-емптивную) и преемптивную (превентивную, с разделением времени).

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

    • При преемпт ивном мультизадачном режиме, как, например, в OS/2 или Windows NT, каждая задача получает фиксированный квант времени процессора. По истечении этого кванта времени система вновь получает управление, чтобы выбрать другую задачу для активизации. Впрочем, если возникает системное событие (завершение ввода-вывода) или задача обращается к системе до истечения ее кванта времени, то это также служит причиной передачи управления системе и последующего переключения задач.

    Для реализации мультизадачного режима Windows 3.1 использует основные ресурсы компьютера (процессор, оперативную память и программы) как разделяемые ресурсы, т.е. предоставляет их для совместного использования сразу нескольким приложениям (программам).

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

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

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

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

    Указатель мыши. При старте Windows 3.1 на экране появляется графический объект, называемый указателем (курсором) м ы ш и. Он перемещается по экрану согласованно с движением мыши по поверхности стола. Курсор мыши символически отображает своей формой, какие возможности к действию предлагаются в данный момент для использования мыши (табл. 1).

    Таблица 1. Виды курсора мыши

    Вид Значение



    Курсор принимает форму песочных часов при ожидании выполнения команды, так как Windows для этого требует некоторое время

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

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

    Выделение строк текста, ячеек таблицы

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

    Такая двунаправленная стрелка предлагает возможность изменения размеров окна в соответствующем направлении

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

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

    Активное окно. Несмотря на то, что Windows 3.1 — многозадачная среда, в которой могут работать несколько приложений одновременно, ясно, что один пользователь в каждый момент времени может работать только с одним приложением. Принято говорить, что приложение, к которому относятся команды и действия мыши, а также клавиатуры, отображается в активном окне.

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

     

    ТЕХНОЛОГИЯ СВЯЗЫВАНИЯ И ВСТРАИВАНИЯ ОБЪЕКТОВ

    Обмен данными между документами

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

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

    Для занесения информации в буфер обмена и ее извлечения оттуда приложения Windows имеют в своих меню команды КОПИРОВАТЬ, ВЫРЕЗАТЬ, ВСТАВИТЬ.

    Для последующей работы с данными, занесенными в буфер обмена, в Windows  в группе Главная можно использовать окно Папки Обмена. Это приложение позволяет просмотреть содержимое буфера, сохранить его в файле, очистить буфер или по-«ац1? местить его содержимое в Папку Обмена. Объект данных с содержимым очередного буфера получает название страницы в Папке Обмена. Пользователь сам выбирает имя для очередной страницы, a Windows сохраняет ее в файле с расширением .CLP.

    Технология DDE

    Для динамического обмена данными в Windows используется разработанная для этой цели фирмой Microsoft технология DDE — "Dynamic Data exchange", что означает "динамический обмен данными".

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

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

    При макропрограммировании в WordBasic есть возможность программным путем инициировать DDE-канал между двумя приложениями, послать по этому каналу серию команд, а также послать или запросить данные от одного приложения к другому.

    Технология OLE

    Для связывания документов в Windows используется разработанная для этой цели фирмой Microsoft технология OLE — "Object Linking and Embedding", что означает "связывание и встраивание объектов".

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

    Однако не все приложения Windows 3.1 поддерживают технику OLE. Способные к этому приложения делятся на три группы:

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

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

    • приложения, которые могут выполнять роль как сервера, так и клиента одновременно.

    Объекты в технологии OLE

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

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

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

    Существуют два варианта использования OLE:

    • установление связи с объектом;

    • внедрение (встраивание) объекта.

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

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

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

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

    Существенно то, что для внедренной копии объекта связь с ее оригиналом не поддерживается. Это означает, что изменения, внесенные впоследствии в оригинальный объект, не отразятся на внедренной копии. Редактирование внедренного объекта возможно лишь путем вызова родительского приложения; приложение-клиент не в состоянии что-либо сделать с внедренным объектом, кроме его удаления или вырезки.

    Двойной щелчок по внедренному объекту активизирует цепочку связи: приложение-клиент — приложение-сервер — внедренный объект. Любые команды приложения-сервера, прерывающие процесс редактирования объекта, закрывают цепочку связи между объектом и приложением-клиентом.

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

    52. ОС Windows NT

    1. 1   ...   17   18   19   20   21   22   23   24   ...   29


    написать администратору сайта