Извлекает части пути службы CNS.
Краткое описание
bool cnsSubStr(string cnsPath, int flags[, bool ]);
Параметр
Параметр | Описание |
cnsPath | Путь службы CNS, который должен быть проанализирован |
flags | Определяет, какие части пути должны быть извлечены. Можно комбинировать использование нескольких флажков с двоичным ИЛИ. Доступны следующие флажки: CNSSUB_SYS: Имя системы. Если resolvePath имеет значение «истина», и можно разрешить окно просмотра, то имя системы будет взято из существующего окна просмотра, в противном случае оно будет взято из строки заданного пути. CNSSUB_VIEW: Если при указании не выбраны другие флажки, тогда будет имя окна просмотра («<>»), в противном случае — путь к окну просмотра («.<>:»). CNSSUB_PATH: Путь к узлу. Если resolvePath имеет значение «истина», и можно разрешить путь, то CNSSUB_PATH будет действовать начиная с разделителя окна просмотра и до последнего существующего узла включительно. В противном случае он будет действовать начиная с разделителя окна просмотра и до дополнительного второго разделителя окна просмотра (не включительно) и дополнительного разделителя пути непосредственно перед ним (см. примеры). CNSSUB_PARENT:Как CNSSUB_PATH, но только без последнего узла. Если CNSSUB_PATH имеет только один узел, то этот узел будет возвращен. CNSSUB_ROOT: Первый узел из CNSSUB_PATH. CNSSUB_NODE: Последний узел из CNSSUB_PATH. CNSSUB_TAIL: Любой элемент после CNSSUB_PATH. |
resolvePath | Определяет необходимость разрешения пути. Если имеет значение «истина», и существует окно просмотра или узел с заданным путем, то существующий элемент будет использоваться для определения имени системы, а также для разделения CNSSUB_PATH и CNSSUB_TAIL. Если имеет значение «ложь» или невозможно найти элемент, то указанные части будут извлечены посредством синтаксического анализа строки пути. Отключение разрешения пути полезно главным образом тогда, когда вы уже знаете о существовании узла, следовательно, это поможет вам избежать использования дополнительных служебных данных для доступа к службе CNS. |
Возвращаемое значение
Возвращает значение TRUE (ИСТИНА) в случае успешного выполнения или FALSE (ЛОЖЬ) — при возникновении ошибки.
Ошибки
Описание
Данная функция извлекает части пути службы CNS.
ПРИМЕР
main()
{
cnsSubStr(«System1.View1:», CNSSUB_SYSTEM); //»System1″
cnsSubStr(«System1.View1:», CNSSUB_VIEW); //»View1″
cnsSubStr(«System1.View1:», CNSSUB_SYSTEM | CNSSUB_VIEW); //»System1.View1:»
cnsSubStr(«System1.View1:», CNSSUB_VIEW | CNSSUB_PATH); //».View1:»
cnsSubStr(«System1.View1:», CNSSUB_PATH); //»»
cnsSubStr(«System1.View1:», CNSSUB_TAIL); //»»
cnsSubStr(«System1.View1:root», CNSSUB_PATH); //»root»
cnsSubStr(«System1.View1:root», CNSSUB_ROOT); //»root»
cnsSubStr(«System1.View1:root», CNSSUB_NODE); //»root»
cnsSubStr(«System1.View1:root», CNSSUB_PARENT); //»root»
cnsSubStr(«System1.View1:root», CNSSUB_VIEW | CNSSUB_PATH); //».View1:root»
cnsSubStr(«System1.View1:root», CNSSUB_SYS | CNSSUB_VIEW | CNSSUB_PATH); //»System1.View1:root»
cnsSubStr(«System1.View1:root», CNSSUB_TAIL); //»»
cnsSubStr(«.View1:root.node1.node2″, CNSSUB_PATH); //»root.node1.node2»
cnsSubStr(«.View1:root.node1.node2″, CNSSUB_ROOT); //»root»
cnsSubStr(«.View1:root.node1.node2″, CNSSUB_NODE); //»node2»
cnsSubStr(«.View1:root.node1.node2″, CNSSUB_PARENT); //»root.node1»
cnsSubStr(«.View1:root.node1.node2″, CNSSUB_VIEW | CNSSUB_PATH); //».View1:root.node1.node2″
cnsSubStr(«.View1:root.node1.node2″, CNSSUB_TAIL); //»»
cnsSubStr(«.View1:root.node1.node2.», CNSSUB_PATH); //»root.node1.node2″
cnsSubStr(«.View1:root.node1.node2.», CNSSUB_NODE); //»node2″
cnsSubStr(«.View1:root.node1.node2.», CNSSUB_TAIL); //».»
cnsSubStr(«.View1:root.node1.node2.:_online.._value», CNSSUB_PATH); //»root.node1.node2″
cnsSubStr(«.View1:root.node1.node2.:_online.._value», CNSSUB_NODE); //»node2″
cnsSubStr(«.View1:root.node1.node2.:_online.._value», CNSSUB_TAIL); //».:_online.._value»
cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_PATH, false); //»root.node1.node2.dpe1.dpe2″
cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_NODE, false); //»dpe2″
cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_TAIL, false); //»:_online.._value»
// если узел «.View1:root.node1.node2» существует,
// но «.View1:root.node1.node2.dpe1» не является:
cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_PATH, true); //»root.node1.node2″
cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_NODE, true); //»node2″
cnsSubStr(«.View1:root.node1.node2.dpe1.dpe2:_online.._value», CNSSUB_TAIL, true); //».dpe1.dpe2:_online.._value»
}
Используется для объекта
Функции управления службы общих имен
Доступность
Интерфейс пользователя, CTRL
См. также