ZuluAX 2021

Руководство программиста

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

Объектная модель ZuluGIS

Для доступа к данным и управления приложением ZuluGIS предоставляет объектную модель COM, которая используется для программирования с помощью макросов, модулей расширения или компонентов ZuluXTools.

Макросы

Система позволяет создавать, редактировать и выполнять макросы на языках VBScript и JScript.

Модули расширения (plug-ins)

Система позволяет подключать дополнительные модули расширения (plug-ins).

ZuluXTools

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

Данная версия справочной системы от 10-03-2025


Макросы

В системе имеется возможность создавать макросы на языках VB Script или Java Script. что упрощает их процесс создания и позволяет интерактивно получать доступ к свойствам и методам объектной модели ZuluGIS. Среда выполнения макросов доработана собственным отладчиком.

Некоторые примеры макросов можно найти на нашем сайте:

https://www.politerm.com/samples/zulugis/macros/.

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

[Подсказка] Подсказка

При нажатии SHIFT + ПРОБЕЛ открывается список с константами.

IntelliSense при написании текста макроса

Рисунок 1. IntelliSense при написании текста макроса

При выборе в меню Сервис пункт Макросы... автоматически в папке Macros создается файл MyMacros, который может быть использован для написания макросов на языке VB Script. Данная папка находится в той же директории где установлена ZuluGIS, в том случае, если папки не существует, она также будет создана автоматически.

Корневым объектом для макросов ZuluGIS является объект Application.


Создание нового макроса

  1. В меню Сервис выделите пункт Макросы....

  2. В строке Имя макроса введите название создаваемого макроса.

  3. Из списка Файл выберите файл для записи макроса. Если нужного файла нет, то нажмите кнопку Новый, укажите имя файла, затем с помощью опций выберите нужный язык программирования и нажмите ОК.

  4. Нажмите кнопку Правка.

  5. В появившемся окне напишите код для макроса.

  6. С помощи меню Файл|Сохранить или комбинацией клавиш Ctrl + S сохраните макрос и закройте окно редактора.

[Примечание] Примечание

Видеоурок, в котором используется макрос можно посмотреть пройдя по ссылке: https://www.politerm.com/videos/examples/CalcGaussKruger/.


Изменение макроса

  1. В меню Сервис укажите пункт Макросы.....

  2. Выделите необходимый макрос. Если нужного макроса нет в списке, выберите другой модуль в списке Файл.

  3. Нажмите кнопку Правка.

или

  1. В меню Сервис выделите пункт Модули….

  2. В списке выберите файл, содержащий нужный макрос.

  3. Нажмите кнопку Правка.


Выполнение макроса

  1. В меню Сервис укажите пункт Макросы….

  2. Выделите необходимый макрос. Если нужного макроса нет в списке, выберите другой модуль в списке Файл.

  3. Нажмите кнопку Выполнить.

или

  1. В меню Сервис выделите пункт Выполнить.

  2. Откройте вкладку Макро.

  3. Выделите необходимый макрос. Если нужного макроса нет в списке, выберите другой модуль в списке Файл.

  4. Нажмите кнопку Выполнить.


Удаление макроса

  1. Войдите в режим изменения макроса (см. выше).

  2. Удалите весь текст, относящийся к макросу.

  3. Сохраните файл макроса.

Для удаления модуля (файла) содержащего макросы:

  1. В меню Сервис укажите пункт Модули.

  2. В списке выделите необходимый модуль.

  3. Нажмите кнопку Удалить.


Привязка макроса к кнопке панели инструментов

  1. Сделайте щелчок правой кнопкой мыши в области панели инструментов. В появившемся контекстном меню выберите пункт Настройка.

  2. В разделе Категории выделите пункт Макросы, после чего в разделе Команды отразятся названия всех имеющихся макросов.

  3. Выберите макрос и перетащите его на панель инструментов.

  4. Для смены имени или настройки внешнего вида кнопки макроса сделайте щелчок правой кнопкой мыши на кнопке.

  5. Для смены имени в строке Имя внесите новое имя кнопки. С помощью пункта Копировать значок на кнопке имеется возможность скопировать значок с другой кнопки, а с помощью пункта Вставить значок для кнопки, соответственно вставить его. Для вызова редактора картинок выберите пункт Изменить значок на кнопке.

  6. В редакторе Картинка на кнопке в разделе Цвета выберите цвет рисунка, а в разделе Картинка нарисуйте картинку.

    При этом в разделе Просмотр будет отображаться созданная кнопка. С помощью стрелок из раздела Переместить можно сместить картинку в ту или иную сторону.

    Диалог «Картинка на кнопке»

    Рисунок 2. Диалог «Картинка на кнопке»

  7. Для сохранения и закрытия окна Картинка на кнопке нажмите кнопку ОК.

  8. С помощью кнопки Закрыть закройте окно Настройка интерфейса.


Модули расширения (plug-ins) ZuluGIS

ZuluGIS поддерживает дополнительные встраиваемые модули - плагины (plug-ins). Модули представляют собой динамически загружаемые библиотеки (DLL, OCX), которые в нужный момент загружаются ZuluGIS и предоставляют пользователю дополнительную функциональность. Модули могут также предоставить пользователю дополнительный пользовательский интерфейс - разделы и пункты меню, панели инструментов и отдельные кнопки, плавающие и докируемые рабочие панели.

Примером модулей расширения ZuluGIS могут служит расчетные задачи ZuluThermo, ZuluHydro, ZuluSteam, ZuluGaz, модуль построение пьезометрических графиков а также коммутационные задачи.

Некоторые примеры плагинов можно посмотреть на нашем сайте:

https://www.politerm.com/samples/plugins/.


Как работает модуль?

Модуль расширения может быть выполнен в одном из следующих вариантов:

  • Динамическая библиотека (DLL), предоставляющая интерфейс через экспортируемые функции.

  • ActiveX DLL библиотека, предоставляющая COM-объект для связи с ZuluGIS;

  • ActiveX Control DLL библиотека, предоставляющая элемент ActiveX (ActiveX control), который внедряется в ZuluGIS и получает управление от приложения.

[Примечание] Примечание

Настоящая спецификация не предусматривает подключение COM-объектов, реализованных в EXE-модулях (out-process servers).

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

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

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


Информация о модуле

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

Файл манифеста

Файл манифеста должен располагаться в папке C:\Program Files (x86)\Zulu 8.0\Plug-Ins или в одной из её подпапок. Если ZuluGIS установлена в папке, отличной от предложенной по-умолчанию, то соответственно папка Plug-Ins будет находится в текущем расположении файлов программы. При запуске ZuluGIS сканирует эту папку и её подпапки на предмет файлов с расширением .plugin и считывает информацию из них.

Ниже представлен пример файла манифеста:

<?xml version="1.0" encoding="UTF-8"?>
<zuluplugin version="8.0" xmlns="http://politerm.com/schemas/zuluplugin">
    <plugin id="Имя модуля"
            name="Полное название модуля"
            description="Краткое описание модуля (не обязательно)"
            copyright="© копирайт (не обязательно)">
        <module>MyPlugin.dll</module>
        <commands>
            <command id="OpenForm"
                name="Открыть форму"
                description="Открывает форму ">
                <method name="_OpenForm@4"/>
            </command>
        </commands>
    </plugin>
</zuluplugin>

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

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

[Примечание] Примечание

Хотя ZuluGIS специально не проверяет это, но рекомендуется, чтобы значение id содержало только символы латиницы, цифры и знак подчеркивания, как это допускается в именах идентификаторов в распространенных языках программирования и не содержало бы пробелов, занков пунктуации и прочих специальных символов. Это позволит использовать подобные идентификаторы в скриптах и другие возможности.

Кроме того, следующие атрибуты тега plugin задают общую информацию о модуле:

name | Отображаемое название продукта, представленного данным модулем. Оно будет видно пользователю в пользовательском интерфейсе ZuluGIS.
description | Краткое описание модуля, оно также будет отображаться в пользовательском интерфейсе ZuluGIS.
copyright | Информация об авторских правах.

Расположение модуля

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

C:\Program Files (x86)\Zulu 8.0\Plug-Ins\<Организация>\<Имя модуля>


Подключение модуля

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

Тег | Значение
clsid | CLSID объекта. Модуль представляет собой COM-объект (ActiveX object) или элемент ActiveX (ActiveX control)
progid | ProgID объекта. Модуль представляет собой COM-объект или элемент ActiveX
module | Путь к библиотеке (.dll файлу). Интерфейс с модулем предоставляется через экспортируемые функции.

При запуске модуля ZuluGIS проверяет наличие одного из перечисленных выше тегов в последовательности, указанной в таблице. В случае наличия тегов clsid или progid, ZuluGIS проверяет, является ли объект элементом ActiveX (ActiveX control), если нет, то он рассматривается как COM-объект поддерживающий OLE Automation.

Далее загрузка и подключение модуля происходит по одному из трех сценариев:

Подключение модуля в виде простой DLL

Ниже представлен фрагмент манифеста модуля в виде простой DLL:

<plugin id="myplugin" name="My Plugin">
    <module>MyPlugin.dll</module>
...

Порядок загрузки модуля:

  1. Загружается библиотека, указанная в теге module с помощью функции LoadLibrary Win32 API.

  2. Получение адреса функции подключения модуля. По умолчанию такой функцией является:

    extern ”C” BOOL __declspec(dllexport) __stdcall ConnectZuluPlugin(IPluginConnector *pConn, LPDWORD lpdwCookie);

    Для получения адреса используется декорированное (mangled) имя этой функции, которое при компиляции модуля в Microsoft Visual C++ будет иметь вид _ConnectZuluPlugin@8.

    В случае использование функции с другим именем или если декорация (mangling) имен отличается от MSVC (например, Borland Delphi или Borland C++Builder), имя функции с помощью тега connectmethod:

    <plugin id="myplugin" name="My Plugin">
    <module>MyPlugin.dll</module>
    <connectmethod name="MyConnectMethod"/>
...

    Значение атрибута name должно отвечать соглашениям для вызова функции GetProcAddress Win32 API.

  3. Вызывается функция подключения. Первым параметром этой функции передается адрес на дуальный интерфейс IPluginConnector object, представляющий собой объект-посредник между ZuluGIS и дополнительным модулем. Второй параметр – указатель на двойное слово (DWORD), в которое может быть записано любое определяемое модулем значение и использоваться по усмотрению разработчика модуля. В дальнейшем, при вызове остальных методов модуля первым параметром будет передаваться указанный DWORD. Таким образом, dwCookie служит неким this (по аналогии с языком C++) или дескриптором (handle) для конкретного подключения модуля. При успешном подключении функция должна вернуть значение TRUE.

Подключение модуля в виде COM-объекта

Ниже представлен пример регистрации модуля в виде COM-объекта:

<plugin id="myplugin" name="My Plugin">
    <progid>MyPlugin.MyPluginObject</progid>
...

либо:

<plugin id="myplugin" name="My Plugin">
    <clsid>{12345678-1234-1234-1234-1234567890AB}</clsid>
...

Порядок загрузки модуля:

  1. Создание экземпляра объекта посредством вызова функции CoCreateInstance Win32 API. Объект задается либо с помощью тегом progid, либо clsid, как удобней разработчику. При создании объекта, ZuluGIS запрашивает у него интерфейс IDispatch, поэтому объект должен либо поддерживать непосредственно интерфейс IDispatch, либо дуальный интерфейс, порожденный от IDispatch.

  2. Вызов метода подключения. По умолчанию этот метод имеет следующий вид:

    IDL:
[id(dispid)] HRESULT ConnectZuluPlugin([in] IDispatch *pConn,[out,retval] VARIANT_BOOL *pRetVal);
    'Visual Basic:
Public Function ConnectZuluPlugin(Connector As IPluginConnector) As Boolean

    Если для подключения предполагается использовать другое имя метода, то это имя можно указать с помощью элемента connectmethod:

    <plugin id="myplugin" name="My Plugin">
    <connectmethod name="MyConnectMethod"/>

    В случае успеха метод должен вернуть значение True (VARIANT_TRUE).

Подключение модуля в виде элемента ActiveX

Модуль в виде элемента ActiveX задается в манифесте также как и COM-модуль с помощью элемента progid или clsid. Для того, чтобы система знала что указанный объект - элемент ActiveX, необходимо добавить атрибут control:

<plugin id="myplugin" name="My Plugin">
    <progid control="1">MyPlugin.MyPluginObject</progid>
...

или

<plugin id="myplugin" name="My Plugin">
    <clsid control="1">{12345678-1234-1234-1234-1234567890AB}</clsid>
...

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

  1. Создается панель, куда внедряется экземпляр указанного элемента ActiveX по указанному ProgID или CLSID;

  2. Вызывается метод подключения. Формат метода подключения аналогичен подключению обычного COM-объекта.

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

Поведение панели можно задать в манифесте с помощью элемента controlbar (см. «Управление окном модуля»)

Метод подключения модуля

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

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

Первым параметром методу подключения передается объект IPluginConnector object, который является посредником между ZuluGIS и модулем. Свойство Zulu property (IPluginConnector) этого объекта дает доступ к корневому объекту объектной модели системы.

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


Отключение модуля

Отключение модуля от ZuluGIS происходит в два этапа:

  1. Вызывается метод отключения модуля.

    Для обычной DLL:

    extern “C” void __declspec(dllexport) __stdcall DisconnectZuluPlugin(DWORD dwCookie);

    Для COM-объекта и элемента ActiveX:

    //IDL:
[id(dispid)] HRESULT DisconnectZuluPlugin();
    //Visual Basic:
Public Sub DisconnectZuluPlugin()

    Имя метода отключения может задаваться явно с помощью элемента disconnectmethod:

    <plugin id="myplugin" name="My Plugin">
    <disconnectmethod name="MyDisconnectMethod"/>

  2. После этого модуль выгружается. В случае обычной DLL, модуль выгружается с помощью функции FreeLibrary Win32 API. В случае COM-объекта - высвобождается ссылка на сам объект.


Управление окном модуля

В случае, когда ZuluGIS автоматически создает панель для внедряемого окна модуля (например, если модуль выполнен в виде элемента ActiveX), поведением этого окна можно управлять. Для этого служит элемент controlbar:

<plugin id="myplugin" name="My Plugin">
    <controlbar
        allowdockable="1|0"
        dockable="1|0"
        hideonclose="1|0"
        showhidecommand="Имя_команды"
        initialsize="cx,cy"
        caption="Заголовок окна"
        sizeable="1|0"
    />
...

Заголовок окна

Можно задать заголовок окна с помощью атрибута caption. Этот же заголовок будет иметь плавающая панель, куда внедрено окно модуля, а также будет отображаться среди вкладок, когда панель будет «придокирована».

Габариты окна

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

initialsize="200,200"

Также можно задавать размеры в единицах twips. Это удобно, когда встраиваемое окно разрабатывается как UserControl в Microsoft Visual Basic, где размеры обычно задаются в twips. Например:

initialsize="twips:4095,3735"

По-умолчанию пользователь может менять размеры окна с помощью рамки панели, однако это можно запретить, чтобы габариты окна оставались неизменными. Для этого нужно задать атрибут sizeable со значением 0:

sizeable="0"

Закрытие и скрытие окна

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

Для того, чтобы окно не уничтожалось, а лишь скрывалось, можно воспользоваться атрибутом hideonclose:

hideonclose="1"

В этом случае команда кнопки «Закрыть» меняется на «Скрыть», при нажатии на кнопку окно становится невидимым и может быть вновь отображено при вызове какой-либо команды модуля.

Также операцию скрытия/отображения окна модуля можно синхронизировать с какой-либо командой модуля. Для этого служит строковый параметр showhidecommand:

showhidecommand="ShowForm"

При указании этого параметра, окно модуля ведет себя также как и встроенные рабочие окна ZuluGIS, такие как «Сообщения», «Свойства», «Навигатор» и др. С помощью указанной команды модуля окно скрывается или вновь отображается, при этом внешний вид кнопки инструментов или пункта меню отражает текущее состояние окна (видимое/невидимое).


Автозагрузка модуля

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

Для того, чтобы сделать модуль автоматически загружаемым нужно добавить к элементу plugin атрибут autorun:

<plugin id="myplugin" name="My Plugin" autorun="1">
...

Для того, чтобы одновременно при автоматической загрузке модули выполнялась определенная команда, атрибут autorun должен задаваться несколько иначе:

<plugin id="myplugin" name="My Plugin" autorun="имя_команды">
...


Команды модуля

Команды модуля – операции, выполняемые модулем, которые вызываются посредством пользовательского интерфейса ZuluGIS. Для задания команды требуется указать мнемоническое имя, полное название и соответствующий метод модуля:

<plugin id="myplugin" name="My Plugin">
    <commands>
        <command id="имя_команды"
                 name="полное_название_команды"
                 desc="краткое_описание_команды">
            <method>имя_метода</method>
        </command>
    </commands>
...
имя_команды | мнемоническое имя команды;
имя_метода | имя метода модуля, соответствующего данной команде.

[Примечание] Примечание

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

Команда без метода

В том случае, когда команда модуля отвечает лишь за отображение окна модуля (например команда, указанная в showhidecommand у окна модуля), и не предполагает выполнение какого-либо кода, то метод команды можно не указывать.

Простой метод команды

Простой метод модуля для команды должен иметь следующий синтаксис:

Для обычной DLL:

extern “C” __declspec(dllexport) BOOL __stdcall SomeCommandMethod(DWORD_PTR dwCookie);

Для COM-объекта и ActiveX элемента:

//IDL:
[id(dispid)] HRESULT SomeCommandMethod([out, retval] BOOL *pRetVal);
'Visual Basic:
Public Function SomeCommandMethod() as Boolean

В случае экспортируемой функции, имя метода, указываемое в реестре для Microsoft Visual C++ будет _SomeCommandMethod@4, для других сред разработки возможно иное. Пример:

<plugin id="myplugin" name="My Plugin">
    <commands>
        <command id="command1" name="My Command 1">
            <method name="_SomeCommandMethod@4"/>
        </command>
    </commands>
...

В случае COM-объекта имя метода указывается без изменения - SomeCommandMethod:

<plugin id="myplugin" name="My Plugin">
    <commands>
        <command id="command1" name="My Command 1">
            <method name="SomeCommandMethod"/>
        </command>
    </commands>
...

Метод команды с параметром

Кроме простого метода, ZuluGIS допускает вызов параметризованного метода для команды модуля. В качестве параметра передается строка, указываемая с помощью дополнительного атрибута cmdline:

<plugin id="myplugin" name="My Plugin">
    <commands>
        <command id="command1" name="My Command 1">
            <method name="SomeCommandMethod" cmdline="строка-параметр"/>
        </command>
    </commands>
...

Метод модуля с параметром в этом случае имеет вид:

Для обычной DLL:

extern “C” __declspec(dllexport) BOOL __stdcall SomeCommandMethod(DWORD dwCookie, LPCSTR lpCmdLine);

Для COM-объекта и ActiveX элемента:

//IDL:
[id(dispid)] HRESULT SomeCommandMethod([in] BSTR CmdLine, [out, retval] BOOL *pRetVal);
'Visual Basic:
Public Function SomeCommandMethod(CmdLine As String) as Boolean

В случае экспортируемой функции, имя метода, указываемое в реестре для Microsoft Visual C++ будет _SomeCommandMethod@8, для других сред разработки возможно иное.

В случае COM-объекта имя метода указывается без изменения - SomeCommandMethod.

Вызов команды модуля

Вызвать команду модуля расширения можно через меню Сервис|Выполнить. Нужная команда выбирается в панели главного меню Сервис|Выполнить во вкладке Команды.

Вкладка Команды - в ней выполняются команды модулей ZuluGIS:

Команду модуля можно включить в раздел меню Задачи. Для этого в описание команды нужно включить категорию task:

<command id="command1" name="My Command 1">
    <categories>task</categories>
</command>
...

Кроме это для вызова команд модуля, модуль может предоставить произвольные меню и панели инструментов, которые будут внедрены в пользовательский интерфейс ZuluGIS.


Пользовательский интерфейс модуля

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

Пункты меню

Для любой команды можно задать внедряемый пункт меню. Это делается с помощью элемента menuitem:

<command id="command1" name="My Command 1">
    <menuitem>меню\подменю\подменю\пункт_меню</menuitem>
</command>
...

Начальная секция «меню» в тексте элемента должна быть одним из вариантов строк, зарезервированных для родительских меню:

Значение | Меню, в которое внедряются элементы
<File> | меню Файл
<Edit> | меню Правка
<Layer> | меню Слой
<Map> | меню Карта
<View> | меню Вид
<Raster> | меню Растр
<Tasks> | меню Задачи
<Window> | меню Окно
<Help> | меню Справка

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

Разделы меню

Кроме отдельных пунктов меню в системе предусмотрена возможность внедрения разделов меню, содержащих произвольное количество пунктов и подменю и загружаемых из ресурсов модуля. Для этого служит элемент menu:

<plugin id="myplugin" name="My Plugin">
    <menu id="имя_меню1" resource="идентификатор_ресурса">
...

Идентификатор_ресурса - строковое значение или значение DWORD, которое задает шаблон меню, которое будет загружено из ресурсов модуля. Из загруженного меню берется первое подменю, которое внедряется в качестве всплывающего в меню-родитель.

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

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

<command id="command1" name="My Command 1" commandid="100">
...

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

Кнопки инструментов

Для команд модуля можно задать пиктограммы кнопок, которые будут добавлены в панели инструментов ZuluGIS для быстрого вызова команды. За это отвечает элемент toolbarbutton, имеющий следующий формат:

<command id="command1" name="My Command 1">
    <toolbarbutton bitmapresource="идентификатор_ресурса" belongsto="имя_панели_родителя"/>
...

Идентификатор_ресурса - целое значение, задающее идентификатор ресурса типа BITMAP или PNG, содержащего изображение пиктограммы. Для пиктограмм необходимы изображения 16 на 16 пикселов (для PNG) или 16 на 15 пикселов (для BITMAP).

При указании ресурса BitmapResource ZuluGIS загружает ресурс типа BITMAP для старых шестнадцатицветных пиктограмм. Кроме того, система ищет ресурс типа "PNG" с таким же идентификатором и, если есть, загружает его для полноцветных пиктограмм. Оба изображения должны быть одинаковой ширины, чтобы пиктораммы соответствовали друг другу.

Параметр belongsto указывает на то, в какую панель инструментов следует внедрить кнопку с данной пиктограммой. Если этот параметр не указан, кнопка внедряется в панель «Модули».

Возможные значения для belongsto указаны ниже в таблице:

Значение | Панель, в которую внедряются элементы
<Standard> | Стандартная
<Map> | Карта
<Navigate> | Навигация
<Edit> | Редактор
<Format> | Форматирование
<Style> | Стиль
<Label> | Бирки
<Operations> | Операции
<Print> | Печать
<Relief> | Рельеф

Панели инструментов

Кроме отдельных кнопок инструментов, имеется возможность внедрить отдельные панели инструментов или группы кнопок инструментов. Задать это можно с помощью одного или нескольких элементов toolbar, имеющих следующий формат:

<plugin id="myplugin" name="My Plugin">
    <toolbar id="имя_панели" resource="идентификатор_ресурса" belongsto="панель_владелец"/>
...
имя_панели | Имя панели, например Toolbar1
идентификатор_ресурса | Идентификатор ресурсы типа TOOLBAR
панель_владелец | Имя панели, куда следует встроить загружаемые кнопки

Параметр resource содержит целое значение, обозначающее идентификатор ресурса типа TOOLBAR, являющимся стандартным в среде разработки Microsoft Visual C++.

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

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


Обработка событий в модуле

Для того, чтобы модуль мог принимать события от ZuluGIS необходимо задать объект-приемник событий или процедуру обработки событий посредством вызова методов SetEventSink method (IPluginConnector) или SetEventCallback method (IPluginConnector) соединения IPluginConnector object.

Прием событий с помощью объекта-приемника

Метод SetEventSink принимает в качестве параметра COM-объект, поддерживающий интерфейс IDispatch (он же OLE Automation Object, он же ComVisible объект в .Net), который должен иметь метод OnZuluEvent следующего синтаксиса:

IDL:
[id(dispid)] HRESULT OnZuluEvent(long EventID, IUnknown* pSource, VARIANT Param1, VARIANT Param2, VARIANT Param3);
'Visual Basic:
Public Function OnZuluEvent(EventID As Long, Source As IUnknown, Param1, Param2, Param3) As Boolean

Прием событий с помощью процедуры обработки

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

Параметром метода SetEventCallback является приведенный к типу long адрес функции вида:

BOOL __stdcall SomeProc(DWORD dwCookie, long EventID, IUnknown * pSource, VARIANT Param1, VARIANT Param2, VARIANT Param3);

Параметры события

Метод или процедура обработки события принимаю следующие параметры:

EventID | Код события (см. набор eZuluEvents enum)
Source | Объект-источник события (в зависимости от события). Это может быть объект Zulu Object, документ Document object, окно карты IMapView object или какой-либо другой объект, в зависимости от события.
Param1 - Param3 | Дополнительные параметры (зависят от события)
dwCookie | Передается в процедуру обработки события. Содержит значение, возвращаемое модулем в функции ConnectZuluPlugin в параметре lpdwCookie.

Отключение от приема событий

Для того, чтобы отключиться от приема событий от ZuluGIS необходимо повторно вызвать метод SetEventSink или SetEventCallback, передав в качестве параметра значение NULL.


Объекты-обработчики

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

CustomBlobObject

Объект CustomBlobObject позволяет организовать программное получение данных BLOB в браузере базы данных.

CustomBrowseObject

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

Обработчик событий ZuluGIS

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


Командный сервер

Запросы к командному серверу ZuluGIS

[Важно] Важно

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

Все запросы являются запросами GET. Названия команд и названия параметров не зависят от регистра.

Команда HELP

Выдает список доступных команд.

http://localhost:6475/Help

Команда MapOpen

Открывает карту по заданному имени файла или URL.

Параметры:

Path – путь к карте – обязательный параметр. Если карта с таким именем уже открыта, она назначается активной.

Для локальная карты: http://localhost:6475/MapOpen?Path=d:\Examples\Termo\Kvartal\teplo.zmp

Для серверной карты: http://localhost:6475/MapOpen?Path=zulu://zs.zulugis.ru:6473/Termo/Kvartal/TeploNet.zmp

Команда MapSetCurrentID

Позиционирование на объект слоя с заданным ID.

Параметры:

ID – ID объекта слоя – обязательный параметр.

Layer – название слоя в карте – необязательный параметр. Если слой не указан, по умолчанию используется активный слой.

Scale_To - необязательный параметр. Если значение равно Yes, то при позиционировании карта перестроит вид по габаритам найденного объекта.

http://localhost:6475/MapSetCurrentID?ID=6&Layer=buildings&scale_to=yes

Команда MapSetActiveLayer

Назначает активный слой карты по его пользовательскому названию.

Параметры:

Layer – название слоя в карте – обязательный параметр.

http://localhost:6475/MapSetActiveLayer?Layer=buildings

Команда MapSetView

Изменяет масштаб и центр отображения карты.

Параметры:

Scale – масштаб карты – необязательный параметр. Если масштаб не задан, масштабирование карты не происходит.

X,Y – координаты центра карты в метрах – необязательный параметр.

Lat, Lon - координаты центра карты в градусах – необязательный параметр. Применяется, если не указаны параметры X, Y.

http://localhost:6475/MapSetView?Scale=5000&Lat=60&Lon=30

Команда LayerSelectElement

Добавление в группу или исключение из группы объекта слоя.

Параметры:

ID – ID объекта слоя – обязательный параметр.

Layer – название слоя в карте – необязательный параметр. Если слой не указан, по умолчанию используется активный слой.

Scale_To - необязательный параметр. Если значение равно True, то при позиционировании карта перестроит вид по габаритам указанного объекта.

http://localhost:6475/LayerSelectElement?ID=6&Layer=buildings&scale_to=true

Команда MapSelectGroup

Выделяет на карте элементы указанного слоя по заданным атрибутам.

Параметры:

Path – путь к карте – обязательный параметр. Если карта с таким именем уже открыта, она назначается активной.

Для локальная карты: http://localhost:6475/MapOpen?Path=d:\Examples\Termo\Kvartal\teplo.zmp

Для серверной карты: http://localhost:6475/MapOpen?Path=zulu://zs.zulugis.ru:6473/Termo/Kvartal/TeploNet.zmp

Layer – название слоя в карте.

typeid – ID тпа объектов слоя, к для которого будет выполняться запрос по атрибутам.

fieldnum – количество полей, для которых будут заданы условаия запроса.

field[n] – имя n-ного поля.

value[n] – значение n-ного поля.

operator[n] – необязательный параметр. Тип опреатора сравнения для n-ного поля.Если параметр не указан или равен equal, то производится сравнение со значением поля целиком. Если параметр равен like, то производится сравнение с фрагментом значения поля для строковых полей.

browse – необязательный параметр.Если значение равно True, то после сздания группы откроется окно с информацией по объектам, входящим в группу.

Scale_To - необязательный параметр. Если значение равно True, то при позиционировании карта перестроит вид по габаритам созданной группы объектов.

http://localhost:6475/MAPSELECTGROUP?path=zulu://zs.zulugis.ru:6473/Termo/Kvartal/TeploNet.zmp&layer=Тепловая%20сеть&typeid=3&fieldnum=1&field1=Hzdan&value1=22&browse=yes

http://localhost:6475/MAPSELECTGROUP?path=zulu://zs.zulugis.ru:6473/Termo/Kvartal/TeploNet.zmp&layer=Тепловая%20сеть&typeid=3&fieldnum=1&field1=Name&operator1=like&value1=Пушкина&browse=yes

Команда RunMacro

[Важно] Важно

Для выполнения данной команды в настройках параметров системы обязательно должна быть установлена опция Разрешить выполнение макросов.

Выполняет макрос Zulu.

Параметры:

Source – имя файла с макросом.

Macro – имя макроса.

http://localhost:6475/RunMacro?source=LocalToGaussKruger.vbs&macro=CALCGAUSSKRUGER_LON0_FE_FN


ZuluXTools

ZuluXTools - библиотека ActiveX компонентов, предназначенная для разработки ГИС-приложений с использованием карт ZuluGIS в популярных средах разработки, таких как Borland Delphi, Microsoft Visual Basic, Microsoft Visual C++, Microsoft Access и др.

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

Ниже представлены библиотеки и компоненты, которые входят в состав ZuluXTools:

Библиотеки

  • ZuluXTools 2021 - библиотека компонентов ActiveX. Является основной библиотекой ZuluXTools. Визуальные компоненты находятся в ней.

  • ZuluGIS 2021 Library - библиотека объектов. Является ядром системы ZuluGIS. Большинство объектов для работы с географическими данными находятся в ней.

  • ZuluGIS 2021 Database Connection Library - библиотека компонентов для связи с семантическими базами данных.

ActiveX компоненты

  • Браузер карты MapCtrl

  • Панель навигатора MapNavCtrl

  • Панель редактора объектов MapEditCtrl

  • Панель управления окном карты MapToolBarCtrl

  • Окно навигатора карты MapAerialCtrl

  • Набор диалогов ZuluCommDlg

  • Набор общих методов и событий ZuluCtrl

  • Окно семантической информации ZbStdBrowser


Объектная модель ZuluGIS

Диаграмма объектной модели ZuluGIS

Ниже представлена диаграмма объектной модели ZuluGIS. Щелкните по названию объекта для того, чтобы перейти на страницу его описания.


Библиотеки

  • ZuluGIS 2021 Database Connection Library

    Zb (ZuluGIS 2021 Database Connection Library) - библиотека компонентов для связи ZuluGIS с семантическими базами данных. Библиотека содержит объекты для формирования запросов в базам данных, объекты-утилиты для работы с отдельными таблицами, а также элемент ActiveX - стандартный браузер баз данных ZuluGIS.

  • ZuluGIS 2021 Application

    Zulu (ZuluGIS 2021 Application) - библиотека объектов оболочки ZuluGIS. Корневой объект Zulu представляет приложение ZuluGIS. Доступ к объектам этой библиотеки осуществляется либо из плагинов, либо из скриптов, выполняемых внутри ZuluGIS.

  • ZuluGIS 2021 Library

    ZuluLib (ZuluGIS 2021 Library) - библиотека объектов. Является ядром системы ZuluGIS.

  • ZuluXTools 2021

    ZuluOcx (ZuluXTools 2021) - библиотека элементов ActiveX для использования ГИС-функциональности в пользовательских приложениях.


ZuluGIS 2021 Database Connection Library

Zb (ZuluGIS 2021 Database Connection Library) - библиотека компонентов для связи ZuluGIS с семантическими базами данных. Библиотека содержит объекты для формирования запросов в базам данных, объекты-утилиты для работы с отдельными таблицами, а также элемент ActiveX - стандартный браузер баз данных ZuluGIS.

Для выполнения запросов к базам данных ZuluGIS через описатели баз данных (zb - файлы) предyсмотрен объект ZbDatabase. Если результатом выполнения запроса должна быть выборка данных, то она представляется объектом ZbDataset.

Элемент ActiveX ZbStdBrowser - стандартный браузер баз данных, который система использует для просмотра и изменения информации.

Элемент ActiveX MapCtrl (элемент - карта ZuluGIS) также может взаимодействовать с браузером ZbStdBrowser. Для этого нужно установить свойство Browser этого элемента.

Регистрационная информация:

Полное имя:

ZuluGIS 2021 Database Connection Library

Короткое имя:

Zb

Модуль:

Zb.dll

LIBID:

{12507360-0B01-11D2-B55D-444553540000}

Список объектов:

Объекты:

ZbAsciiFormat

IZbBookInfo

IZbBooks

IZbCellStyle

ZbDatabase

IZbDataFields

IZbDataset

IZbEnumTags

IZbFieldDef

IZbFieldInfo

IZbFieldRef

IZbFields

IZbFormInfo

IZbForms

IZbLinkInfo

IZbLinks

IZbQueries

IZbQueryInfo

IZbQueryRef

IZbQueryRefs

IZbReportInfo

IZbReports

IZbSimpleBook

IZbSourceInfo

IZbSources

IZbSqlParams

IZbStdBrowseForm

IZbStdBrowseParam

ZbTableDef

IZbTableInfo

IZbTableRef

IZbTableRefs

IZbTables

IZbTags

ZbUtilities

IZbVisualQuery

Браузер баз данных:

ZbStdBrowser

Структуры:

zbAsciiInfo

Константы:

zbBookType

zbDataFieldFilter

zbDateFormat

zbDelimeterType

zbErrCode

zbFieldSourceType

zbFieldType

zbFormType

zbJoinOptions

zbKeyFilterType

zbKeyOptions

zbLinkType

zbLoginType

zbNameType

zbOperation

zbQueryRefType

zbQueryResultType

zbQueryType

zbSeparatorType

zbSortMode

zbSourceType

zbStdBrowserPages

zbTableType

zbUseService

zbWarnLevel


ZuluGIS 2021 Application

Zulu (ZuluGIS 2021 Application) - библиотека объектов оболочки ZuluGIS. Корневой объект Zulu представляет приложение ZuluGIS. Доступ к объектам этой библиотеки осуществляется либо из плагинов, либо из скриптов, выполняемых внутри ZuluGIS.

Регистрационная информация:

Полное имя:

ZuluGIS 2021 Application

Короткое имя:

Zulu

Модуль:

Zulu.exe

LIBID:

{12507220-0B01-11D2-B55D-444553540000}

Список объектов:

Объекты

Константы

Document

Documents

IControlBar

IOutputChannel

IPluginConnector

IWindows

Window

Zulu

eControlBarEvents

eControlBarStyle

eDockState

eDocType

eSaveOption

eWindowState

eWindowType

eZuluEvents


ZuluGIS 2021 Library

ZuluLib (ZuluGIS 2021 Library) - библиотека объектов. Является ядром системы ZuluGIS.

Регистрационная информация:

Полное имя:

ZuluGIS 2021 Library

Короткое имя:

ZuluLib

Модуль:

ZuluLib.dll

LIBID:

{12507020-0B01-11D2-B55D-444553540000}

Список объектов:

Объекты

Константы

BaseInfo

Bases

Bookmark

Bookmarks

ChangedElementKeys

Contour

CRS

CustomData

DxfImportInfo

EditGrid

Element

ElementKeyPairs

ElementKeys

Elements

ElemStyle

ExportInfoParams

FillStyle

FillStyleDef

FillStyles

FontStyle

HighlightParams

IDatum

IDatums

IEllipsoid

IEllipsoids

IExifInfo

IMapCustomData

IMapStyle

IMapView

IMapViews

InMemoryLayer

IProjection

IProjections

IPropertyBarPage

IReliefLayer

ITileLayer

ITrackingLayer

IWmsLayer

IZEnumElements

IZEnumFiles

IZSqlResult

IZSwitchStates

LabelField

LabelFields

LabelLayer

LabelLayers

Layer

Layers

LineStyle

LineStyleDef

LineStyleElement

LineStyleElement

LineStyles

MapDoc

NetworkObject

NetworkObjects

NetworkTools

NetworkTree

NetworkTreeNode

NetworkWeight

NetworkWeightSet

NetworkWeightSets

ObjectMode

ObjectModes

ObjectType

ObjectTypes

Points

PolyContour

PolyLine

PolyPolyLine

PrintInfo

PrintToRasterParams

Project

ProjectLink

ProjectLinks

RasterObject

Selection

Symbol

SymbolElement

SymbolElements

Symbols

SymbolStyle

TargetSelection

Theme

ThemeFilterDesc

ThemeFilters

Themes

TileLayerDef

UserMode

ZArc

ZElemsStates

ZEllipse

ZGeometry

ZGeoObject

ZGps

ZGraphics

ZLabel

ZLabels

ZLicInfo

ZPoint

ZRasterGroup

ZRasterParams

ZRectangle

ZsConnection

ZsConnectionList

ZsFolder

ZSqlContext

ZuluTools

ZWebParams

eAppTheme

eAreaDisplayUnits

eCombineMode

eCoordDisplayUnits

eCoordTransformMethod

eCoordTransformTo

eCrossCriteria

eCustomDataFlags

eDatum

eDistanceDisplayUnits

eEditMode

eEditorAction

eEditResult

eEditState

eElemDrawOrder

eElemGraphType

eEllipsoid

eEventEnable

eIncidentRelationship

eLabelFrameStyle

eLabelPosition

eLayerOrder

eLayerType

eMapGrid

eMeasureType

eMode

eModeBehavior

eModifySelection

eNameType

eNetworkObjectFilter

eNetworkToolsState

eObjectTypeTag

eObjGraphType

ePrintInfoConstants

eProjectionType

eSerialBaudRate

eSerialByteSize

eSerialParity

eSerialStopBits

eStyleElemType

eSwitchState

eThemeField

eTileModel

eLayerTransformMethod

eUnits

eUserReaction


ZuluXTools 2021

ZuluOcx (ZuluXTools 2021) - библиотека элементов ActiveX для использования ГИС-функциональности в пользовательских приложениях.

Основной компонент - карта, представлен элементом MapCtrl. Компонент MapAerialCtrl представляет навигатор по карте, а с помощью компонента MapToolBar к карте можно подключить панель инструментов с командами ZuluGIS.

Регистрационная информация:

Полное имя:

ZuluXTools 2021

Короткое имя:

ZuluOcx

Модуль:

ZuluCtrl.ocx

LIBID:

{12507120-0B01-11D2-B55D-444553540000}

Список объектов:

Объекты

Константы

MapAerialCtrl

MapCtrl

MapEditCtrl

MapNavCtrl

MapToolBarCtrl

ZuluCommDlg

ZuluCtrl

eMouseState

zlOpenFileFilters


Компоненты

  • MapAerialCtrl

    Элемент ActiveX MapAerialCtrl соответствует окну навигатора оболочки Zulu и предназначен для укрупненного отображения и быстрому перемещению в нужный фрагмент подключенной карты.

  • MapCtrl object

    Элемент ActiveX, представляющий карту системы Zulu. Входит в состав ZuluXTools 2021.

  • MapEditCtrl object

    Элемент ActiveX, представляющий панель инструментов для редактирования объектов карты. Входит в состав ZuluXTools 2021.

  • MapNavCtrl object

    Элемент ActiveX, представляющий панель инструментов для навигации по карте. Входит в состав ZuluXTools 2021.

  • MapToolBarCtrl

    Элемент ActiveX MapToolBarCtrl представляет собой панель инструментов для управления окном карты Zulu MapCtrl. Входит в состав библиотеки ZuluXTools 2021.

  • ZuluCtrl object

    Набор общих методов и событий.


MapAerialCtrl

Элемент ActiveX MapAerialCtrl соответствует окну навигатора оболочки Zulu и предназначен для укрупненного отображения и быстрому перемещению в нужный фрагмент подключенной карты.

Входит в состав библиотеки ZuluXTools 2021.

Навигатор MapAerialCtrl присоединяется к элементу MapCtrl посредством свойств MapCtrl и MapCtrlName. Свойство MapCtrlName может использоваться в режиме разработки (design time). Оно задает имя элемента MapCtrl, расположенного на той же форме, к которому присоединяется навигатор. С помощью свойства MapCtrl можно программным путем подключить навигатор к элементу MapCtrl. Кроме того присоединить окно карты к навигатору можно с помощью метода SetMapView.

Свойства и методы:

Свойства

Методы

BorderStyle

Enabled

hWnd

MapCtrl

MapCtrlName

SetMapView


BorderStyle property (MapAerialCtrl)

Возвращает/устанавливает тип рамки вокруг окна навигатора.

Применяется к:

MapAerialCtrl

Синтаксис:

Visual Basic:

Property BorderStyle As Integer

Описание:

Варианты рамки задаются константами zlMapBorderStyle:

zlMapBorderNone

нет рамки.

zlMapBorderSingle

стандартная «утопленная» рамка.

zlMapBorderGray

серая сплошная одинарная рамка.

Пример:

'Установить стандартную «утопленную» рамку
MapAerialCtrl1.BorderStyle = zlMapBorderSingle


Enabled property (MapAerialCtrl)

Позволяет разрешать или блокировать работу с окном.

Применяется к:

MapAerialCtrl

Синтаксис:

Visual Basic:

Proeprty Enabled As Boolean


hWnd property (MapAerialCtrl)

Возвращает дескриптор окна навигатора (HWND) в виде целого числа, имеющего тип Long.

Применяется к:

MapAerialCtrl

Синтаксис:

Visual Basic:

Property hWnd As Long

read-only


MapCtrl property (MapAerialCtrl)

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

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property MapCtrl As Object

Пример:

MapAerialCtrl1.MapCtrl = MapCtrl1


MapCtrlName property (MapAerialCtrl)

Возвращает или устанавливает имя элемента MapCtrl, к которому подключен данный элемент управления. Обычно используется в режиме разработки (design-time) для подключения панели инструментов к окну карты.

Применяется к:

MapAerialCtrl

Синтаксис:

Visual Basic:

Property MapCtrlName As String

Пример:

MapAerialCtrl1.MapCtrlName = "MapCtrl1"
'или
MapAerialCtrl1.MapCtrlName = MapCtrl1.Name


SetMapView property (MapAerialCtrl)

Подключает окно карты к навигатору.

Применяется к:

MapAerialCtrl

Синтаксис:

Visual Basic:

Sub SetMapView (MapView As Unknown)

Описание:

В качестве параметра передается объект типа IMapView библиотеки ZuluLib. Метод SetMapView может использоваться для того, чтобы явно задать какое окно карты должен обрабатывать навигатор.


MapCtrl object

Элемент ActiveX, представляющий карту системы Zulu. Входит в состав ZuluXTools 2021.

Свойства и методы:

Свойства

Методы

События:

AppTheme

BackColor

BorderStyle

Browser

BrowserMode

ChangeCenterEnabled

ChangeScaleEnabled

CurrentID

Map

MapAngle

MapName

MapPath

MapScale

MapX

MapY

Scrollers

PreviewMode

UseHotKeys

DoChangeObjectState

DoChangeView

DrawInContourExtents

DrawInElementExtents

DrawInLayerExtents

DrawInMapExtents

DrawInSelectionExtents

ExecCmd

ExecCommand

FitToMap

GetDCByDrawHandle

GetDrawHandle

IsPrintingByDrawHandle

PrintOut

PrintPreview

PrintPreviewEx

Redraw

ReleaseDrawHandle

SetLabel

SetMapCenter

AfterEndPaint

AfterLayerAdded

AfterLayerDraw

AfterLayerRemoved

AfterPaint

BeforLayerDraw

BeforePaint

BeforeScaleChange

CurIDChanged

ElementsChanged

ObjectSelect

OnActiveLayerChanged

OnBookmarkChanged

OnContextMenu

OnDrawUserLabels

OnInputParams

OnKeyDown

OnKeyPress

OnKeyUp

OnMapPathChanged

OnModeChanged

OnMouseDblClick

OnMouseWheel

OnNetworkRecalc

OnSelChanged

OnUpdateUI

ScaleChanged

ServerDisconnected


AfterEndPaint event (MapCtrl)

Возникает после полного завершения перерисовки карты на экране (по событию WM_PAINT).

Возникает от:

MapCtrl

Синтаксис:

Visual Basic:

Event AfterEndPaint(HDC As Long)

HDC - контекст устройства eMouseState enum.


AfterLayerAdded event (MapCtrl)

Событие, вызываемое при добавлении слоя в карту.

Возникает от:

MapCtrl

Синтаксис:

Visual Basic:

Event AfterLayerAdded(LayerIndex As Long)

LayerIndex - индекс слоя, добавленного в карту (нумерация с ендиницы).


AfterLayerDraw event (MapCtrl)

Возникает по завершении перерисовки слоя.

Возникает от:

MapCtrl

Синтаксис:

Event AfterLayerDraw(DrawHandle As Long, LayerIndex As Long)

DrawHandle - параметр для рисования (смотри GetDrawHandle).

Описание:

Возникает по завершении перерисовки слоя самим контролом (WM_PAINT), давая возможность разработчику приложения нарисовать в окне карты что-то свое. Сравните с BeforeLayerDraw.


AfterLayerRemoved event (MapCtrl)

Событие, вызываемое при удалении слоя из карты.

Возникает от:

MapCtrl

Синтаксис:

Visual Basic:

Event AfterLayerRemoved(LayerName As String)

LayerName - имя слоя, удаленного из карты.


AfterPaint event (MapCtrl)

Возникает по завершении каждой перерисовки карты.

Возникает от:

MapCtrl

Синтаксис:

Event AfterPaint(DrawHandle As Long)

DrawHandle - параметр для рисования (смотри GetDrawHandle).

Описание:

Возникает по завершении перерисовки окна карты самим контролом (WM_PAINT), давая возможность разработчику приложения нарисовать в окне карты что-то свое. Сравните с BeforePaint.

Пример:

Private Sub object_AfterPaint (ByVal DrawHandle As Long)
    'При каждой перерисовке карты
    Dim hDC As Long

    'Получаем HDC по параметру DrawHandle
    hDC=MapCtrl1.GetDCByDrawHandle (DrawHandle)

    'Рисуем на карте кружок с радиусом  50 пикселов
    Ellipse hDC, 0, 0, 100, 100
End Sub


AppTheme property (MapCtrl)

Возвращает/устанавливает графическую тему, используемую в пользовательском интерфейсе.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property AppTheme As Integer

Описание:

Варианты графической темы задаются константами eAppTheme.

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


BackColor property (MapCtrl)

Возвращает/устанавливает цвет фона карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

BackColor As OLE_COLOR

Описание:

Цвета задаются в RGB формате.

Пример:

'Установить красный цвет фона карты
MapCtrl1.BackColor = 255


BeforeLayerDraw event (MapCtrl)

Возникает перед каждой перерисовкой слоя.

Возникает от:

MapCtrl

Синтаксис:

Event BeforeLayerDraw(DrawHandle As Long, LayerIndex As Long)

DrawHandle - параметр для рисования (смотри GetDrawHandle).

Описание:

Возникает перед каждой перерисовкой слоя самим компонентом (WM_PAINT). Сравните с AfterLayerDraw.


BeforePaint event (MapCtrl)

Возникает перед каждой перерисовкой карты.

Возникает от:

MapCtrl

Синтаксис:

Event BeforePaint(DrawHandle As Long)

DrawHandle - параметр для рисования (смотри GetDrawHandle).

Описание:

Возникает перед каждой перерисовкой слоя самим компонентом (WM_PAINT). Сравните с AfterPaint.


BeforeScaleChange event (MapCtrl)

Возникает перед изменением масштаба карты.

Возникает от:

MapCtrl

Синтаксис:

Event BeforePaint(DrawHandle As Long)

DrawHandle - параметр для рисования (смотри GetDrawHandle).


BorderStyle property (MapCtrl)

Возвращает/устанавливает тип рамки вокруг окна карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Proprty BorderStyle As Integer

Описание:

Варианты рамки задаются константами zlMapBorderStyle:

zlMapBorderNone

нет рамки.

zlMapBorderSingle

стандартная «утопленная» рамка.

zlMapBorderGray

серая сплошная одинарная рамка.

Пример:

'Установить стандартную «утопленную» рамку
MapCtrl1.BorderStyle = zlMapBorderSingle


Browser property (MapCtrl)

Возвращает/устанавливает связь элемента управления MapCtrl с окном семантической информации.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Browser As Unknown

Описание:

Элемент управления ZbStdBrowser - стандартное окно семантической информации.

Пример:

'Установить связь между картой и элементом управления базой данной.
MapCtrl1.Browser = ZbStdBrowser1.Browser


BrowserMode property (MapCtrl)

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

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

BrowserMode As Integer

Описание:

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

Варианты режима отображения данных задаются константами zlMapBrowserMode:

Значение

Описание

zlMapBrowserModeDefault

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

zlMapBrowserModeClick

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

zlMapPreviewModeAlways

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

Пример:

'Установить режим отображения информации по объектам при любом изменении мигающего объекта
MapCtrl1.BrowserMode = zlMapBrowserModeAlways


ChangeCenterEnabled property (MapCtrl)

Разрешает/запрещает изменять центр отображения карты. Применяется к MapCtrl

Синтаксис:

Visual Basic:

Property ChangeCenterEnabled As Boolean


ChangeScaleEnabled property (MapCtrl)

Разрешает/запрещает изменять масштаб отображения карты. Применяется к MapCtrl.

Синтаксис:

Visual Basic:

ChangeScaleEnabled As Boolean


CurIDChanged event (MapCtrl)

Возникает при изменении свойства CurrentID.

Возникает от:

MapCtrl

Синтаксис:

Event CurIDChanged()

Описание:

Событие возникает при любом изменении свойства CurrenID. Сравните с ObjectSelect.


CurrentID property (MapCtrl)

Возвращает/устанавливает текущий мигающий элемент для активного слоя.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property CurrentID As Long

Описание:

Свойство элемента управления MapCtrl. Возвращает или устанавливает значение ключа (ID) объекта активного слоя карты, который в данный момент мигает. Если мигающего объекта у карты нет, или мигает объект неактивного слоя, значение CurrentID равно -1.

При присвоении CurrentID какого-либо значения произойдет поиск объекта в активном слое карты, с ключом, имеющим такое значение и, если такой объект найден, он начнет мигать. Если найденный объект находится за пределами видимой части карты, карта изменит свойства MapX и MapY таким образом, что найденный объект после автоматического перестроения окажется в центре окна карты.

Чтобы погасить мигающий объект, нужно присвоить CurrentID значение -1.

Пример:

'В таблице сменилась текущая запись
Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)

    Dim OldID As long
    Dim NewID As long

    'запомнили текущее значение ID
    OldID = MapCtrl1.CurrentID

    'новое значение ID по полю Sys текущей записи таблицы
    NewID = Data1.Recordset.Fields("Sys")

    If NewID <> OldID Then
        'Замигиваем объект на карте с ключом, равным значению поля Sys текущей записи
        MapCtrl1.CurrentID = NewID

        If MapCtrl1.CurrentID = OldID Then
            'Если значение CurrentID оне изменилось, значит объект из
            'таблицы  на карте не найден. Прекращаем мигание
            MapCtrl1.CurrentID = -1
        End IF

    End If

End Sub


DoChangeObjectState method (MapCtrl)

Вызывает диалог смены режима и/или типа мигающего объекта.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub DoChangeObjectState()

Описание:

Диалог вызывается только в том случае, если мигающий объект является типовым объектом слоя.

Пример: :

'Сделать слой тепловой сети активным
Teplo.Active = True

'Выделить типовой объект слоя с ключом=1
Teplo.CurrentID = 1

'Вызвать диалог смены режима и типа объекта
MapCtrl1.DoChangeObjectState


DoChangeView method (MapCtrl)

Вызывает диалог задания масштаба и центра карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub DoChangeView()

Описание:

При изменении в диалоге масштаба и центра карты изменяются свойства MapScale, MapX и MapY.

Пример:

'вызвать диалог измения масштаба
MapCtrl1.DoChangeView


DrawInContourExtents method (MapCtrl)

Отображает карту по размерам заданного контура.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub DrawInContourExtents(Contour As Contour)

Contour - объект типа Contour.

Описание:

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

В качестве контура может выступать любой контурный объект с заданными параметрами.


DrawInElementExtents method (MapCtrl)

Отображает карту в границах указанного объекта слоя.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub DrawInElementExtents(Index, ElemID) as Long

Index - порядковый номер слоя в списке загруженных в карту слоев. Нумерация с единицы.

ElemID - ID объекта слоя.

Описание:

Перестроение карты (изменение масштаба и центра отображения) происходит таким образом, чтобы в окно карты вписался тот из габаритов объекта слоя (или по X или по Y), выбор которого обеспечивает отображение в окне всего объекта слоя. Если заданный слой или объект не найдены, то перестроения не происходит.


DrawInLayerExtents method (MapCtrl)

Отображает карту в границах указанного слоя.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub DrawInLayerExtents(Index)

Index - порядковый номер слоя в списке загруженных в карту слоев. Нумерация с единицы.

Описание:

Перестроение карты (изменение масштаба и центра отображения) происходит таким образом, чтобы в окно карты вписался тот из габаритов слоя (или по X или по Y), выбор которого обеспечивает отображение в окне всего слоя. Если заданный слой пустой, то перестроения не происходит.


DrawInMapExtents method (MapCtrl)

Отображает всю карту.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub DrawInMapExtents()

Описание:

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


DrawInSelectionExtents method (MapCtrl)

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

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub DrawInSelectionExtents(Index)

Index - порядковый номер слоя в списке загруженных в карту слоев. Нумерация с единицы.

Описание:

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


ElementsChanged event (MapCtrl)

Возникает при изменении объектов в режиме редактирования.

Возникает от:

MapCtrl

Синтаксис:

Event ElementsChanged(Elems As ChangedElementKeys, LayerIndex As Long, Action As eEditorAction, Reserved As eUserReaction)

Elems - коллекция объектов, подвергшихся редактированию.

LayerIndex - индекс слоя, в котором происходит редактирование.

Action - флаг, значение которого индицируют операцию, произведенную над объектом из набора констант eEditorAction.

Reserved - зарезервирован.

Описание:

Позволяет проанализировать произведенную операцию редактирования слоя.

Пример:

Sub MapCtrl1_ElementsChanged(ByVal IDs As IChangedElementKeys, ByVal layer_index As Long, ByVal Action  As eEditorAction, Reserved As eUserReaction)
         Dim i As Long
         Dim result As String
         'в переменную resulut сохраняем произведенное над объектом действие
         If Action = eEditorAddObject Then
         resulut = "eEditorAddObject"
         ElseIf Action = eEditorDeleteGroup Then
         resulut = "eEditorDeleteGroup"
         ElseIf Action = eEditorDeleteNode Then
         resulut = "eEditorDeleteNode"
         ElseIf Action = eEditorDelObject Then
         resulut = "eEditorDelObject"
         ElseIf Action = eEditorInsertNode Then
         resulut = "eEditorInsertNode"
         ElseIf Action = eEditorInsertSymbol Then
         resulut = "eEditorInsertSymbol"
         ElseIf Action = eEditorMoveArc Then
         resulut = "eEditorMoveArc"
         ElseIf Action = eEditorMoveObject Then
         resulut = "eEditorMoveObject"
         ElseIf Action = eEditorRedo Then
         resulut = "eEditorRedo"
         ElseIf Action = eEditorRotateObject Then
         resulut = "eEditorRotateObject"
         ElseIf Action = eEditorUndo Then
         resulut = "eEditorUndo"
         End If
         Label1.Caption = resulut
         'В ListView перечисляем все измененные объекты и какие изменения над ними были произведены
         List1.Clear
         For i = 1 To IDs.Count
         List1.AddItem Str(IDs.Item(i)) & " " & Str(IDs.EditResult(i))
         Next i
End Sub


ExecCmd method (MapCtrl)

Вызывает команду системы Zulu для данного окна карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function ExecCmd(Cmd As String) As Boolean

Описание:

В строковом параметре Cmd передается имя выполняемой команды (см. список команд Zulu).

Метод может быть использован взамен метода ExecCommand, принимающего дополнительные параметры, которые зарезервированы для будущего использования.

Пример:

'Показать карту целиком
MapCtrl1.ExecCmd "ViewFitToMap"
'Включить режим предварительного просмотра
MapCtrl1.ExecCmd "FilePrintPreview"


ExecCommand method (MapCtrl)

Вызывает команду системы Zulu для данного окна карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function ExecCommand(Cmd As String, Options As Long, [pArgIn], [pArgOut]) As Boolean

Описание:

В строковом параметре Cmd передается имя выполняемой команды (см. список команд Zulu). Параметры Options, pArgIn, pArgOut зарезервированны для будущего использования и должны быть равны нулю.

Пример:

'Показать карту целиком
MapCtrl1.ExecCommand "ViewFitToMap", 0
'Включить режим предварительного просмотра
MapCtrl1.ExecCommand "FilePrintPreview", 0


FitToMap method (MapCtrl)

Отображает всю карту.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub FitMap()

Описание:

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


GetDCByDrawHandle method (MapCtrl)

Возвращает значение HDC по параметру DrawHandle.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function GetDCByDrawHandle (DrawHandle as Long) As Long

DrawHandle - парараметр DrawHandle (смотри GetDrawHandle).

Описание:

Полученный HDC позволяет рисовать в окне карты, используя методы GDI из Windows API. Параметр DrawHandle приходит с событием AfterPaint , либо его можно получить вызовом метода GetDrawHandle (в этом случае по завершениии рисования следует вызывать метод ReleaseDrawHandle).

Пример:

Dim DrawHandle As Long
Dim hDC As Long

DrawHandle = MapCtrl1.GetDrawHandle
hDC = MapCtrl1.GetDCByDrawHandle (DrawHandle)

'Импорт функции рисования эллипса из Win32api
Declare Function Ellipse Lib "gdi32" Alias "Ellipse" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long

'Рисуем круг
Ellipse hDC, 0, 0, 100, 100
MapCtrl1.ReleaseDrawHandle DrawHandle


GetDrawHandle method (MapCtrl)

Возвращает значение DrawHandle, позволяющее рисовать в окне карты

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function GetDrawHandle () As Long

Описание:

Возвращаемое значение является внутренней переменной MapCtrl и требуется для передачи ее во все методы, которые его используют. По завершении использования параметра DrawHandle следует вызывать метод ReleaseDrawHandle.

Пример:

Dim DrawHandle As Long

'Получаем параметр DrawHandle
DrawHandle = MapCtrl1.GetDrawHandle

'Выводим на карту в точку (0, 0) надпись
MapCtrl1.SetLabel DrawHandle, 0, 0, 0, 0, "Пример текста", 3, 16000000, eNorthWest

'Высвобождаем DrawHandle
MapCtrl1.ReleaseDrawHandle DrawHandle


IsPrintingByDrawHandle method (MapCtrl)

Проверяет по параметру DrawHandle наличие режима печати.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function IsPrintingByDrawHandle (DrawHandle as Long) As Long

DrawHandle - парараметр DrawHandle (смотри GetDrawHandle).

Описание:

Если идет отображение в окно карты, метод вернет False. Если идет печать или предварительный просмотр печати, метод вернет True. Такая проверка режима рисования карты может быть использована при обработке событий AfterPaint, BeforePaint, OnDrawUserLabels, AfterLayerDraw, BeforeLayerDraw.


Method method (Class)

Возвращает объект MapDoc, представляющий документ-карту системы Zulu.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Map As MapDoc


MapAngle property (MapCtrl)

Возвращает/устанавливает угол поворота карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property MapAngle As Double

Описание:

Значение угла поворота задается в градусах. Направление поворота - против часовой стрелки.

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

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


MapName property (MapCtrl)

Возвращает/устанавливает пользовательское название карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property MapName As String

Описание:

Пользовательское название карты - любой набор символов. Максимальная длина названия - 49. При задании более длинной строки название обрезается до максимальной длины.

Следует иметь в виду, что это свойство может меняться при изменении свойства MapPath (смене карты).


MapPath property (MapCtrl)

Возвращает/устанавливает полное имя файла-карты системы Zulu для данного компонента MapCtrl.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property MapPath As String

Описание:

При присвоении этому свойству имени файла какой-нибудь карты, если такой файл существует, произойдет загрузка этой карты в окно данного компонента.

Пример:

MapCtrl1.MapPath = "c:\zulu\data\map1.zmp"


MapScale property (MapCtrl)

Возвращает/устанавливает масштаб карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property MapScale As Double

Описание:

Единицы масштаба - пикселы на сантиметр.

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


MapX property (MapCtrl)

Возвращает/устанавливает X-координату центра карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property MapX As Double

Описание:

Значение координаты задается в сантиметрах. При присвоении свойству MapX нового значения происходит автоматическое перестроение карты в соответствии с новым центром отображения карты.


MapY property (MapCtrl)

Возвращает/устанавливает Y-координату центра карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Property MapY As Double

Описание:

Значение координаты задается в сантиметрах. При присвоении свойству MapY нового значения происходит автоматическое перестроение карты в соответствии с новым центром отображения карты.


ObjectSelect event (MapCtrl)

Возникает при указании объекта активного слоя на карте при нажатии левой клавиши мыши.

Возникает от:

MapCtrl

Синтаксис:

Event ObjectSelect()

Описание:

Событие приводит к изменению свойства CurrenID. Если это свойство не -1, то указанный объект начнет мигать. Это событие самое подходящее для связи графических объектов с внешним миром. Сравните с CurIDChanged.

Пример:

'Получили событие об указании нового объекта
Private Sub MapCtrl1_ObjectSelect()

    'Встаем в таблице на запись с ключем этого объекта
    Data1.Recordset.FindFirst "Sys=" + Str(MapCtrl1.CurrentID)

End Sub


OnActiveLayerChanged Event (MapCtrl)

Событие, возникающее при смене активного слоя.

Возникает от:

MapCtrl

Синтаксис:

Event OnActiveLayerChanged()


OnBookmarkChanged Event (MapCtrl)

Событие, возникающее при смене закладки.

Возникает от:

MapCtrl

Синтаксис:

Event OnBookmarksChanged()


OnContextMenu Event (MapCtrl)

Событие, возникающее при вызове контекстного меню (открывается щелчком правой кнопки мыши по карте).

Возникает от:

MapCtrl

Синтаксис:

Event OnContextMenu()


OnDrawUserLabels event (MapCtrl)

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

Возникает от:

MapCtrl

Синтаксис:

Event OnDrawUserLabels(DrawHandle As Long, LayerIndex As Long)

Пример:

Private Sub MapCtrl1_OnDrawUserLabels(ByVal DrawHandle As Long, ByVal LayerIndex As Long)

Dim i As Long
Dim els As ElementKeys

'если к слою не подключены надписи, то выход из процедуры
If MapCtrl1.Map.Layers.Item(LayerIndex).LabelsID = -1 Then Exit Sub
'получение ключей объектов, для которых подключены надписи и которые видны на карте
Set els = MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsInit(DrawHandle, -1)

For i = 1 To els.Count
    'вместо стандартной надписи выводится ключ объекта (ID)
    MapCtrl1.Map.Layers.Item(LayerIndex).DrawElemIDLabel els.Item(i), Str(els.Item(i))
Next i

MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsClose

End Sub


OnInputParams event (MapCtrl)

Возникает при вводе с экрана ломаной в различных режимах.

Возникает от:

MapCtrl

Синтаксис:

Event OnInputParams( Param1 As Double, Param2 As Double, Param3 As Double)

Param1 - длина подвижного отрезка (от последней введенной точки ломаной до курсора мыши).

Param2 - суммарная длина введенной ломаной вместе с подвижным отрезком.

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

Описание:

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

Пример:

'Получили событие об изменении вводимых параметров
Private Sub MapCtrl1_OnInputParams(ByVal Param1 As Double, ByVal Param2 As Double,  ByVal Param3  As Double)

    'Если текущий режим карты измерение расстояния, выводим сообщение
    If MapCtrl1.Map.Mode = eModeDistance Then

        Text2.Text = "Len:" & Str(Param1) & " Total::" & Str(Param2) & " Square:" & Str(Param3)

    End If

End Sub


OnKeyDown Event (MapCtrl)

Событие, вызываемое нажатием на клавишу клавиатуры.

Возникает от:

MapCtrl

Синтаксис:

Event OnKeyDown(KeyCode As Long, State As eMouseState)

KeyCode - код клавиши клавиатуры.

State - комбинация флагов, указывающих на нажатое состояние клавиш мыши и клавиш Shift и Ctrl клавиатуры. Принимает значения из набора eMouseState.


OnKeyPress Event (MapCtrl)

Событие, вызываемое нажатием на клавишу клавиатуры.

Возникает от:

MapCtrl

Синтаксис:

Event OnKeyPress(KeyAscii As Long)

KeyAscii - Ascii код клавиши клавиатуры.


OnKeyUp Event (MapCtrl)

Событие, вызываемое отпусканием клавиши клавиатуры.

Возникает от:

MapCtrl

Синтаксис:

Event OnKeyUp(KeyCode As Long, State As eMouseState)

KeyCode - код клавиши клавиатуры.

State - комбинация флагов, указывающих на нажатое состояние клавиш мыши и клавиш Shift и Ctrl клавиатуры. Может принимать значения из набора eMouseState.


OnMapPathChanged Event (MapCtrl)

Событие, возникающее при смене пути к карте.

Возникает от:

MapCtrl

Синтаксис:

Event OnMapPathChanged()


OnModeChanged event (MapCtrl)

Возникает при смене текущего режима карты.

Возникает от:

MapCtrl

Синтаксис:

Event OnModeChanged()

Описание:

Возникает при смене текущего режима карты: указание объекта (eModeSelect), перемещение карты (eModePan), увеличение масштабв (eModeZoom) и т.д. Т.е событие возникает, когда изменяется свойство MapCtrl.Map.Mode.


MouseEvents (MapCtrl)

События, вызываемые различными манипуляциями мыши.

Возникает от:

MapCtrl

Синтаксис:

Event OnMouseLeftDblClick(State As eMouseState, X As Long, Y As Long, RealX As Double, RealY As Double)

Event OnMouseLeftDown(State As eMouseState, X As Long, Y As Long, RealX As Double, RealY As Double)

Event OnMouseLeftUp(State As eMouseState, X As Long, Y As Long, RealX As Double, RealY As Double)

Event OnMouseMove(State As eMouseState, X As Long, Y As Long, RealX As Double, RealY As Double)

Event OnMouseRightDown(State As eMouseState, X As Long, Y As Long, RealX As Double, RealY As Double)

Event OnMouseRightUp(State As eMouseState, X As Long, Y As Long, RealX As Double, RealY As Double)

State - комбинация флагов, указывающих на нажатое состояние клавиш мыши и клавиш Shift и Ctrl клавиатуры, может принимать значения из набора eMouseState.

X, Y - координаты окна карты в пикселах, соответствующие текущему положению мыши в окне.

RealX,RealY - координаты местности, соответствующие точке нажатия мыши на экране.


OnMouseWheel Event (MapCtrl)

Событие, вызываемое при повороте колеса мыши.

Возникает от:

MapCtrl

Синтаксис:

Visual Basic:

Event OnMouseWheel(State As eMouseState, X As Long, Y As Long, RealX As Double, RealY As Double, zDelta As Long)

State - комбинация флагов, указывающих на нажатое состояние клавиш мыши и клавиш Shift и Ctrl клавиатуры. Может принимать значения из набора eMouseState.

X, Y - координаты окна карты в пикселах, соответствующие текущему положению мыши в окне.

RealX,RealY - координаты местности, соответствующие точке нажатия мыши на экране.

zDelta - степень поворота колеса (кратно 120). Положительное значение - вращение вперед, отрицательное - в обратном направлении.


OnNetworkRecalc event (MapCtrl)

Событие, вызываемое при изменении режимов одного из слоев карты в результате вызова метода Layer.NetWorkRecalc.

Возникает от:

MapCtrl

Синтаксис:

Visual Basic:

Event OnNetworkRecalc(LayerIndex As Long)

LayerIndex - индекс слоя в карте (нумерация с нуля).


OnSelChanged event (MapCtrl)

Событие, вызываемое при изменении состава группы одного из слоев карты.

Возникает от:

MapCtrl

Синтаксис:

Visual Basic:

Event OnSelChanged(LayerIndex As Long)

LayerIndex - индекс слоя, у которого изменилась группа (нумерация с ендиницы).


OnUpdateUI Event (MapCtrl)

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

Возникает от:

MapCtrl

Синтаксис:

Event OnUpdateUI()


PreviewMode property (MapCtrl)

Возвращает/устанавливает вариант реализации режима предварительного просмотра окна карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

PreviewMode As Integer

Описание:

Варианты режима предварительного просмотра задаются константами zlMapPreviewMode:

Значение

Описание

zlMapPreviewModeAuto

Вариант предварительного просмотра определяется текущей версией ZuluXTools.

zlMapPreviewModeParent

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

zlMapPreviewModePopup

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

Пример:

'Установить режим предварительного просмотра в виде
'всплывающего окна
MapCtrl1.PreviewMode = zlMapPreviewModePopup


PrintOut method (MapCtrl)

Распечатывает карту в соответствии c выбранными настройками. По умолчанию, если не указано в настройках иначе, вызывает панель выбора принтера.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function PrintOut([PrintInfo]) As Boolean

PrintInfo - необязательный параметр типа PrintInfo, который задает настройки печати.

Описание:

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

В случае успешного выполнения операции метод возвращает значение True. В случае, если пользователь отказался от печати в панели выбора принтера или были неверно заданы свойства объекта PrintInfo, метод возвращает False.

Пример:

Dim P As PrintInfo
Set P = New PrintInfo
'Печать всей карты на одной странице минуя панель выбора принтера
P.Options = ePrintMapExtents + ePrintDrawFrame + ePrintFitToPage + ePrintNoPrintDlg
MapCtrl1.PrintOut P


PrintPreview method (MapCtrl)

Включает режим предварительного просмотра перед печатью для данного окна карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub PrintPreview()

Описание:

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

Какой из вариантов реализации предварительного просмотра будет использоваться определяется свойством PreviewMode.


PrintPreviewEx method (MapCtrl)

Включает режим предварительного просмотра перед печатью для данного окна карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub PrintPreviewEx([PrintInfo])

Описание:

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

Какой из вариантов реализации предварительного просмотра будет использоваться определяется свойством PreviewMode.

Метод отличается от PrintPreview наличием необязательного параметра PrintInfo, в котором может передаваться объект PrintInfo, в котором задаются пользовательские параметры печати.


Redraw method (MapCtrl)

Вызывает перестроение окна карты с текущими параметрами отображения.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub Redraw()


ReleaseDrawHandle method (MapCtrl)

Высвобождает параметр DrawHandle.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function ReleaseDrawHandle (DrawHandle As Long) As Long

DrawHandle - парараметр DrawHandle (смотри GetDrawHandle).

Описание:

Этот метод следует вызывать только после предшествующего вызова метода GetDrawHandle.

Пример:

Dim DrawHandle As Long

'Получаем параметр DrawHandle
DrawHandle = MapCtrl1.GetDrawHandle

 'Выводим на карту в точку (0, 0) надпись
 MapCtrl1.SetLabel DrawHandle, 0, 0, 0, 0, "Пример текста", 3, 16000000, eNorthWest

 'Высвобождаем DrawHandle
 MapCtrl1.ReleaseDrawHandle  DrawHandle


ScaleChanged event (MapCtrl)

Возникает после изменения масштаба карты.

Возникает от:

MapCtrl

Синтаксис:

Event ScaleChanged()

Описание:

Значение масштаба можно получить у свойства MapScale.


Scrollers property (MapCtrl)

Определяет, содержит ли элемент управления линейки прокрутки.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Scrollers As Boolean

Описание:

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


SetLabel method (MapCtrl)

Выводит на карту надпись в указанное место с заданными параметрами.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Function SetLabel(DrawHandle As Long, X As Double, Y As Double, shiftX As Long, shiftY As Long, Text As String, style As Long, fColor As Long, align As eLabelPosition) As Long

DrawHandle - параметр для рисования. Приходит с событием AfterPaint, для автоматической отрисовки при любом перестроении или получается вызовом метода GetDrawHandle (в этом случае по завершении рисования следует вызывать метод ReleaseDrawHandle).

X, Y - координаты местности.

shiftX, shiftY - пока не задействованы.

Text - надпись с командами задающими стиль.

параметры шрифта задаются в фигурных скобках {}

тип параметра задается через \

{

\s20 - размер шрифта 20 (size=20)

\c255 - цвет шрифта bgr

\fTimes New Roman - фонт

\U - подчерк

\u - отмена подчерка

\B - жирный

\b - нормальный

\o - отмена перечеркивания

\O - перечеркивание

\I - курсив

\i - отмена курсива

}

перенос строки в тексте - \n

Style - стиль.

0 - без рамки

1 - рамка

2 - залитая рамка

3 - рамка с тенью

fColor - цвет заливки в формате RGB.

align - флаги ориентации надписи относительно точки привязки X, Y; могут принимать значения из набора eLabelPosition.


SetMapCenter method (MapCtrl)

Задает новый центр отображения карты.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

Sub SetMapCenter(X As Double, Y As Double)

X, Y - новые координаты центра отображения карты в сантиметрах.

Описание:

При изменения центра отображения карты призойдет ее перестроение с новыми параметрами отображения. При этом изменятся свойства MapX и MapY.


UseHotKeys property (MapCtrl)

Определяет должно ли окно карты автоматически обрабатывать «горячие клавиши», назначенные командам в оболочке Zulu.

Применяется к:

MapCtrl

Синтаксис:

Visual Basic:

UseHotKeys As Boolean

Описание:

Если свойство UseHotKeys установлено в True, то элемент MapCtrl при наличии фокуса ввода будет автоматически обрабатывать назначенные в оболочке Zulu сочетания клавиш и вызывать соответствующую команду.


MapEditCtrl object

Элемент ActiveX, представляющий панель инструментов для редактирования объектов карты. Входит в состав ZuluXTools 2021.

В настоящий момент устарел, вместо него рекомендуется использовать компонент MapToolBarCtrl.

Описание:

Панель редактора подключается к компоненту карты MapCtrl с помощью свойств Map или MapCtrlName.

Свойство MapCtrlName можно задать на этапе разработки формы (design-time), для этого подключаемый компонент карты должен находиться на одной форме с панелью редактора. Например:

MapEditCtrl1.MapCtrlName = MapCtrl1.Name

Свойство Map можно задать программно, например:

MapEditCtrl1.Map=MapCtrl1

Набор кнопок панели задается следующими свойствами (As Boolean):

Кнопка

Свойство

Описание

btnCircle

Режим рисования окружности.

btnFillCircle

Режим рисования круга.

btnFillRect

Режим рисования закрашенного прямоугольника.

btnNodeSelect

Режим выделения

btnPoligon

Режим рисования произвольного закрашенного прямоугольника.

btnPolyline

Режим рисования линии.

btnRect

Режим рисования прямоугольника.

btnRedo

Команда повтора последнего действия.

btnSelect

Режим выделения одиночного объекта.

btnSelType

Выбор типа и режима объекта.

btnSymbol

Режим ввода символа.

btnText

Режим ввода текста.

btnUndo

Команда отмены последнего действия.

Другие свойства:

Свойство

Описание

Flat As Boolean

Задает внешний вид кнопок: True - плоские, False - рельефные.

HasDivider As Boolean

Задает признак наличия рельефной разделительной линии панели.

ToolTips As Boolean

Задает признак вывода подсказок при наведении курсора на кнопку панели.

Wrapable As Boolean

Задает автоматический перенос кнопок на новую строку, если вся панель не помещается в одну строчку.

Методы:

Метод

Описание

AboutBox

(Служебный). Отображает панель с информацией о разработчиках и номер версии.

OnModeChanged

(Служебный). Вызывается подключенным компонентом карты для обновления состояния кнопок инструментов.


MapNavCtrl object

Элемент ActiveX, представляющий панель инструментов для навигации по карте. Входит в состав ZuluXTools 2021.

В настоящий момент устарел, вместо него рекомендуется использовать компонент MapToolBarCtrl.

Описание:

Панель навигатора подключается к компоненту карты MapCtrl с помощью свойств Map или MapCtrlName.

Свойство MapCtrlName можно задать на этапе разработки формы (design-time), для этого подключаемый компонент карты должен находиться на одной форме с панелью редактора. Например:

MapEditCtrl1.MapCtrlName = MapCtrl1.Name

Свойство Map можно задать программно, например:

MapEditCtrl1.Map=MapCtrl1

Набор кнопок панели задается следующими свойствами (As Boolean):

Кнопка

Свойство

Назначение

btnSel

задает режим одиночного указания объекта eModeSelect.

btnMultiSel

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

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

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

btnRefresh

команда обновления экрана.

btnFitToWindow

команда вписать изображение в размеры окна карты.

btnZoomIn

режим увеличения изображения eModeZoom.

btnZoomOut

команда уменьшения изображения в два раза.

btnPan

режим перемещения карты "рукой" eModeZoom.

btnInfo

режим запросов к семантической базе данных eModeInfo.

btnGoToXY

вызов диалога изменения центра и масштаба MapCtrl.DoChangeView.

btnText

режим измерения расстояний eModeDistance.

Другие свойства:

Свойство

Описание

Flat

Задает внешний вид кнопок: True - плоские, False - рельефные.

HasDivider

Задает признак наличия рельефной разделительной линии панели.

ToolTips

Задает признак вывода подсказок при наведении курсора на кнопку панели.

Wrapable

Задает автоматический перенос кнопок на новую строку, если вся панель не помещается в одну строчку.

Методы:

Метод

Описание

AboutBox

(Служебный). Отображает панель с информацией о разработчиках и номер версии.

OnModeChanged

(Служебный). Вызывается подключенным компонентом карты для обновления состояния кнопок инструментов.


MapToolBarCtrl

Элемент ActiveX MapToolBarCtrl представляет собой панель инструментов для управления окном карты Zulu MapCtrl. Входит в состав библиотеки ZuluXTools 2021.

Описание:

В отличии от cхожих элементов управления MapNavCtrl и MapEditCtrl, MapToolBarCtrl позволяет включать на свою панель кнопки всех доступных команд системы Zulu.

Два свойства (MapCtrl и MapCtrlName) используются для того, чтобы подключить панель инструментов к окну карты. Свойство MapCtrlName может использоваться в режиме разработки (design time). Оно задает имя элемента MapCtrl, расположенного на той же форме, что и панель MapToolBarCtrl, и к которому нужно подключить панель инструментов. С помощью свойства MapCtrl можно программным путем установить, с каким окном карты должна работать панель инструментов. Состав команд панели инструментов MapToolBarCtrl редактируется в режиме разработки (design-time).

Свойства и методы:

Свойства

Методы

AppTheme

BorderStyle

ButtonCount

Enabled

hWnd

MapCtrl

MapCtrlName

ShowGripper

Vertical

EnableButton

GetButtonCommand

GetButtonIndex

HideButton


AppTheme property (MapToolBarCtrl)

Возвращает/устанавливает графическую тему, используемую для отображения панели инструментов.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property AppTheme As Integer

Описание:

Варианты графической темы задаются константами eAppTheme.

В отличии от подобного свойства у MapCtrl, свойство AppTheme устанавливает тему только для данной панели инструментов.


BorderStyle property (MapToolBarCtrl)

Возвращает/устанавливает тип рамки вокруг панели инструментов.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property BorderStyle As Integer

Описание:

Варианты рамки задаются константами zlMapBorderStyle:

zlMapBorderNone

нет рамки.

zlMapBorderSingle

одинарная рамка (зависит от визуального стиля).

Пример:

'Установить рамку для панели инструментов
MapToolBarCtrl1.BorderStyle = zlMapBorderSingle


ButtonCount property (MapToolBarCtrl)

Возвращает число элементов на панели инструментов.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property ButtonCount As Integer

read-only

Описание:

Свойство возвращает число элементов (кнопок, кнопок-списков и др.) на панели инструментов, включая разделители между группами кнопок.


EnableButton method (MapToolBarCtrl)

Разблокирует или блокирует (делает «серой») определенную кнопку на панели инструментов.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Sub EnableButton(Item, bEnable As Integer)

Item - индекс кнопки (начиная с 0) или имя команды.

bEnable - устанавливаемое состояние кнопки.

Описание:

Метод изменяет состояние кнопки - блокирует ее (делает «серой») или разблокирует.

Параметр Item задает кнопку, чье состояние меняется. Это либо число - индекс кнопки, начиная с 0, либо строка - имя команды, ассоциированной с кнопкой (см. Список команд).

Параметр bEnable задает состояние кнопки:

Значение

Описание

0

Кнопка заблокирована («серая»).

1

Кнопка разблокирована.

2

Состояние кнопки определяется автоматически в соответствии с текущим режимом подключенного компонента MapCtrl.

Пример:

'Принудительно блокируем кнопку «Открыть»
MapToolBarCtrl1.EnableButton("FileOpen", 0)


Enabled property (MapToolBarCtrl)

Позволяет разрешать или блокировать работу с окном.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property Enabled As Boolean


GetButtonCommand method (MapToolBarCtrl)

Возвращает имя команды системы Zulu, ассоциированное с указанной кнопкой.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Function GetButtonCommand(Index As Integer) As String

Index - порядковый номер кнопки на панели, начиная с 0.

Описание:

Метод возвращает имя команды, ассоциированное с кнопкой. Параметр Index задает порядковый номер кнопки на панели от 0 до ButtonCount - 1. Если под указанномым индексом располагается разделитель групп кнопок, метод вернет пустую строку.


GetButtonIndex method (MapToolBarCtrl)

Возвращает индекс кнопки на панели инструментов, которая соответствует указанной команде системы Zulu.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Function GetButtonIndex(Command As String) As Integer

Command - имя команды в системе Zulu (см. Список команд).

Описание:

Метод возвращает индекс кнопки, начиная c 0, которая соответствует указанной команде. Если на панели имеются несколько кнопок с одинаковыми командами, метод вернет индекс первой найденной такой кнопки. Если кнопки с указанной командой нет, метод вернет -1.


HideButton method (MapToolBarCtrl)

Скрывает/показывает определенную кнопку на панели инструментов.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Sub HideButton(Item, bHide As Boolean)

Item - индекс кнопки (начиная с 0) или имя команды.

bHide - скрыть (True) или обратно показать (False) кнопку.

Описание:

Метод скрывает или показывает кнопку, задаваемую параметром Item. Это либо число - индекс кнопки, начиная с 0, либо строка - имя команды, ассоциированной с кнопкой (см. Список команд).

Параметр bHide задает задает действие над кнопкой - скрыть (True) или обратно показать (False).

Пример:

'Скрыть кнопку «Сохранить»
MapToolBarCtrl1.HideButton("FileSave", True)


hWnd property (MapToolBarCtrl)

Возвращает дескриптор окна панели инструментов (HWND) в виде целого числа, имеющего тип Long.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property hWnd As Long

read-only


MapCtrl property (MapToolBarCtrl)

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

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property MapCtrl As Object

Пример:

MapToolBarCtrl1.MapCtrl = MapCtrl1


MapCtrlName property (MapToolBarCtrl)

Возвращает или устанавливает имя элемента MapCtrl, к которому подключен данный элемент управления. Обычно используется в режиме разработки (design-time) для подключения панели инструментов к окну карты.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property MapCtrlName As String

Пример:

MapToolBarCtrl1.MapCtrlName = "MapCtrl1"
'или
MapToolBarCtrl1.MapCtrlName = MapCtrl1.Name


ShowGripper property (MapToolBarCtrl)

Определяет наличие рельефного элемента (gripper) у панели инструментов.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property ShowGripper As Boolean

Описание:

Свойство ShowGripper задает наличие наличие рельефного элемента в левой или верхней части панели инструментов (в зависимости от ориентации).


Vertical property (MapToolBarCtrl)

Задает ориентацию размещения элементов на панели инструментов.

Применяется к:

MapToolBarCtrl

Синтаксис:

Visual Basic:

Property Vertical As Boolean

Описание:

Свойство задает направление, в котором выравниваются кнопки панели инструментов. Если предполагается, что панель будет ориентирована вертикально (например вдоль левой или правой стороны рабочего окна), установите это свойство в True.


ZuluCtrl object

Набор общих методов и событий.

Входит в состав ZuluXTools 2021.

Свойства и методы:

Свойства

Методы

События

Index

Name

Object

Parent

Tag

Tools

Zulu

AboutBox

CopyLayer

OnDocActivate

OnSetProgressBar

OnSetStatus

OnStartProgressBar

OnStopProgressBar


AboutBox method (ZuluCtrl)

ZuluCtrl

Visual Basic:

Sub AboutBox()


CopyLayer method (ZuluCtrl)

Создает копию слоя с новым пользовательским именем и новым расположением на диске.

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

CopyLayer(SrcLayerPath As String, NewLayerPath As String, NewLayerUsername As String)

SrcLayerPath As String - полное имя к файлу слоя-источника.

NewLayerPath As String - полное имя к новому файлу слоя.

NewLayerUsername As String - новое пользовательское имя слоя.


Index property (ZuluCtrl)

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

Property Index As Integer

read-only


Name property (ZuluCtrl)

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

Property Name As String

read-only


Object property (ZuluCtrl)

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

Property Object As Object

read-only


OnDocActivate Event (ZuluCtrl)

Возникает при активизации документа.

ZuluCtrl

Visual Basic:OnDocActivate(Activated As Object, Deactivated As Object)

Activated - документ, получающий фокус ввода(активизируется).

Deactivated - документ, теряющий фокус ввода (деактивизируется).


OnSetProgressBar Event (ZuluCtrl)

Установить значение в стандартном элементе управления ProgressBar в зависимости от состояния процесса в системе Zulu.

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

OnSetProgressBar(Value As Long)

Value - значение, устанавливаемое в ProgressBar.


OnSetStatus Event (ZuluCtrl)

Отобразить текст в стандартном элементе управления StatusBar.

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic: OnSetStatus(Text As String)

Text - текст, выводимый в стандартный элемент управления.


OnStartProgressBar Event (ZuluCtrl)

Инициализация стандартного элемента управления ProgressBar.

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

OnStartProgressBar(Limit As Long)

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


OnStopProgressBar Event (ZuluCtrl)

Возникает при завершении вывода в стандартный индикатор процесса.

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

OnStopProgressBar()


Parent property (ZuluCtrl)

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

Property Parent As Object

read-only


Tag property (ZuluCtrl)

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

Property Tag As String


Tools property (ZuluCtrl)

Возвращает объект ZuluTools, набор методов для работы с объектами системы Zulu.

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

Tools As ZuluTools


Zulu property (ZuluCtrl)

Возвращает объект Zulu.

Применяется к:

ZuluCtrl

Синтаксис:

Visual Basic:

Zulu As Object


Объекты

  • BaseInfo object

    Объект, содержащий основную информацию о базе данный слоя из коллекции Bases.

  • Bases collection (Layer)

    Коллекция баз данных слоя. Входит как свойство Bases в объект Layer.

  • Bookmark object

    Представляет набор свойств для работы с закладками. Является основным объектом коллекции Bookmarks.

  • Bookmarks collection

    Коллекция закладок карты.

  • ChangedElementKeys collection

    Коллекция ключей элементов, которые были изменены в результате операции редактирования (например, перемещение элемента). Является параметром события ElementsChanged объекта MapCtrl и свойством объекта Layer. Данный объект позволяет выделить для дальнейшего анализа элементы, подвергшиеся редактированию.

  • Contour object

    Представляет контурный объект системы. Входит как свойство Contour в объект Element.

  • ConvertToNetworkParams object

    Объект для задания параметров преобразования группы элементов слоя в сеть

  • CRS object

    Описывает систему координат (Coordinate Reference System)

  • CustomBlobObject

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

  • CustomBrowseObject

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

  • CustomData object

    Объект для работы с пользовательскими данными, ассоциированными с данным слоем. Объект возвращается как свойство слоя Layer.CustomData.

  • Document object

    Представляет документ системы Zulu. Входит как элемент в коллекцию Documents. Текущий активный документ можно получить через свойство Zulu.ActiveDocument.

  • Documents collection

    Представляет коллекцию объектов Document, которые соответствуют документам, открытым в Zulu.

  • DxfImportInfo object

    Объект для задания параметров импорта данных из формата DXF.

  • EditGrid object

    Представляет набор свойств сетки редактора карты MapDoc.

  • Element object

    Представляет графический объект (элемент), входящий в слой системы Zulu. Является элементом (item) коллекции Elements.

  • ElementKeyPairs collection

    Содержит коллекцию пар ключей (длинных целых чисел), как правило, являющихся подмножеством ключей объектов двух слоев. Является возвращаемым значением различных методов объекта Layer ( например, IntersectByLayer).

  • ElementKeys object

    Содержит коллекцию ключей (длинных целых чисел), как правило, являющихся подмножеством всех ключей объектов слоя. Часто является возвращаемым значением различных методов объекта Layer (таких как, например, GetCuttingNode, GetKeysByDrawHandle, GetShortWay, NetWorkRecalc), а также объекта Selection.

  • Elements object

    Содержит коллекцию графических объектов слоя Element. Возвращается свойством Elements объекта Layer.

  • ElemStyle object

    Представляет объект, содержащий параметры отображения линейных, контурных, символьных и текстовых графических объектов. Как свойство входит в объект Element. Используется как исходный параметр во всех методах записи в слой новых объектов: AddBufferZone, AddContour, AddPolyContour, AddPolyLine, AddText и др.

  • EventSink object

    Абстрактный объект, служащий для приёма событий от ZuluGIS.

  • ExportInfoParams object

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

  • FillStyle object

    Описывает стиль заливки площадных объектов.

  • FillStyleDef object

    Объект, содержащий описание и методы работы со стилем заливки полигонов. В частности, является элементом коллекции FillStyles стилей заливок слоя.

  • FillStyles object

    Коллекция стилей заливки слоя. Возвращается как свойство Layer.FillStyles.

  • FontStyle object

    Описывает стиль шрифта текстовых объектов.

  • HighlightParams object

    Параметры выделения объектов (для мишени и для обычного выделения).

  • IControlBar object

    Объект, управляющий плавающей/прикрепляющейся панелью. Создается методом CreateControlBar объекта Zulu.

  • IDatum object

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

  • IDatums collection

    Представляет коллекцию предопределенных географических датумов IDatum, поддерживаемых системой.

  • IEllipsoid object

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

  • IEllipsoids object

    Содержит коллекцию эллипсоидов, описанных в системе по умолчанию. Возвращается методом ZuluTools.GetEllipsoids.

  • ExifInfo object

    Интерфейс для получения информации об EXIF тэгах, содержащихся в некоторых файлах изображений. Является возвращаемым значением метода ZuluTools.GetExifInfo

  • IMapCustomData object

    Интерфейс для работы с дополнительными данными, ассоциированными с данной картой. Объект возвращается как свойство карты MapDoc.CustomData.

  • IMapStyle object

    Объект, содержащий ряд свойств, определяющих стиль отображения карты. Возвращается свойством карты MapDoc.MapStyle.

  • IMapView object

    Интерфейс, описывающий окно карты. Входит как образующий элемент в коллекцию IMapViews.

  • IMapViews collection

    Коллекция окон карты, отображающих данный документ. Входит как свойство Views объекта MapDoc.

  • InMemoryLayer object

    Объект, предоставляющий набор дополнительных методов для работы со слоем в памяти. Является подобъектом объекта Layer.

  • IOutputChannel object

    Объект, предоставляющий доступ к закладке окна сообщений. Доступ к этому объекту осуществляется через метод OpenOutputChannel объекта Zulu.

  • IPluginConnector object

    Объект, который предоставляется модулю расширения для связи с системой и получения доступа к методам и свойствам объекта Zulu через свойство Zulu.

  • IProjection object

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

  • IProjections collection

    Представляет коллекцию картографических проекций IProjection, поддерживаемых системой.

  • IPropertyBarPage object

    Служебный интерфейс.

  • IReliefLayer object

    Интерфейс для работы со слоем рельефа. Возвращается как свойство ReliefLayer объекта Layer.

  • ITileLayer object

    Интерфейс для работы с тайловым слоем (Tile-layer). Возвращается как свойство TileLayer объекта Layer.

  • ITrackingLayer object

    Интерфейс для работы со слоем трекинга. Возвращается как свойство TrackingLayer объекта Layer.

  • IWindows collection

    Коллекция объектов Window, представляющих окна приложения Zulu.

  • IWmsLayer object

    Интерфейс для работы со слоем WMS. Возвращается как свойство WmsLayer объекта Layer.

  • IZbAsciiFormat Object

    Объект, описывающий формат данных в текстовом файле.

  • IZbBlob object

    Объект, описывающий данные BLOB.

  • IZbBlobItem object

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

  • IZbBlobItems object

    Объект, описывающий коллекцию элементов галереи, хранящейся в BLOB. Входит как свойство Items в объект IZbBlob.

  • IZbBookInfo Object

    Объект - справочник базы данных Zulu. Входит как образующий элемент в коллекцию IZbBooks.

  • IZbBooks Collection

    Коллекция объектов-справочников. Входит как свойство Books в объект ZbDatabase.

  • IZbBrowser Interface

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

  • IZbBrowserNotifySink Interface

    Служебный интерфейс. Обработка событий от браузера.

  • IZbCellStyle object

    Объект IZbCellStyle описывает стиль ячейки стандартной формы браузера базы данных. Возвращается свойствами StdStyleLeft и StdStyleRight объекта IZbFieldInfo.

  • IZbDataFields object

    Предоставляет доступ к полям IZbDataset (включая служебные) с учетом фильтра.

  • IZbDataset object

    Интерфейс для работы с набором записей. Является возвращаемым значением некоторых методов объектов ZbDatabase, IZbQueryInfo.

  • IZbEnumTags object

    Объект-нумератор для последовательного чтения тегов из набора IZbTags.

  • IZbFieldDef object

    Объект, описывающий физическое поле таблицы или набора данных.

  • IZbFieldInfo object

    Описывает поле визуального запроса. Входит как образующий элемент в коллекцию IZbFields.

  • IZbFieldRef object

    Объект-ссылка на поле подзапроса или справочника. Входит как свойство FieldRef в объект IZbFieldInfo.

  • IZbFields Collection

    Коллекция полей запроса. Входит как свойство Fields в объект IZbVisualQuery.

  • IZbFormInfo object

    Объект-форма семантической базы данных. Входит как образующий элемент в коллекцию IZbForms.

  • IZbForms collection

    Коллекция форм. Входит как свойство Forms в объект ZbDatabase.

  • IZbLinkInfo object

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

  • IZbLinks collection

    Коллекция связей между таблицами. Входит как свойство Links в объект IZbVisualQuery.

  • IZbQueries collection

    Коллекция запросов, входящих в базу данных. Входит как свойство Queries в объект ZbDatabase.

  • IZbQueryInfo object

    Объект-запрос семантической базы данных. Основной элемент коллекции IZbQueries.

  • IZbQueryRef object

    Ссылка на запрос или справочник, входящий в текущий запрос как подзапрос. Основной элемент коллекции IZbQueryRefs.

  • IZbQueryRefs collection

    Коллекция подзапросов. Входит как свойство SubQueries в объект IZbVisualQuery.

  • IZbQueryTree object

    Представляет элемент дерева структуры запроса.

  • IZbReportInfo object

    Представляет отчёт, сохранённый в базе данных. Основной элемент коллекции IZbReports.

  • IZbReports object

    Коллекция отчётов, сохранённых в базе данных.

  • IZbSimpleBook object

    Объект, описывающий простой справочник.

  • IZbSourceInfo object

    Объект источник таблиц в базе данных. Основной элемент коллекции IZbSources.

  • IZbSources collection

    Коллекция источников таблиц, используемых в базе данных.

  • IZbSqlParams object

    Объект, задающий параметры SQL запроса. Может использоваться для задания значений параметров SQL запроса в методах ZbDatabase.ExecSQLEx и ZbDatabase.OpenSQLEx

  • IZbStdBrowseForm object

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

  • IZbStdBrowseParam object

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

  • Элемент управления ZbStdBrowser

    Элемент управления ZbStdBrowser — окно семантической информации, в котором можно получить информацию по выделенному на карте объекту (Текущая запись), сформировать запрос для выборки группы записей (Запрос/Ответ), просмотреть все записи в базе данных (База). Входит в состав ZuluGIS 2021 Database Connection Library.

  • IZbTableDef object

    Объект, описывающий структуру таблицы. Объект может быть создан как новый, либо получен по имеющейся таблице (см. IZbTableInfo.TableDef или ZbDatabase.GetTableDef).

  • IZbTableInfo object

    Объект-таблица семантической базы данных. Входит как образующий элемент в коллекцию IZbTables.

  • IZbTableRef object

    Таблица - участница визуального запроса. Основной элемент коллекции IZbTableRefs.

  • IZbTableRefs collection

    Коллекция таблиц визуального запроса. Входит как свойство Tables в объект IZbVisualQuery.

  • IZbTables collection

    Коллекция таблиц, входящих в семантическую базу данных. Входит как свойство Tables объекта ZbDatabase.

  • IZbTags object

    Объект-список тегов, ассоциированных с каким-либо объектом базы данных.

  • IZbVisualQuery object

    Объект - визуальный запрос системы Zulu. Входит как свойство VisualQuery в объекты IZbQueryInfo и IZbBookInfo.

  • IZEnumElements object

    Итератор, предоставляющий последовательный доступ к ряду свойств объектов слоя Layer.

  • IZEnumFiles object

    Интерфейс для получения списка файлов заданной папки по заданной маске. Возвращается методом ZuluTools.EnumFiles

  • IZSqlResult object

    Объект, представляющий результат пространственного SQL запроса.

  • IZSwitchStates collection

    Является коллекцией элементов, содержащих ID объекта и его состояние. Возвращается методом Layer.NetworkSwitchAnalyze.

  • LabelField object

    Объект, определяющий параметры поля шаблона надписи. Входит как образующий элемент в коллекцию LabelFields.

  • LabelFields collection

    Коллекция полей файла надписи типа LabelField. Входит как свойство LabelFields в объект LabelLayer.

  • LabelLayer object

    Объект, представляющий файл надписи слоя. Является основным объектом коллекции LabelLayers.

  • LabelLayers collection

    Коллекция файлов надписей слоя. Входит как свойство LabelLayers в объект Layer.

  • Layer object

    Представляет слой системы ZuluGIS. Является основным объектом коллекции Layers.

  • Layers collection

    Содержит коллекцию объектов типа Layer, загруженных в карту. Входит в виде свойства Layers в объект MapDoc.

  • LineStyle object

    Описывает стиль линий линейных и площадных объектов.

  • LineStyleDef object

    Объект, содержащий описание и методы работы со стилем заливки полигонов. В частности, является элементом коллекции LineStyles стилей заливок слоя.

  • LineStyleElement object

    Объект, содержащий описание и методы работы по созданию стиля одиночной линии/символа для добавления в объект LineStyleDef .

  • LineStyleElements object

    Объект, содержащий описание и методы работы с набором одиночных линий/символов класса LineStyleElement.

  • LineStyles object

    Коллекция стилей линий слоя. Возвращается как свойство Layer.LineStyles.

  • MapDoc object

    Объект, представляющий документ-карту системы Zulu. Возвращается как свойство компонента MapCtrl.Map, а также как свойство Zulu.Documents.Document.NativeDoc.

  • MapGrid object

    Объект для настроек сетки карты MapDoc.

  • NetWorkObject object

    Представляет объект сети. Является образующим элементом коллекции NetworkObjects.

  • NetworkObjects object

    Представляет коллекцию объектов сети. Возвращается как свойство Layer.NetWorkObjects.

  • NetworkTools object

    Содержит свойства и методы для топологического анализа сети. Объект является подобъектом объекта Layer.

  • NetworkTree object

    Дерево кратчайших путей. Возвращается методом Layer.GetShortWayTree.

  • NetworkTreeNode object

    Объект содержит информацию об узле, входящем в дерево NetworkTree.

  • NetworkWeight object

    Представляет объект, содержащий информацию о весовых коэффициентах линейного элемента сети.

  • NetworkWeightSet object

    Объект, представляющий набор весовых коэффициентов графа сети слоя. Является основным объектом коллекции NetworkWeightSets.

  • NetworkWeightSets collection

    Коллекция наборов весовых коэффициентов для длин ребер графа сети. Возвращается как свойство слоя NetworkWeightSets.

  • ObjectMode object

    Представляет режим типового объекта слоя системы Zulu. Является образующим объектом для коллекции ObjectModes.

  • ObjectModes collection

    Представляет коллекцию объектов типа ObjectMode, входящих в структуру данного типа (ObjectType) векторного слоя системы Zulu.

  • ObjectType object

    Представляет тип объектов слоя системы Zulu. Является образующим элементом коллекции ObjectTypes.

  • ObjectTypes collection

    Содержит коллекцию типов объектов слоя ObjectType. Входит как свойство ObjectTypes в объект Layer.

  • Points collection

    Объект Points системы, представляет коллекцию точек - вершин элемента (ломаной или контура). Входит как свойство Points объекта Element.

  • PolyContour object

    Составной контурный объект - объект, состоящий из нескольких контуров (объектов Contour). Входит как свойство PolyContour объекта Element.

  • PolyLine object

    Представляет объект ломаная, образованный последовательностью не менее 2-х точек (объект Points). Входит как свойство PolyLine в объект Element.

  • PolyPolyLine object

    Представляет составную ломаную. Составная ломаная может состоять из одной или нескольких ломаных (объектов PolyLine). Входит как свойство PolyPolyLine объекта Element.

  • PrintInfo Object

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

  • PrintToRasterParams object

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

  • Project object

    Объект, представляющий проект системы ZuluGIS.

  • ProjectLink object

    Объект, представляющий связи проекта. Является образующим объектом коллекции ProjectLinks.

  • ProjectLinks object

    Коллекция связей проекта. Коллекция возвращается свойством Project.Links, методами Project.FindLayerLinks и Project.FindMapLinks.

  • RasterObject object

    Объект для работы с растровыми файлами.

  • Selection object

    Представляет объект, содержащий набор свойств и методов для работы с группой выделенных объектов слоя. Входит как свойство в объект Layer.

  • Symbol object

    Представляет символ системы Zulu. Является основным объектом коллекции Symbols.

  • SymbolElement object

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

  • SymbolElements collection

    Коллекция элементов, из которых состоит символ. Возвращается как свойство SymbolElements объекта Symbol.

  • Symbols object

    Коллекция символов слоя. Возвращается как свойство Symbols объекта Layer.

  • SymbolStyle object

    Описывает стиль символьных объектов.

  • TargetSelection object

    Представляет объект, содержащий набор свойств и методов для работы с мишенью слоя. Входит как свойство в объект Layer.

  • Theme object

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

  • ThemeFilterDesc object

    Объект описывает тематический фильтр (шаблон раскраски). Фильтр представляет собой набор запросов по выбору значений из семантических баз данных. Количество запросов (условий ConditionsCount) не ограничено. Для каждого условия задаются база данных и имя запроса, к которому применяется условие, параметры отображения графических объектов, соответствующие заданным условиям (Parameter).

  • ThemeFilters collection

    Коллекция тематических фильтров (раскраски) слоя Layer. Фильтр представляет собой набор запросов по выбору значений из семантических баз данных.

  • Themes collection

    Коллекция вариантов тематических раскрасок слоя Layer.

  • TileLayerDef object

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

  • UserMode object

    Зарезервирован для дальнейшего использования.

  • Window object

    Представляет окно приложения Zulu. Входит как образующий элемент в коллекцию Windows.

  • ZArc object

    Объект-дуга. Входит как свойство Arc в объект SymbolElement.

  • ZbDatabase Object

    ZbDatabase - объект базы данных ZuluGIS.

  • ZbUtilities Object

    Набор методов-утилит по работе с базами данных.

  • ZElemsStates object

    Является коллекцией элементов, содержащих ID элемента, тип и режим. Эти три параметра определяют состояние типового элемента слоя. Коллекция применяется в методах объекта Layer, выполняющих групповое изменение состояний объектов слоя: SetModesByElemsStates и

  • ZEllipse object

    Объект-эллипс. Входит как свойство Ellipse в объект SymbolElement.

  • ZGeometry object

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

  • ZGeoObject object

    Сдержит описание геометрического объекта.

  • ZGPS object

    Предоставляет набор методов для работы со спутниковыми навигаторами GPS/ГЛОНАСС.

  • ZGraphics object

    Зарезервирован для дальнейшего использования.

  • ZLabel object

    Бирка элемента. Бирка привязывается к центру элемента слоя (CenterPoint), сама бирка имеет точку привязки выносной линии (SnapPoint), для каждой бирки можно задать наклон в градусах по отношению к элементу (Angle). Входит как образующий элемент в коллекцию ZLabels.

  • ZLabels collection

    Надпись слоя (коллекция меток). Входит как свойство Labels в объект LabelLayer.

  • ZLicInfo object

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

  • ZPoint object

    Объект, описывающий точку с координатами X, Y.

  • ZRasterGroup object

    Объект представляет группу растровых объектов. В системе Zulu список растровых объектов хранится в виде текстового файла с расширением ZRG, в котором в каждой строке указано имя файла с растровым объектом.

  • ZRasterParams object

    Представляет объект, содержащий набор свойств и методов для работы с растровым объектом растрового слоя.

  • ZRectangle object

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

  • ZsConnection object

    Объект ZsConnection содержит набор методов для работы c соединением с ZuluServer.

  • ZsConnectionList object

    Представляет набор соединений к серверам ZuluServer.

  • ZsFolder object

    Объект ZsFolder содержит информацию о папке на ZuluServer. Возвращается методом ZsConnection.GetFolder.

  • ZSqlContext object

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

  • Zulu Object

    Представляет объект приложения ZuluGIS. Это корневой объект иерархии объектной модели библиотеки ZuluGIS 2021 Application.

  • Набор диалогов ZuluCommDlg

    Элемент ActiveX ZuluCommDlg, представляет набор диалогов для вызова окна выбора или сохранения файла с установкой маски файла.

  • ZuluTools object

    Представляет набор методов для доступа к различным функциям системы.

  • ZWebParams object

    Представляет набор методов для работы с параметрами публикуемых слоев в Веб-службах ZuluServer.


BaseInfo object

Объект, содержащий основную информацию о базе данный слоя из коллекции Bases.

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Id

Name

UserName

Open


Id property (BaseInfo)

Свойство возвращает уникальный идентификатор базы данных в слое.

Применяется к:

BaseInfo

Синтаксис:

Visual Basic:

Property Id() As Long

read only

Пример:

Sub BaseInfo_Id
Set L = Zulu.ActiveMapDoc.Layers.Active
' выводим ID базы по индексу 0
MsgBox(L.Bases.Item(0).ID)
End Sub


Name property (BaseInfo)

Свойство возвращает имя базы данных (имя файла или URL для сервера).

Применяется к:

BaseInfo

Синтаксис:

Visual Basic:

Property Name() As String

read only

Пример:

Sub BaseInfo_Name
Set L = Zulu.ActiveMapDoc.Layers.Active
' выводим имя базы по индексу 0
MsgBox(L.Bases.Item(0).Name)
End Sub


Open method (BaseInfo)

Открывает базу данных и возвращает объект ZbDatabase.

Применяется к:

BaseInfo

Синтаксис:

Visual Basic:

Function Open() As ZbDatabase

Описание:

Метод создаёт новый объект ZbDatabase и открывает базу данных с путём, указанным в объекте BaseInfo.


UserName property (BaseInfo)

Свойство возвращает пользовательское название базы данных.

Применяется к:

BaseInfo

Синтаксис:

Visual Basic:

Property UserName() As String

read only

Пример:

Sub BaseInfo_UserName
Set L = Zulu.ActiveMapDoc.Layers.Active
' выводим пользовательское имя базы по индексу 0
MsgBox(L.Bases.Item(0).UserName)
End Sub


Bases collection (Layer)

Коллекция баз данных слоя. Входит как свойство Bases в объект Layer.

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

ItemById

Append

Create

CreateEx

Remove


Append method (Bases)

Добавляет в список семантических баз слоя базу данных с указанным файлом описателя базы данных.

Применяется к:

Bases

Синтаксис:

Visual Basic:

Function Append(ZbFileName As String) As Long

ZbFileName - имя файла описателя базы данных.

Описание:

Если база данных успешно добавлена, метод возвращает ID добавленной базы. В противном случае метод вернет 0.


Count property (Bases)

Возвращает количество баз данных коллекции Bases.

Применяется к:

Bases

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Create method (Bases)

Создает новую семантическую базу данных слоя и добавляет ее в коллекцию.

Применяется к:

Bases

Синтаксис:

Visual Basic:

Function Create(UserName As String) As Long

UserName

пользовательское название базы данных.

Описание:

Если база данных успешно создана и добавлена в коллекцию, метод возвращает ID добавленной базы. В противном случае метод вернет значение меньшее или равное 0.


CreateEx method (Bases)

Создает новую семантическую базу данных слоя, с указанным ID и пользовательским именем, и добавляет ее в коллекцию.

Применяется к:

Bases

Синтаксис:

Visual Basic:

Function CreateEx(BaseID As Long, UserName As String) As Long

BaseID - ID добавляемой базы.

UserName - пользовательское название базы данных.

Описание:

Если база данных успешно создана и добавлена в коллекцию, метод возвращает ID добавленной базы. В противном случае, например, при попытке создать базу данных с уже существующим ID, метод вернет значение меньшее или равное 0. В методе можно указать BaseID равное -1, в этом случае будет создана база данных с уникальным ID.

Пример:

Sub Bases_CreateEx
'В активном слое создаем базу данных "Потребитель" и ID = 1
set L = Zulu.ActiveMapDoc.Layers.Active
L.Bases.CreateEx 1, "Потребитель"
End Sub


Item property (Bases)

Возвращает объект BaseInfo c информацией по базе данных c указанным номером в списке баз данных Bases.

Применяется к:

Bases

Синтаксис:

Visual Basic:

Property Item(Index as long) As BaseInfo

read-only

Index - номер в списке баз данных слоя (нумерация с нуля).


ItemById property (Bases)

Возвращает объект BaseInfo c информацией по базе данных c указанным ID базы данных слоя.

Применяется к:

Bases

Синтаксис:

Visual Basic:

Property ItemById(BaseId as long) As BaseInfo

read-only

BaseId - идентификатор базы данных слоя.


Remove method (Bases)

Исключает семантическую базу данных из списка баз слоя.

Применяется к:

Bases

Синтаксис:

Visual Basic:

Function Remove(BaseID As Long) As Boolean

BaseID - ID базы данных в слое.


Bookmark object

Представляет набор свойств для работы с закладками. Является основным объектом коллекции Bookmarks.

Входит в состав библиотеки ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.Bookmark

CLSID:

{125070A4-0B01-11D2-B55D-444553540000}

Свойства:

Свойства

ElemID

LayerPath

Name

Scale

Type

X

Y

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.Bookmark
Set obj = New ZuluLib.Bookmark
//Delphi:
obj: IBookmark;
obj := CoBookmark.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.Bookmark")


ElemID property (Bookmark)

Возвращает/устанавливает ключ элемента, с которым связана закладка.

Применяется к:

Bookmark

Синтаксис:

Property ElemID As Long

Описание:

Если закладка связана с центром карты, а не с объектом, свойство вернет -1.


LayerPath property (Bookmark)

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

Применяется к:

Bookmark

Синтаксис:

Property LayerPath As String


Name property (Bookmark)

Возвращает/устанавливает название закладки.

Применяется к:

Bookmark

Синтаксис:

Property Name As String


Scale property (Bookmark)

Возвращает/устанавливает масштаб отображения карты для закладки.

Применяется к:

Bookmark

Синтаксис:

Visual Basic:

Property Scale As Double


Type property (Bookmark)

Возвращает тип закладки (связана с центром карты или с объектом слоя).

Применяется к:

Bookmark

Синтаксис:

Property Type As Long

read-only

1 - закладка связана с центром карты.

2 - закладка связана с объектом слоя.


X, Y property (Bookmark)

Возвращает/устанавливает координаты центра отображения карты для закладки.

Применяется к:

Bookmark

Синтаксис:

PropertyX As Double

Property Y As Double


Bookmarks collection

Коллекция закладок карты.

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

Входит как свойство Bookmarks в объект MapDoc.

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

AddByCenter

AddByElement

ChangeByCenter

ChangeByElement

Remove


AddByCenter method (Bookmarks)

Добавляет закладку, связанную с центром карты.

Применяется к:

Bookmarks

Синтаксис:

Visual Basic:

Function AddByCenter(Name As String, X As Double, Y As Double, Scale As Double) As Boolean

Name - название закладки.

X, Y - координаты центра карты.

Scale - масштаб отображения карты.

Описание:

Функция возвращает значение True, если закладку удалось успешно добавить в коллекцию.

Пример:

'установить закладку, связанную с центром карты
If MapCtrl1.Map.Bookmarks.AddByCenter("центр", 547600,  977445, 175) = True Then
    MsgBox "Закладка установлена"
Else
    MsgBox "Закладка не установлена"
End If


AddByElement method (Bookmarks)

Добавляет закладку, связанную с заданным объектом.

Применяется к:

Bookmarks

Синтаксис:

Visual Basic:

Function AddByElement(NameAs String, LayerPathAs String, ElemIDAs Long, ScaleAs Double) As Boolean

Name - название закладки

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

ElemID - ID (ключ) объекта, к которому надо добавить закладку

Scale - масштаб отображения карты.

Описание:

Функция возвращает значение True, если закладку удалось успешно добавить в коллекцию.

Пример:

'установить закладку, связанную с заданным объектом  (ID)
If MapCtrl1.Map.Bookmarks.AddByElement("объект", "D:\Gidro\Voda.b00", 57, 200) = True Then
    MsgBox "Закладка установлена"
Else
    MsgBox "Закладка не установлена"
End If


ChangeByCenter method (Bookmarks)

Изменяет указанную закладку, на закладку, связанную с центром карты.

Применяется к:

Bookmarks

Синтаксис:

Visual Basic:

Function ChangeByCenter(Index As Long, Name As String, X As Double, Y As Double, Scale As Double) As Boolean

Index - индекс закладки в коллекции (нумерация с 1)

Name - название закладки.

X , Y - X, Y - координаты центра карты.

Scale - масштаб отображения карты.

Описание:

Функция возвращает значение True, если закладку удалось успешно обновить.

Пример:

'изменить  закладку, связанную с центром карты
If MapCtrl1.Map.Bookmarks.ChangeByCenter(1, "объект", 300, 300,  300) = True Then
    MsgBox "Закладка изменена"
Else
    MsgBox "Закладка не изменена"
End If


ChangeByElement method (Bookmarks)

Изменяет указанную закладку, на закладку, связанную с объектом слоя.

Применяется к:

Bookmarks

Синтаксис:

Function ChangeByElement(Index As Long, Name As String, LayerPath As String, ElemID As Long, Scale As Double) As Boolean

Index - индекс закладки в коллекции (нумерация с 1).

Name - название закладки.

LayerPath - полный путь к файлу слоя, которому принадлежит элемент

ElemID - ключ объекта слоя.

Scale - масштаб отображения карты.

Описание:

Функция возвращает значение True, если закладку удалось успешно обновить.


Count property (Bookmarks)

Возвращает количество закладок в коллекции. Нумерация закладок в коллекции начинается с 1.

Применяется к:

Bookmarks

Visual Basic:

Property Count As Long

read-only


Item property (Bookmarks)

Возвращает элемент из коллекции по индексу.

Применяется к:

Bookmarks

Синтаксис:

Visual Basic:

Property Item(Index As Long) As Bookmark

read-only

Index - индекс закладки в коллекции.


Remove Method (Bookmarks)

Удалить закладку из коллекции по индексу.

Применяется к:

Bookmarks

Синтаксис:

Visual Basic:

Function Remove(Index As Long) As Boolean

Index - индекс закладки в коллекции (нумерация с 1).

Описание:

Функция возвращает значение True, если закладку удалось успешно удалить.


ChangedElementKeys collection

Коллекция ключей элементов, которые были изменены в результате операции редактирования (например, перемещение элемента). Является параметром события ElementsChanged объекта MapCtrl и свойством объекта Layer. Данный объект позволяет выделить для дальнейшего анализа элементы, подвергшиеся редактированию.

[Примечание] Примечание

Данная коллекция может быть возвращена только при непосредственном редактировании с карты.

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства:

Свойства

Count

EditorAction

EditResult

Item


Count property (ChangedElementKeys)

Возвращает количество элементов в коллекции.

Применяется к:

ChangedElementKeys

Синтаксис:

Property Count As Long

read-only


EditorAction property (ChangedElementKeys)

Возвращает флаг, значение которого инициирует операцию, произведенную над объектом из набора констант eEditorAction.

Применяется к:

ChangedElementKeys

Синтаксис:

Property EditorAction As eEditorAction

read-only


EditResult property (ChangedElementKeys)

Возвращает флаг, значение которого инициирует результат редактирования элементов, которые содержит коллекция из набора констант eEditResult.

Применяется к:

ChangedElementKeys

Синтаксис:

PropertyEditResult(Index As Long) As eEditResult

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


Item property (ChangedElementKeys)

Возвращает отдельный элемент коллекции по его ключу.

Применяется к:

ChangedElementKeys

Синтаксис:

Property Item(Index As Long) As Long

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


Contour object

Представляет контурный объект системы. Входит как свойство Contour в объект Element.

Контурный объект - это 2-мерный (площадной) объект. В системе ZuluGIS контурный объект - последовательность вершин контура (точечный объект - Points).

Входит в состав библиотеки ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.Contour

CLSID:

{12507071-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

NumTops

Perimeter

Points

Square

AddPoint

Clear

CreatFromElement (устаревш.)

DeletePoint

Fill

GetBoundsRectangle

GetX

GetY

InsertPoint

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.Contour
Set obj = New ZuluLib.Contour
//Delphi:
obj: IContour;
obj := CoContour.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.Contour")


AddPoint Method (Contour)

Добавить вершину в контурный объект. При этом количество вершин увеличивается на 1.

Применяется к:

Contour

Синтаксис:

Function AddPoint(X As Double, Y As Double) As Boolean


Clear method (Contour)

Очищает все вершины контура.

Применяется к:

Contour

Синтаксис:

Visual Basic:

Sub Clear()

Пример:

Sub Contour_Clear
Set L = Zulu.ActiveMapDoc.Layers.Active
'в перменную ID записывает ключ выбранного объекта
ID = L.CurrentID
'получаем элемент по ключу
Set element = L.Elements.GetElement(ID)
'получаем контур выбранного элемента
Set contour = element.contour
'очищаем контур площадного объекта
contour.Clear
'добавляем новые вершины
contour.AddPoint 1, 12
contour.AddPoint 1, 32
contour.AddPoint 23, 54
'задаем элементу новый контур
element.SetContour contour
End Sub


CreatFromElement Method (Contour)

В настоящий момент не используется.

Применяется к:

Contour

Синтаксис:

Function CreateFromElement(Elem As Element) As Boolean


DeletePoint Method (Contour)

Удаляет вершину из контурного объекта.

Применяется к:

Contour

Синтаксис:

Function DeletePoint(nPointNum As Long) As Boolean

nPointNum - номер удаляемой вершины (нумерация с единицы).


Fill Method (Contour)

Создать контурный объект с указанными параметрами.

Применяется к:

Countour

Синтаксис:

Function Fill(NumTops As Long, Xcoords As Double, Ycoords As Double) As Boolean

NumTops - количество вершин контура.

Xcoords - ссылка на массив X-координат вершин.

Ycoords - ссылка на массив Y-координат вершин.

Метод возвращает True, если удалось успешно создать контур.


GetBoundsRectangle method (Contour)

Возвращает объект ZRectangle, содержащий габариты объекта.

Применяется к:

Contour

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


GetX method (Contour)

Возвращает X-координату вершины контура с указанным номером.

Применяется к:

Contour

Синтаксис:

Visual Basic:

Function GetX(TopNum As Long) As Double

TopNum - номер вершины (с единицы).

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Значение Index выходит за границы диапазона 1..Count.


GetY method (Contour)

Возвращает Y-координату вершины контура с указанным номером.

Применяется к:

Contour

Синтаксис:

Visual Basic:

Function GetX(TopNum As Long) As Double

TopNum - номер вершины (с единицы).

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Значение Index выходит за границы диапазона 1..Count.


InsertPoint Method (Contour)

Добавляет вершину в контурный объект.

Применяется к:

Contour

Синтаксис:

Function InsertPoint(X As Double, Y As Double, nPos As Long) As Boolean

X, Y - координаты добавляемой вершины.

nPos - положение добавляемой вершины в списке вершин (нумерация с единицы).


NumTops property (Contour)

Возвращает число вершин контура.

Применяется к:

Contour

Синтаксис:

Visual Basic:

Property NumTops As Long

read-only


Perimeter property (Contour)

Возвращает периметр контура.

Применяется к:

Element

Синтаксис:

Property Perimeter As Double

read-only


Points Property (Contour)

Возвращает коллекцию точек (вершин контура) - объект Points.

Применяется к:

Contour

Синтаксис:

Property Points As Points

read-only


Square property (Contour)

Возвращает площадь контура.

Применяется к:

Contour

Синтаксис:

Visual Basic:

Property Square As Double

read-only

Пример:

'Выдает значение площади контура с ID=7
MsgBox Layer1.Elements(7).Contour.Square


ConvertToNetworkParams object

Объект для задания параметров преобразования группы элементов слоя в сеть

Входит в состав библиотеки ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ConvertToNetworkParams

CLSID:

{125074C1-11DD-4DDC-AFDA-3007DB025F4D}

Свойства и методы:

Свойства

Методы

AttachEndsOfLineToNodes

CombineEndsOfLines

ConvertLinePrimitives

ConvertPointPrimitives

DecombineMultilines

DeleteDuplicateObjects

InsertIntersectionPoints

InsertTouchPoints

RadiusForAttachEnds

RadiusForCombineEnds

RadiusForTouchPoints

RadiusForSplitLines

SplitLinesByNodes

SplitLinesByVertices

SetTypeModeForJunction

SetTypeModeForDeadlock

SetTypeModeForLine


AttachEndsOfLineToNodes property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Подтягивать концы участка к узлам".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property AttachEndsOfLineToNodes As Boolean

Описание:

Значение по умолчанию: False.


CombineEndsOfLines property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Объединять концы линий".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property CombineEndsOfLines As Boolean

Описание:

Значение по умолчанию: False.


ConvertLinePrimitives property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Преобразовать примитивы в участки".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property ConvertLinePrimitives As Boolean

Описание:

Значение по умолчанию: False.


ConvertPointPrimitives property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Преобразовать примитивы в узлы".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property ConvertPointPrimitives As Boolean

Описание:

Значение по умолчанию: False.


DecombineMultilines property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Декомбинировать мультилинии".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property DecombineMultilines As Boolean

Описание:

Значение по умолчанию: False.


DeleteDuplicateObjects property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Удалять дублированные объекты".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property DeleteDuplicateObjects As Boolean

Описание:

Значение по умолчанию: False.


InsertIntersectionPoints property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Узловать в точках пересечений линий".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property InsertIntersectionPoints As Boolean

Описание:

Значение по умолчанию: False.


InsertTouchPoints property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Узловать в точках примыкания линий".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property InsertTouchPoints As Boolean

Описание:

Значение по умолчанию: False.


RadiusForAttachEnds property (ConvertToNetworkParams)

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

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property RadiusForAttachEnds As Boolean

Описание:

Значение по умолчанию: 1 метр.


RadiusForCombineEnds property (ConvertToNetworkParams)

Возвращает\устанавливает радиус захвата объекта для опции "Объединять концы линий".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property RadiusForCombineEnds As Boolean

Описание:

Значение по умолчанию: 1 метр.


RadiusForSplitLines property (ConvertToNetworkParams)

Возвращает\устанавливает радиус захвата объекта для опции "Разделять участки узлами".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property RadiusForSplitLines As Boolean

Описание:

Значение по умолчанию: 1 метр.


RadiusForTouchPoints property (ConvertToNetworkParams)

Возвращает\устанавливает радиус захвата объекта для опции "Узловать в точках примыкания линий".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property RadiusForTouchPoints As Boolean

Описание:

Значение по умолчанию: 1 метр.


SetTypeModeForDeadlock method (ConvertToNetworkParams)

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

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Sub SetTypeModeForDeadlock(TypeID As Long, nMode As Long)

Описание:

Значение по умолчанию: -1. В этом случае будет использоваться параметр, заданный в свойстве SetTypeModeForJunction.


SetTypeModeForJunction method (ConvertToNetworkParams)

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

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Sub SetTypeModeForJunction(TypeID As Long, nMode As Long)

Описание:

Значение по умолчанию: -1. В этом случае будет создан новый символьный тип с первым режимом.


SetTypeModeForLine method (ConvertToNetworkParams)

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

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Sub SetTypeModeForLine(TypeID As Long, nMode As Long)

Описание:

Значение по умолчанию: -1. В этом случае будет создан новый линейный тип для участка с первым режимом.


SplitLinesByNodes property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Разделять участки узлами".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property SplitLinesByNodes As Boolean

Описание:

Значение по умолчанию: False.


SplitLinesByVertices property (ConvertToNetworkParams)

Возвращает\устанавливает опцию "Разделять участки узлами в точках перелома".

Применяется к:

ConvertToNetworkParams

Синтаксис:

Visual Basic:

Property SplitLinesByVertices As Boolean

Описание:

Значение по умолчанию: False.


CRS object

Описывает систему координат (Coordinate Reference System)

Входит в состав библиотеки ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.CRS

CLSID:

{12507460-11DD-4DDC-AFDA-3007DB025F4D}

Свойства и методы:

Свойства

Методы

FE

FN

K0

Lat0

Lat1

Lat2

Lon0

Projection

ProjectionType

CalcSphericalDistance

ConvertContour

ConvertPoint

ConvertPolyContour

ConvertPolyline

ConvertPolyPolyline

Forward

GetDatum

GetDatumCode

GetConvertPoint

GetForward

GetInverse

InitByCode

Inverse

SetDatum

SetDatumCode

Пример создания:

'Visual Basic:
Dim crs As ZuluLib.CRS
Set crs = New ZuluLib.CRS
//Delphi:
crs: ICRS;
crs := CoCRS.Create;
'VBScript:
Set crs = CreateObject("ZuluLib.CRS")


CalcSphericalDistance method (CRS)

Вычисляет расстояние между двумя точками на сфероиде.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function CalcSphericalDistance(Lat1 As Double, Lon1 As Double, Lat2 As Double, Lon2 As Double) As Double

Lat1 - широта первой точки земной поверхности в градусах

Lon1 - долгота первой точки земной поверхности в градусах

Lat2 - широта второй точки земной поверхности в градусах

Lon2 - долгота второй точки земной поверхности в градусах

Описание:

Метод возвращает значение расстояния в метрах.


ConvertContour method (CRS)

Переводит координаты полигона из данной системы координат в указанную систему координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function ConvertContour(Region As Contour, outCRS As CRS, nOptions As Long) As Contour

Region - исходный полигон.

outCRS - система координат в которую осуществляется преобразование.

nOptions - зарезервировано, должно быть 0.

Описание:

Если преобразование прошло успешно, метод возвращает новый объект Contour с преобразованными координатами. В противном случае метод возвращает пустой объект.

Пример:

Dim crs1 As CRS
Dim crs2 As CRS

Set crs1 = New CRS
Set crs2 = New CRS
'Широта/долгота WGS 84
crs1.InitByCode "EPSG:4326"

'Сферический Меркатор
crs2.InitByCode"EPSG:3857"

Dim c1 As Contour
Dim c2 As Contour

Set c1 = New Contour

'Заполняем контур координатами в единицах первой системы координат
c1.AddPoint 60, 30
c1.AddPoint 61, 31
c1.AddPoint 59, 32

'Получаем контур в другой системе координат
Set c2 = crs1.ConvertContour( c1, crs2, 0 )

'Проверяем результат на пустой объект
If TypeName(c2) = "Nothing" Then
    MsgBox "Ошибка преобразования"
End If


ConvertPoint method (CRS)

Переводит координаты точки из данной системы координат в указанную систему координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function ConvertPoint(Xin As Double, Yin As Double, outCRS As CRS, Xout As Double, Yout As Double) As Long

Xin, Yin - исходные координаты точки в данной системе.

outCRS - система координат в которую осуществляется преобразование.

Xout,Yout - координаты точки в системе координат outCRS , полученные в результате преобразования.

Описание:

Если преобразование прошло успешно, метод возвращает 0 и записывает результат в переменные Xout, Yout. В противном случае метод возвращает -1.

Пример:

Dim crs1 As CRS
Dim crs2 As CRS

Set crs1 = New CRS
Set crs2 = New CRS
'Широта/долгота WGS 84
crs1.InitByCode "EPSG:4326"

'Сферический Меркатор
crs2.InitByCode "EPSG:3857"

Dim X As Double
Dim Y As Double

'Преобразуем точку из однй системы координат в другую
crs1.ConvertPoint 60, 30, crs2, X, Y


ConvertPolyContour method (CRS)

Переводит координаты составного полигона из данной системы координат в указанную систему координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function ConvertPolyContour(Region As PolyContour, outCRS As CRS, nOptions As Long) As PolyContour

Region - исходный полиполигон.

outCRS - система координат в которую осуществляется преобразование.

nOptions - зарезервировано, должно быть 0.

Описание:

Если преобразование прошло успешно, метод возвращает новый объект PolyContour с преобразованными координатами. В противном случае метод возвращает пустой объект.

Пример:

'Записываем площадной объект с ключом ID из одного слоя L1 в слой L2
Dim el As Element
Dim pc1 As PolyContour
Dim pc2 As PolyContour

'Получаем элемент с ключом ID
Set el = L1.Elements.GetElement(ID)

'Если объект существует
If el.Key <> -1 Then

    'Если объект площадной
    If el.GraphType = eGraphTypePrimSquare Or eGraphTypeTypedSquare Then

       'Получаем полиполигон
        Set pc1 = el.PolyContour

       'Преобразуем координаты полигона из системы координат слоя L1 в систему координат слоя L2
        Set pc2 = L1.GetCRS().ConvertPolyContour(pc1, L2.GetCRS(), 0)

       'Если возвращенный методом объект не пустой
        If TypeName(pc2) = "IPolyContour" Then

       'Добавляем полигон в слой L2
            L2.AddPolyContour pc2, el.ElemStyle, -1, -1

        End If

    End If

End If


ConvertPolyline method (CRS)

Переводит координаты полилинии из данной системы координат в указанную систему координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function ConvertPolyline(pLine As PolyLine, outCRS As CRS, nOptions As Long) As PolyLine

pLine - исходная полилиния.

outCRS - система координат в которую осуществляется преобразование.

nOptions - зарезервировано, должно быть 0.

Описание:

Если преобразование прошло успешно, метод возвращает новый объект PolyLine с преобразованными координатами. В противном случае метод возвращает пустой объект.

Пример:

Dim crs1 As CRS
Dim crs2 As CRS

Set crs1 = New CRS
Set crs2 = New CRS
'Широта/долгота WGS 84
crs1.InitByCode "EPSG:4326"

'Сферический Меркатор
crs2.InitByCode"EPSG:3857"

Dim p1 As PolyLine
Dim p2 As PolyLine

Set p1 = New PolyLine

'Заполняем полилинию координатами в единицах первой системы координат
p1.AddPoint 60, 30
p1.AddPoint 61, 31
p1.AddPoint 59, 32

'Получаем контур в другой системе координат
Set p2 = crs1.ConvertPolyline( p1, crs2, 0 )

'Проверяем результат на пустой объект
If TypeName(p2) = "Nothing" Then
    MsgBox "Ошибка преобразования"
End If


ConvertPolyPolyline method (CRS)

Переводит координаты составной полилинии из данной системы координат в указанную систему координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function ConvertPolyPolyline(pLine As PolyPolyLine, outCRS As CRS, nOptions As Long) As PolyPolyLine

pLine - исходная полиполилиния.

outCRS - система координат в которую осуществляется преобразование.

nOptions - зарезервировано, должно быть 0.

Описание:

Если преобразование прошло успешно, метод возвращает новый объект PolyPolyLine с преобразованными координатами. В противном случае метод возвращает пустой объект.

Пример:

'Записываем линейный объект с ключом ID из одного слоя L1 в слой L2
Dim el As Element
Dim pl1 As PolyPolyLine
Dim pl2 As PolyPolyLine

'Получаем элемент с ключом ID
Set el = L1.Elements.GetElement(ID)

'Если объект существует
If el.Key <> -1 Then
    'Если объект линейный
    If el.GraphType = eGraphTypePrimPolyline Or eGraphTypeTypedPolyline Then
        'Получаем полиполилинию
        Set pL1 = el.PolyPolyLine
        'Преобразуем координаты полиполилинии из системы координат слоя L1 в систему координат слоя L2
        Set pl2 = L1.GetCRS().ConvertPolyPolyline(pl1, L2.GetCRS(), 0)
        'Если возвращенный методом объект не пустой
        If TypeName(pl2) = "IPolyPolyLine" Then
            'Добавляем полиполилинию в слой L2
             L2.AddPolyPolyLine pl2, el.ElemStyle, -1, -1
        End If
    End If
End If


FE property (CRS)

Возвращает/устанавливает восточное смещение (false easting) системы координат относительно центрального меридиана в метрах.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property FE As Double


FN property (CRS)

Возвращает/устанавливает смещение на север (false northing) системы координат относительно стандартной параллели в метрах.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property FN As Double


Forward method (CRS)

Проецирование точки земной поверхности, заданной широтой и долготой, в координаты на плоскости в соответствии с параметрами проекции данной системы координат (прямое преобразование).

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function Forward(Lat As Double, Lon As Double, X As Double, Y As Double) As Long

Lat, Lon - широта и долгота точки земной поверхности в градусах.

X, Y - координаты спроецированной точки в метрах.

Описание:

Если преобразование прошло успешно, метод возвращает 0 и записывает результат в переменные X, Y. В противном случае метод возвращает -1.

Т.к результат записывается по ссылке в переменные типа double, данный метод нельзя применять в в VB Script, в отличие от метода GetForward.


GetConvertPoint method (CRS)

Переводит координаты точки из данной системы координат в указанную систему координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function GetConvertPoint(Xin As Double, Yin As Double, outCRS As CRS) As ZPoint

Xin, Yin - исходные координаты точки в данной системе.

outCRS - система координат в которую осуществляется преобразование.

Описание:

Метод возвращает объект ZPoint. Если метод ZPoint.IsValid возвращает True, то ZPoint содержит координаты преобразованной точки. В противном случае метод возвращает пустой объект.

В отличие от метода ConvertPoint, может использоваться в VB Script.

Пример:

Dim pt As ZPoint
Dim crs1 As CRS
Dim crs2 As CRS

Set crs1 = New CRS
Set crs2 = New CRS
'Широта/долгота WGS 84
crs1.InitByCode "EPSG:4326"

'Сферический Меркатор
crs2.InitByCode"EPSG:3857"

Dim X As Double
Dim Y As Double

'Преобразуем точку из одной системы координат в другую
Set pt = crs1.GetConvertPoint 60, 30, crs2

'Проверяем результат
If pt.IsValid = False Then
  MsgBox "Ошибка преобразования"
End If


GetDatum method (CRS)

Возвращает объект IDatum, соответствующий данной системе координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function GetDatum() As IDatum


GetDatumCode method (CRS)

Возвращает код датума данной системы координат из набора констант eDatum.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function GetDatumCode() As eDatum


GetForward method (CRS)

Проецирование точки земной поверхности, заданной широтой и долготой, в координаты на плоскости в соответствии с параметрами проекции данной системы координат (прямое преобразование).

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function GetForward(Lat As Double, Lon As Double) As ZPoint

Lat - широта точки земной поверхности в градусах.

Lon - долгота точки земной поверхности в градусах

Описание:

Метод возвращает объект ZPoint. Если метод ZPoint.IsValid возвращает True, то ZPoint содержит координаты точки проекции. В противном случае метод возвращает пустой объект.

В отличие от метода Forward, может использоваться в VB Script.

Пример:

Dim crs As CRS
Dim pt As ZPoint

Set crs = New CRS

'Сферический Меркатор
crs.InitByCode"EPSG:3857"

'Проецируем точку на глобусе в указанную проекцию
Set pt = crs.GetForward( 60, 30 )

'Проверяем результат
If pt.IsValid = False Then
    MsgBox "Ошибка преобразования"
End If


GetInverse method (CRS)

Определение широты и долготы точки на земной поверхности, по ее координатам проекции на плоскость в соответствии с параметрами проекции данной системы координат (обратное преобразование).

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function GetInverse(X As Double, Y As Double) As ZPoint

X - х-координатa точки проекции в метрах.

Y - у-координатa точки проекции в метрах.

Описание:

Метод возвращает объект ZPoint. Если метод ZPoint.IsValid возвращает True, то ZPoint содержит географические координаты точки. В противном случае метод возвращает пустой объект.

В отличие от метода Inverse, может использоваться в VB Script.

Пример:

Dim crs As CRS
Dim pt As ZPoint

Set crs = New CRS

'Сферический Меркатор
crs.InitByCode"EPSG:3857"

'Получаем географические координаты для  точки проекции
Set pt = crs.GetInverse( 8399737.88, 3339584.72 )

'Проверяем результат
If pt.IsValid = False Then
    MsgBox "Ошибка преобразования"
End If


InitByCode method (CRS)

Устанавливает систему координат по заданному строковому коду.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function InitByCode(sCRS As String) As Long

sCRS - строковый код проекции.

Описание:

Строковый код системы координат представляет собой код по классификатору EPSG (European Petroleum Survey Group). Строка формируется из префикса EPSG: и числового кода. Если заданный код распознается системой, объект CRS инициализируется параметрами системы координат, соответствующей этому коду и метод возвращает 0. В противном случае метод возвращает -1.

Пример:

Dim crs1 as CRS
Dim crs2 as CRS

'Создаем объекты
Set crs1 = New CRS
Set crs2 = New CRS

'Задаем для первого объекта систему координат WGS 84 Lat\Lon
crs1.InitByCode("EPSG:4326")

'Задаем для второго объекта систему координат Spherical Mercator
crs1.InitByCode("EPSG:3857")


Inverse method (CRS)

Определение широты и долготы точки на земной поверхности, по ее координатам проекции на плоскость в соответствии с параметрами проекции данной системы координат (обратное преобразование).

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function Inverse(X As Double, Y As Double, Lat As Double, Lon As Double) As Long

X, Y - координаты точки проекции в метрах.

Lat, Lon - широта и долгота точки земной поверхности в градусах.

Описание:

Если преобразование прошло успешно, метод возвращает 0 и записывает результат в переменные Lat, Lon. В противном случае метод возвращает -1.


K0 property (CRS)

Возвращает\устанавливает масштабный коэффициент (scale factor) системы координат для ряда проекций.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property K0 As Double


Lat0 property (CRS)

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

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property Lat0 As Double


Lat1 property (CRS)

Возвращает\устанавливает значение первой стандартной широты системы координат для ряда проекций в градусах.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property Lat1 As Double


Lat2 property (CRS)

Возвращает\устанавливает значение второй стандартной широты системы координат для ряда проекций в градусах.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property Lat2 As Double


Lon0 property (CRS)

Возвращает\устанавливает значение центрального меридиана системы координат для ряда проекций в градусах.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property Lon0 As Double


Projection property (CRS)

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

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property Projection As IProjection

read-only


ProjectionType property (CRS)

Возвращает\устанавливает тип проекции системы координат из набора поддерживаемых системой проекций eProjectionType.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Property ProjectionType As eProjectionType


SetDatum method (CRS)

Устанавливает датум для данной системы координат.

Применяется к:

CRS

Синтаксис:

Visual Basic:

Sub SetDatum(datum As IDatum)

datum - устанавливаемый датум.


SetDatumCode method (CRS)

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

Применяется к:

CRS

Синтаксис:

Visual Basic:

Function SetDatumCode(Code As eDatum) As Boolean

Code - код датума.


CustomBlobObject

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

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

Методы:

Методы

OnCustomBlobGet

OnCustomBlobIsNull

Описание:

Объект CustomBlobObject - произвольный объект, который используется для программной обработки полей типа BLOB. Имя CustomBlobObject лишь шаблон, настоящее имя объекта может быть любым. ProgID этого объекта указывается в теге "(customblobobject)" в свойствах поля визуального запроса.

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

Также, в качество подобного объекта может выступать объект CustomBrowseObject. Для этого в свойствах поля должен быть задан тег "(custombrowseobject)" с указанием ProgID этого объекта, а также добавлен дополнительный тег "(customblob)". Это позволит объекту обрабатывать и данные BLOB, и кнопку "многоточие" для отображения и редактирования этих данных.

Для того, чтобы ZuluGIS могла получить данные, относящиеся к конкретной записи, объект должен иметь метод OnCustomBlobGet.

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

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


OnCustomBlobGet

Метод, вызываемый у объекта CustomBlobObject для получения данных BLOB.

Применяется к:

CustomBlobObject

Синтаксис:

// Visual Basic
Function OnCustomBlobGet(VisualQuery As Object, DataSet As Object, Index As Long)

VisualQuery - объект IZbVisualQuery, представляющий визуальный запрос, по которому получены данные из СУБД.

DataSet - объект IZbDataset.

Index - номер поля в ответе, для которого запрашиваются данные.

Описание:

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

Актуальные данные ответа представлены объектом DataSet, который спозиционирован на нужную запись.

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

Номер поля, для которого нужно предоставить данные указан в параметре Index, начиная с 0.

Метод должен сформировать данные BLOB и вернуть их в виде значения VARIANT. Для бинарных данных возвращаемое значение VARIANT может содержать либо safearray c типом VT_UI1, либо объект IStream. Для текстовых данных возвращаемое значение может содержать текстовую строку.


OnCustomBlobIsNull

Метод, вызываемый у объекта CustomBlobObject для выяснения наличия или отсутствия данных для указанного поля в записи ответа.

Применяется к:

CustomBlobObject

Синтаксис:

// Visual Basic
Function OnCustomBlobIsNull(VisualQuery As Object, DataSet As Object, Index As Long) As Boolean

VisualQuery - объект IZbVisualQuery, представляющий визуальный запрос, по которому получены данные из СУБД.

DataSet - объект IZbDataset.

Index - номер поля в ответе, для которого запрашивается информация.

Описание:

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

Данные ответа представлены объектом DataSet, который спозиционирован на нужную запись.

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

Номер поля, для которого анализируются данные указан в параметре Index, начиная с 0.

Метод должен вернуть True, если данные для указанного поля пусты (т. е. NULL), иначе нужно вернуть False.


CustomBrowseObject

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

Методы:

Методы

CustomBrowseMethod

Описание:

Объект CustomBrowseObject - произвольный объект, который используется для обработки кнопки "многоточие" на странице Текущая запись в браузере базы данных. Имя CustomBrowseObject лишь шаблон, настоящее имя объекта может быть любым. ProgID этого объекта указывается в теге "(custombrowseobject)" в свойствах поля.

По нажатию на "многоточие" ZuluGIS создает объект с указанным ProgID и вызывает метод CustomBrowseMethod, заданный тегом "(custombrowsemethod)" и имеющий строго определённый формат.


CustomBrowseMethod

Метод, вызываемый в браузере базы данных по нажатию кнопки "многоточие".

Применяется к:

CustomBrowseObject

Синтаксис:

// Visual Basic
Sub CustomBrowseMethod(hWnd As Long, lpRectForm As Long, Db As Object, Form As Object, nRow As Long, CustomParams)

hWnd - дескриптор окна-родителя, представленный в виде целого числа Long.

lpRectForm - ссылка на прямоугольник окошка, где произошло нажатие.

Db - объект ZbDatabase, представляющий открытую в браузере базу данных.

Form - объект IZbStdBrowseForm.

nRow - индекс строки формы (начиная с 0).

CustomParams - дополнительные данные (зарезервировано).

Описание:

Имя CustomBrowseMethod - шаблон, настоящее имя метода может быть любым. Это имя указывается в теге "(custombrowsemethod)" в свойствах поля визуального запроса.

По нажатию на "многоточие" ZuluGIS создает объект CustomBrowseObject и вызывает данный метод.

В параметре hWnd передается дескриптор (HWND) окна-родителя (браузера) в виде числа Long. Этот дескриптор можно использовать при показе всплывающих окон пользовательского интерфейса.

lpRectForm - ссылка на четыре числа Long, задающих прямоугольник (left, top, right, bottom), который может быть использован для позиционирования всплывающих окон относительно строки Текущей записи в браузере, где нажали на многоточие.

В параметре Db передаётся объект ZbDatabase, представляющий открытую в браузере базу данных.

В параметре Form передаётся объект IZbStdBrowseForm, который предоставляет доступ к стандартной форме на странице Текущая запись. Через этот объект можно получать и устанавливать значения полей формы.

Параметр nRow указывает на какой строке Текущей записи было нажато многоточие.


CustomData object

Объект для работы с пользовательскими данными, ассоциированными с данным слоем. Объект возвращается как свойство слоя Layer.CustomData.

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

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

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

OwnerLayer

Commit

DeleteItem

DeleteItemData

DeleteItemNumber

DeleteItemString

GetIndexByName

GetItemData

GetItemFlags

GetItemName

GetItemNumber

GetItemString

PutItemData

PutItemNumber

PutItemString


Commit method (CustomData)

Сохраняет в слое все изменения, произведенные ранее методами объекта CustomData.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function Commit() As Boolean

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


Count property (CustomData)

Возвращает количество наборов дополнительных данных из коллекции CustomData

Применяется к:

CustomData

Синтаксис:

Property Count As Long

read-only


DeleteItem method (CustomData)

Удаляет весь набор дополнительных данных слоя с указанным порядковым номером.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function DeleteItem(Index As Long ) As Boolean

Index - номер (нумерация от нуля).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


DeleteItemData method (CustomData)

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

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function DeleteItemData(Index As Long ) As Boolean

Index - номер (нумерация от нуля).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


DeleteItemNumber method (CustomData)

Удаляет из набора дополнительных данных слоя с указанным порядковым номером числовое значение, если он в наборе присутствует.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function DeleteItemNumber(Index As Long ) As Boolean

Index - номер (нумерация от нуля).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


DeleteItemString method (CustomData)

Удаляет из набора дополнительных данных слоя с указанным порядковым номером строковое значение, если оно в наборе присутствует.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function DeleteItemString(Index As Long ) As Boolean

Index - номер (нумерация от нуля).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


GetIndexByName method (CustomData)

Возвращает порядковый номер набора дополнительных данных слоя с указанным строковым идентификатором.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function GetIndexByName( Name As String ) As Long

Name - строковый идентификатор набора данных.

Описание:

Если набор данных с указанным строковым идентификатором не найден, метод возвратит -1.


GetItemData method (CustomData)

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

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function GetItemData(Index As Long, Stream As Unknown) As Boolean

Stream - интерфейс IStream, передаваемый как IUnknown Index - номер (нумерация от нуля).

Описание:

При наличии в наборе блока данных, число, возвращаемое методом GetItemFlags должно сдержать флаг ecdfFile (8)

Если операция прошла успешно, метод возвращает True, и запрашиваемые данные записываются в Stream, в противном случае метод возвращает False.


GetItemFlags method (CustomData)

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

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function GetItemFlags( Index As Long ) As Long

Index - номер (нумерация от нуля).

Описание:

Пока набор дополнительных данных слоя может содержать следующие типы:

ecdfNumber = 1 - числовое значение.

ecdfString = 2 - строковое значение.

ecdfFile = 8 - произвольный блок данных, хранимый в виде файла.


GetItemName method (CustomData)

Возвращает значение строкового идентификатора для набора дополнительных данных слоя с указанным порядковым номером.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function GetItemName( Index As Long ) As String

Index - номер (нумерация от нуля).


GetItemNumber method (CustomData)

Возвращает числовое значение из набора дополнительных данных слоя с указанным порядковым номером.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function GetItemNumber( Index As Long) As Double

Index - номер (нумерация от нуля).

Описание:

При наличии в наборе числового значения, число, возвращаемое методом GetItemFlags должно сдержать флаг ecdfNumber (1).


GetItemString method (CustomData)

Возвращает строковое значение из набора дополнительных данных слоя с указанным порядковым номером.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function GetItemString( Index As Long) As String

Index - номер (нумерация от нуля).

Описание:

При наличии в наборе числового значения, число, возвращаемое методом GetItemFlags должно сдержать флаг ecdfString (2).


OwnerLayer property (CustomData)

Возвращает объект Layer у которого был получен объект CustomData.

Применяется к:

CustomData

Синтаксис:

Property OwnerLayer As Layer

read-only


PutItemData method (CustomData)

Записывает блок данных в набор дополнительных данных слоя с указанным строковым идентификатором.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function PutItemData( ItemName As String, Stream As Unknown, Flags As Long) As Boolean

ItemName - строковый идентификатор набора данных Stream - интерфейс IStream, передаваемый как IUnknownFlags - зарезервировано, должно быть 0.

Описание:

Если операция прошла успешно, метод возвращает True, в противном случае метод возвращает False.

Если до вызова метода набор с указанным строковым идентификатором в коллекции наборов данных отсутствовал, то коллекция будет дополнена новым набором.

Если до вызова метода в наборе уже существовал блок данных, он будет заменен на новый.

Все изменения вступают в силу только после вызова метода Commit.


PutItemNumber method (CustomData)

Записывает числовое значение в набор дополнительных данных слоя с указанным строковым идентификатором.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function PutItemNumber( ItemName As String, Number As Double, Flags As Long) As Boolean

ItemName - строковый идентификатор набора данных.

Number - записываемое числовое значение Flags - зарезервировано, должно быть 0.

Описание:

Если операция прошла успешно, метод возвращает True, в противном случае метод возвращает False.

Если до вызова метода набор с указанным строковым идентификатором в коллекции наборов данных отсутствовал, то коллекция будет дополнена новым набором.

Если до вызова метода числовое значение в наборе уже существовало, оно будет заменено на новое.

Все изменения вступают в силу только после вызова метода Commit.


PutItemString method (CustomData)

Записывает строковое значение в набор дополнительных данных слоя с указанным строковым идентификатором.

Применяется к:

CustomData

Синтаксис:

Visual Basic:

Function PutItemString( ItemName As String, StrValue As String, Flags As Long) As Boolean

ItemName - строковый идентификатор набора данных.

StrValue - записываемое строковое значениеFlags - зарезервировано, должно быть 0.

Описание:

Если операция прошла успешно, метод возвращает True, в противном случае метод возвращает False.

Если до вызова метода набор с указанным строковым идентификатором в коллекции наборов данных отсутствовал, то коллекция будет дополнена новым набором.

Если до вызова метода строковое значение в наборе уже существовало, оно будет заменено на новое.

Все изменения вступают в силу только после вызова метода Commit.


Document object

Представляет документ системы Zulu. Входит как элемент в коллекцию Documents. Текущий активный документ можно получить через свойство Zulu.ActiveDocument.

Входит в состав библиотеки ZuluGIS 2021 Application.

Свойства и методы:

Свойства

Методы

События

Active

ActiveWindow

FullName

Name

NativeDoc

Path

Saved

Title

Type

Windows

Activate

Close

Save

SaveAs

OnActivate

OnClose

OnDeactivate


Activate method (Document)

Делает документ текущим активным документом. Окно документа становится активным, получает фокус ввода и откликается на команды меню и кнопок инструментов. Если документ уже является активным, метод ничего не делает.

Применяется к:

Document

Синтаксис:

Visual Basic:

Sub Activate()

Пример:

Sub ShowThermoNet()
    ' Документ ThermoNet.zmp должен быть открыт,
    ' но при этом не быть активным
    Zulu.Documents("ThermoNet.zmp").Activate
End Sub


Active property (Document)

Определяет, является ли документ текущим активным документом. Активный документ - тот, чьё окно также является активным, получает фокус ввода и откликается на команды инструментов и меню.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property Active As Boolean

read-only

Описание:

Свойство возвращает True, если документ является текущим активным документом, иначе - False. Чтобы сделать документ активным, воспользуйтесь методом Activate.


ActiveWindow property (Document)

Возвращает объект Window, соответствующий текущему активному окну для данного документа.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property ActiveWindow As Window

read-only

Описание:

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


Close method (Document)

Закрывает документ. При необходимости сохраняет изменения.

Применяется к:

Document

Синтаксис:

Visual Basic:

Function Close([SaveOption As eSaveOption]) As Boolean

SaveOption - определяет, надо ли сохранять изменения. Возможные значения перечислены в наборе eSaveOption.

Описание:

Метод закрывает все окна указанного документа. В зависимости от параметра SaveOption изменения в документе могут быть сохранены. Если документ успешно закрыт, метод вернет True, иначе (данные не удалось сохранить, пользователь отказался закрывать несохраненный документ) - False.


FullName property (Document)

Возвращает имя документа, включая путь.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property FullName As String

read-only

Описание:

Если документ сохранен в файле, свойство FullName возвращает полное имя этого файла, включая путь (например «C:\Users\Administrator\Documents\MyMap.zmp» или «zulu://myserver/Termo/Kvartal/TeploNet.zmp»), иначе свойство вернет название документа (например «Карта1»).


Name property (Document)

Возвращает имя документа.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property Name As String

read-only

Описание:

Если документ сохранен в файле, свойство Name возвращает имя этого файла, (например «TeploNet.zmp»), иначе свойство возвращает пользовательское название документа (например, «Карта1»).


NativeDoc property (Document)

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

Применяется к:

Document

Синтаксис:

Visual Basic:

Property NativeDoc As Object

read-only

Описание:

Свойство предоставляет доступ к свойствам и методам «реального» документа, управляемого объектом Document. Например, если документ - карта, свойство NativeDoc возвращает объект MapDoc. Тип документа можно выяснить с помощью свойства Document.Type.

Пример:

Sub ShowActiveLayer()
Dim Doc As Document
Dim Map As MapDoc
Set Doc = Zulu.ActiveDocument
If Doc.Type = eMapDoc Then
    Set Map = Document.NativeDoc
    If Map.Layers.Count > 0 Then
        MsgBox "Active layer is: " + Map.Layers.Active.UserName
    End If
End If
End Sub


OnActivate event (Document)

Событие возникает когда документ становится активным.

Применяется к:

Document

Синтаксис:

Visual Basic:

Event OnActivate(Deactivated As Document)

Deactivated - документ, который был активным до этого момента.


OnClose event (Document)

Возникает при закрытии документа.

Применяется к:

Document

Синтаксис:

Visual Basic:

Event OnClose()


OnDeactivate event (Document)

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

Применяется к:

Document

Синтаксис:

Visual Basic:

Event OnDeactivate(Activated As Document)

Activated - документ, которому передается фокус ввода (он, в свою очередь, станет активным).


Path property (Document)

Возвращает путь к документу.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property Path As String

read-only

Описание:

Если документ сохранен в файле, то свойство Path возвращает путь, где располагается этот файл (например «C:\Users\Administrator\Documents» или «zulu://myserver/Examples»), иначе свойство возвращает пустую строку.


Save method (Document)

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

Применяется к:

Document

Синтаксис:

Visual Basic:

Function Save() As Boolean

Описание:

Метод сохраняет документ, если он новый или был изменен. Поведение приложения при этом будет аналогично вызову команды меню Файл >Сохранить. Если документ новый, то будет предложено выбрать файл, в котором его сохранить.

В случае успеха метод возвращает True, иначе - False. Если документ не был изменен, и сохранение не требуется, метод также вернет True.


SaveAs method (Document)

Сохраняет документ в указанном файле.

Применяется к:

Document

Синтаксис:

Visual Basic:

Function SaveAs(FileName As String, [bCopy As Boolean]) As Boolean

FileName - имя файла, в котором следует сохранить документ.

bCopy - определяет, что сохраняется копия документа или сохраняется документ под другим именем.

Описание:

Метод сохраняет документ в указанном файле FileName. Если параметр bCopy равен True, то сохраняется копия документа и имя документа не меняется. Иначе, если bCopy равен False, документ сохраняется под новым именем и соответствующее документу имя меняется на FileName.

Если параметр FileName содержит пустую строку, то программа выдаст диалог выбора файла. В этом случае поведение метода будет аналогично команде меню Файл > Cохранить как (или Файл > Cохранить копию как, если параметр bCopy равен True).

В случае успеха метод возвращает True, иначе - False.


Saved property (Document)

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

Применяется к:

Document

Синтаксис:

Visual Basic:

Property Saved As Boolean

read-only

Описание:

Если документ не был изменен свойство возвращает True, иначе - False.


Title property (Document)

Возвращает название документа.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property Title As String

Описание:

Если документ сохранен в файле, свойство Title возвращает имя этого файла без расширения (например для файла «TeploNet.zmp» свойство вернет «TeploNet»), иначе свойство возвращает пользовательское название документа (например «Карта1»).


Type property (Document)

Возвращает тип документа. Возможные значения перечислены в наборе констант eDocType. Для карты свойство возвращает eMapDoc.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property Type As eDocType

read-only


Windows property (Document)

Возвращает коллекцию объектов Window, представляющих окна приложения Zulu.

Применяется к:

Document

Синтаксис:

Visual Basic:

Property Windows As IWindows

read-only


Documents collection

Представляет коллекцию объектов Document, которые соответствуют документам, открытым в Zulu.

Входит в состав библиотеки ZuluGIS 2021 Application.

Свойства и методы:

Свойства

Методы

Active

Count

Item

Add

CloseAll

SaveAll


Active property (Documents)

Возвращает текущий активный документ.

Применяется к:

Documents

Синтаксис:

Visual Basic:

Property Active As Document

read-only

Описание:

Если коллекция документов не пуста, то свойство Active возвращается текущий активный документ, иначе NULL. Эквивалентно свойству ActiveDocument объекта Zulu.


Add method (Documents)

Добавляет новый пустой документ.

Применяется к:

Documents

Синтаксис:

Visual Basic:

Function Add([DocumentType], [Visible]) As Document

DocumentType - тип документа.

Visible - определяет, показывать или нет окно документа.

Описание:

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

Тип документа определяется параметром DocumentType. Если не указан или имеет значение eMapDoc, то будет создаваться новая карта.

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


CloseAll method (Documents)

Закрывает все открытые документы. При необходимости сохраняет изменения.

Применяется к:

Documents

Синтаксис:

Visual Basic:

Function CloseAll([SaveOption As eSaveOption]) As Boolean

SaveOption - определяет, надо ли сохранять изменения. Возможные значения перечислены в наборе eSaveOption.

Описание:

Метод закрывает все окна открытых документов. В зависимости от параметра SaveOption изменения в документах могут быть сохранены.

В случае успеха, метод вернет True, иначе (данные не удалось сохранить, пользователь отказался закрывать какой-либо несохраненный документ) - False.


Count property (Documents)

Возвращает количество элементов в коллекции.

Применяется к:

Documents

Синтаксис:

Visual Basic:

Property Count As Integer

read-only


Item property (Documents)

Возвращает объект Document из коллекции по индексу.

Применяется к:

Documents

Синтаксис:

Visual Basic:

Property Item(Index As Integer) As Document

read-only


SaveAll method (Documents)

Сохраняет изменения во всех открытых документах.

Применяется к:

Documents

Синтаксис:

Visual Basic:

Function SaveAll() As Boolean

Описание:

Метод сохраняет изменения во всех открытых документах. Документы, которые не помечены как измененные, пропускаются.

В случае успеха метод вернет True, иначе (если какой-то документ не сохранился, пользователь отменил операцию) - False.


DxfImportInfo object

Объект для задания параметров импорта данных из формата DXF.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

GetSplitToLayers

SetSplitToLayers


GetSplitToLayers method (DxfImportInfo)

Возвращает признак разделения данных на слои при импорте из DXF.

Применяется к:

ExportInfoParams

Синтаксис:

Visual Basic:

Function GetSplitToLayers() As Boolean


SetSplitToLayers method (DxfImportInfo)

Устанавливает признак разделения данных на слои при импорте из DXF.

Применяется к:

ExportInfoParams

Синтаксис:

Visual Basic:

Sub GetSplitToLayers(bVal As Boolean)


EditGrid object

Представляет набор свойств сетки редактора карты MapDoc.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Angle

Color

OffsetX, OffsetY

OffsetX

OffsetY

SnapTo

StepX, StepY

StepX

StepY

Visible


Angle property (EditGrid)

Возвращает/устанавливает угол поворота сетки редактора.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property Angle As Double


Color property (EditGrid)

Возвращает/устанавливает цвет сетки в формате RGB.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property Color As Long

Пример:

'Цвет сетки - черный
MapCtrl1.Map.EditGrid.Color = 0

'Вывести сетку на экран
MapCtrl1.Map.EditGrid.Visible = True


OffsetX, OffsetY properties (EditGrid)

Возвращают/устанавливают координату опорной точки сетки редактора.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property OffsetX As Double

Property OffsetY As Double

Описание:

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


OffsetX property (EditGrid)

Возвращают координату по оси X опорной точки сетки редактора в сантиметрах.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property OffsetX() As Double

read only

Пример:

Sub OffsetX
'Получаем активную карту
Set L = Zulu.ActiveMapDoc
'Выводим координату опорной точки
MsgBox(L.EditGrid.OffsetX)
End Sub


OffsetY property (EditGrid)

Возвращают координату по оси Y опорной точки сетки редактора в сантиметрах.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property OffsetY() As Double

read only

Пример:

Sub OffsetY
'Получаем активную карту
Set L = Zulu.ActiveMapDoc
'Выводим координату опорной точки
MsgBox(L.EditGrid.OffsetY)
End Sub


SnapTo property (EditGrid)

Устанавливает/возвращает признак привязки вводимых координат объектов к узлам сетки редактора.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property SnapTo As Boolean


StepX, StepY properties (EditGrid)

Возвращают/устанавливают величину шага сетки по оси X и Y соответственно.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property StepX As Double

Property StepY As Double


StepX property (EditGrid)

Возвращают величину шага сетки по оси X в сантиметрах.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property StepX() As Double

read only

Пример:

Sub StepX
'Получаем активную карту
Set L = Zulu.ActiveMapDoc
'Выводим  величину шага сетки
MsgBox(L.EditGrid.StepX)
End Sub


StepY property (EditGrid)

Возвращают величину шага сетки по оси Y в сантиметрах.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property StepY() As Double

read only

Пример:

Sub StepY
'Получаем активную карту
Set L = Zulu.ActiveMapDoc
'Выводим  величину шага сетки
MsgBox(L.EditGrid.StepY)
End Sub


Visible property (EditGrid)

Возвращает/устанавливает признак отображения сетки редактора на карте.

Применяется к:

EditGrid

Синтаксис:

Visual Basic:

Property Visible As Boolean

Пример:

'Цвет сетки - черный
MapCtrl1.Map.EditGrid.Color = 0

'Вывести сетку на экран
MapCtrl1.Map.EditGrid.Visible = True


Element object

Представляет графический объект (элемент), входящий в слой системы Zulu. Является элементом (item) коллекции Elements.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Angle

Area

BasePoint

Contour

CurrentElemStyle

ElemStyle

ElemText

GraphType

Key

Length

Mode

ModeID

Perimeter

Points

PolyContour

PolyLine

PolyPolyLine

Type

TypeID

CalcArea

CalcDistance

CalcLength

ChangeDirection

ChangeTypeMode

ChangeTypeMode

ConvertToPolygon

ConvertToPolyline

ConvertToSymbol

DoChangeObjectState

GetBounds

GetBoundsRectangle

GetCenter

GetRaster

GetXY

GetZ

InsertNode

Move

MoveNode

MoveToXY

ReRead

ReverseSegment

Rotate

SetContour

SetPolyContour

SetPolyLine

SetPolyPolyLine

SetRaster

SetRaster

Shift

SimplifyGeometry

SplitToLineSegments

Описание:

Каждый элемент в пределах слоя имеет уникальный идентификатор (ID) или ключ Key. Кроме того, каждый элемент характеризуется графическим типом GraphType, стилем отображения ElemStyle, текущим стилем отображения CurrentElemStyle. Элемент может отображать тот или иной режим Mode соответствующего типа Type из структуры слоя.


Angle property (Element)

Возвращает/устанавливает угол поворота символьного или текстового объекта.

Применяется к:

Element

Синтаксис:

Property Angle As Double


Area property (Element)

Возвращает площадь объекта.

Применяется к:

Element

Синтаксис:

Property Area As Double

read-only

Описание:

Значение площадь возвращается в квадратных метрах.

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

Если данные слоя хранятся в широте/долготе, свойство возвращает площадь объекта на сфероиде.


BasePoint method (Element)

Возвращает одну из вершин векторного объекта.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property BasePoint As ZPoint

Описание:

Для текстового и символьного типа объектов возвращается точка привязки объекта.

Для поли-полилинии возвращается координата первой вершины первой полилинии.

Для поли-полигона возвращается координата первой вершины первого полигона.


CalcArea method (Element)

Возвращает площадь объекта в указанной системе координат.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function CalcArea(inCRS As CRS, eMeasure As eMeasureType) As Double

inCRS - система координат в которой вычисляется площадь.

eMeasure - способ вычисления площади (в прямоугольной системе или на сфероиде).

Описание:

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


CalcDistance method (Element)

Возвращает расстояние от элемента до другого указанного объекта.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function CalcDistance(inObject As Dispatch, eMeasure As eMeasureType) As Double

inObject - объект, до которого измеряется расстояние.

eMeasure - способ вычисления расстояния (в проекции или на сфероиде).

Описание:

Функция измеряет расстояние между двумя объектами на местности. Первым объектом является сам Element. Второй объект задается параметром inObject и может принимать следующие типы объектов:

Element

ZPoint

Contour

PolyContour

PolyLine

PolyPolyLine


CalcLength method (Element)

Возвращает длину объекта в указанной системе координат.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function CalcLength(inCRS As CRS, eMeasure As eMeasureType) As Double

inCRS - система координат в которой вычисляется длина.

eMeasure - способ вычисления длины (в прямоугольной прямоугольной системе или на сфероиде).

Описание:

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


ChangeDirection method (Element)

Изменяет направление ввода линейного объекта

Применяется к:

Element

Синтаксис:

Sub ChangeDirection()


ChangeTypeMode method (Element)

Присваивает элементу новые значения типа и/или режима.

Применяется к:

Element

Синтаксис:

Function ChangeTypeMode(TypeID As Long, ModeId As Long) As Boolean

TypeID - ID типа.

ModeId - номер режима.


Contour property (Element)

Возвращает объект Contour, если объект слоя является контурным объектом.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property Contour As Contour

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

770

Неправильный графический тип. Элемент не является площадным объектом (полигональным или растровым).

Пример:

'Получение площади объекта текущего элемента активного слоя
Dim S As Double

S = MapCtrl1.Map.Layers.Active.Elements(MapCtrl1.CurrentID).Contour.Square


ConvertToPolygon method (Element)

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

Применяется к:

Element

Синтаксис:

Visual Basic:

Function ConvertToPolygon(Style As ElemStyle, ElemType As Long, ElemMode As Long, Delta As Double) As Long

Style - объект, описывающий стиль полигона.

ElemType - номер типа полигона.

ElemMode - номер режима полигона.

Delta - окрестность для замыкания концов ломаной в метрах.

Описание:

В случае успеха, метод вернет 0 и поменяет все линейные объекты в полигоны, в противном случае, метод вернет -1. Можно преобразовывать как в примитив, так и в определенный тип с режимом. При преобразовании в примитив, ElemType и ElemMode должны быть равны значению -1 (как во втором примере).

Пример 1:

'преобразуем в тип
Sub Element_ConvertToPolygon
Set L = Zulu.ActiveMapDoc.Layers.Active
ID = L.CurrentID
Set obj = L.Elements.GetElement(ID)
'превращает линию в полигон c типом 2, режимом 1 и дельтой в 1 метр
output = obj.ConvertToPolygon(Nothing, 2, 1, 1)
'выводим результат операции
MsgBox(output)
End Sub

Пример 2:

'преобразуем в приметив
Sub Element_ConvertToPolygon
Set L = Zulu.ActiveMapDoc.Layers.Active
ID = L.CurrentID
Set obj = L.Elements.GetElement(ID)
'создаем объект Стиля объекта
Set st = CreateObject ("ZuluLib.ElemStyle")
'задаем красный цвет узора
st.PatColor = 255
'превращает линию в полигон примитив с заданым стилем и дельтой в 1 метр
output = obj.ConvertToPolygon(st, -1, -1, 1)
'выводим результат операции
MsgBox(output)
End Sub


ConvertToPolyline method (Element)

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

Применяется к:

Element

Синтаксис:

Visual Basic:

Function ConvertToPolyline(Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long

Style - объект, описывающий стиль линии.

ElemType - номер типа линии.

ElemMode - номер режима линии.

Описание:

В случае успеха, метод вернет 0 и поменяет все контуры площадного объекта в линии, которые будут является единый объектом, в противном случае, метод вернет -1. Можно преобразовывать как в примитив, так и в определенный тип с режимом. При преобразовании в примитив, ElemType и ElemMode должны быть равны значению -1 (как в первом примере).

Пример 1:

'преобразуем в приметив
Sub Element_ConvertToPolyline
Set L = Zulu.ActiveMapDoc.Layers.Active
ID = L.CurrentID
Set obj = L.Elements.GetElement(ID)
'создаем объект Стиля объекта
Set st = CreateObject ("ZuluLib.ElemStyle")
'задаем красный цвет
st.LineColor = 255
'превращает полигон в линии примитив с заданным стилем
output = obj.ConvertToPolyline(st, -1, -1)
'выводим результат операции
MsgBox(output)
End Sub

Пример 2:

'преобразаем в определенный тип и режим
Sub Element_ConvertToPolyline
Set L = Zulu.ActiveMapDoc.Layers.Active
ID = L.CurrentID
Set obj = L.Elements.GetElement(ID)
'превращает полигон в линии типа 3 и режимом 1
output = obj.ConvertToPolyline(Nothing, 3, 1)
'выводим результат операции
MsgBox(output)
End Sub


ConvertToSymbol method (Element)

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

Применяется к:

Element

Синтаксис:

Visual Basic:

Function ConvertToSymbol(Style As ElemStyle, ElemType As Long, ElemMode As Long, flags As Long) As Long

Style - объект, описывающий стиль символа.

ElemType - номер типа символа.

ElemMode - номер режима символа.

flags - зарезервирован, должен быть 0.

Описание:

В случае успеха, метод вернет 0 и создаст символ по середине преобразуемого объекта, в противном случае, метод вернет -1. Можно преобразовывать как в примитив, так и в определенный тип с режимом. При преобразовании в примитив, ElemType и ElemMode должны быть равны значению -1, также стиль объекта должен указывать на ID символа (как в первом примере).

Пример 1:

'преобразуем в приметив
Sub Element_ConvertToSymbol
Set L = Zulu.ActiveMapDoc.Layers.Active
ID = L.CurrentID
Set obj = L.Elements.GetElement(ID)
'создаем объект Стиля объекта
Set st = CreateObject ("ZuluLib.ElemStyle")
'задаем ID символа и его размер
st.SymbolID = 1
st.SymbolSize = 100
'превращает полигон/линию в символьный приметив с заданным стилем
output = obj.ConvertToSymbol( st, -1, -1, 0)
'выводим результат операции
MsgBox(output)
End Sub

Пример 2:

'преобразуем в типовой символ
Sub Element_ConvertToSymbol
Set L = Zulu.ActiveMapDoc.Layers.Active
ID = L.CurrentID
Set obj = L.Elements.GetElement(ID)
'превращает полигон/линию в символьные объекты с типом 2 и режимом 3
output = obj.ConvertToSymbol(Nothing, 2, 3, 0)
'выводим результат операции
MsgBox(output)
End Sub


CurrentElemStyle property (Element)

Возвращает текущие параметры отображения элемента через объект ElemSyle.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property CurrentElemStyle As ElemStyle

read-only

Синтаксиc:

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


DoChangeObjectState method (Element)

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

Применяется к:

Element

Синтаксис:

Sub DoChangeObjectState()

Описание:

Диалог вызывается только в том случае, если объект является типовым объектом слоя.


ElemStyle property (Element)

Возвращает/задает параметры отображения элемента через объект ElemSyle.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property ElemStyle As ElemStyle


ElemText property (Element)

Возвращает/устанавливает текст текстового объекта.

Применяется к:

Element

Синтаксис:

Property ElemText As String

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

770

Неправильный графический тип. Элемент не является текстовым объектом.


GetBounds method (Element)

Возвращает габариты объекта слоя.

Применяется к:

Element

Синтаксис:

Visual Basic:

Sub GetBounds(X1 As Double, Y1 As Double,X2 As Double, Y2 As Double, IgnoreOrientation As Boolean)

X1, Y1 - координаты левого верхнего угла слоя.

X2, Y2 - координаты правого нижнего угла.


GetBoundsRectangle method (Element)

Возвращает объект ZRectangle, содержащий габариты слоя.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function GetBoundsRectangle(IgnoreOrientation As Boolean) As ZRectangle


GetCenter method (Element)

Возвращает объект ZPoint содержащий координаты центральной точки объекта.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function GetCenter() As ZPoint


GetRaster method (Element)

Возвращает объект ZRasterParams, содержащий параметры растрового объекта.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function GetRaster() As ZRasterParams


GetWkt method (Element)

Возвращает геометрию объекта в виде строки в формате WKT.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function GetWkt(inCRS As CRS) As String

inCRS - проекция, в которой будут записаны координаты объекта.


GetXY method (Element)

Возвращает координаты центра графического объекта.

Применяется к:

Element

Синтаксис:

Sub GetXY(X As Double, Y As Double)

X - возвращаемое значение координаты X.

Y - возвращаемое значение координаты Y.

Описание:

Положение точки, условно принимаемой за центр графического объекта, зависит от графического типа объекта.

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

Для линейного объекта центр является точкой на ломаной.

Для площадного объекта центр является точкой во внутренней области полигона.


GetZ method (Element)

Возвращает высоту точки соответствующей центру объекта, возвращаемого методом GetXY.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function GetZ() As Double

Описание:

Высоту объекта можно получить только в том случае, когда слой принадлежит какой-то карте (MapDoc), эта карта содержит слой рельефа, и центр объекта попадает внутрь области триангуляции слоя рельефа.


GraphType property (Element)

Возвращает графический тип элемента.

Применяется к:

Element

Синтаксис:

Property GraphType As eElemGraphType


InsertNode method (Element)

Добавляет новую точку перелома в полилинию или полигон линейного или площадного объекта.

Применяется к:

Element

Синтаксис:

Function InsertNode(SegNum As Long, SecNum As Long, X As Double, Y As Double) As Long

SegNum - номер сегмента (нумерация нуля).

SecNum - номер разбиваемого точкой перелома отрезка (нумерация нуля).


Key property (Element)

Возвращает значение ключа (ID) данного элемента.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property Key As Long

read-only


Length property (Element)

Возвращает длину объекта в сантиметрах.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property Length As Double

Описание:

Длина имеет смысл только для линейных объектов. Для остальных типов объектов длина будет равна 0.

Пример:

'Получение длины объекта текущего элемента активного слоя
Dim L As Double
L = MapCtrl1.Map.Layers.Active.Elements(MapCtrl1.CurrentID).Length


Mode property (Element)

Возвращает/устанавливает режим данного элемента.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property Mode As ObjectMode

Описание:

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

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

517

Неправильный тип слоя.

Пример:

Dim El As Element

'Получили текущий элемент активного слоя
Set El = MapCtrl1.Map.Layers.Active.Elements(MapCtrl1.CurrentID)
'Если объект - типовой
If El.TypeId > 0 Then
'Присваеваем элементу режим номер 3
    El.Mode = 3
'Присваеваем элементу режим с именем "Включен"
    El.Mode = "Включен"
End If


ModeID property (Element)

Возвращает номер режима данного элемента.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property ModeId As Integer

read-only

Описание:

Для всех нетиповых объектов слоя (примитивов) номер режима равен -1.


Move, MoveTo method (Element)

Перемещение и (или) поворот элемента.

Применяется к:

Element

Синтаксис:

Sub Move(X As Double, Y As Double, RedrawView As Boolean, Angle As Double, ChangeAngle As Boolean)

Sub MoveToXY(X As Double, Y As Double, RedrawView As Boolean, ChangeAngle As Boolean)

X, Y - новые координаты центра элемента.

RedrawView - параметр, определяющий необходимость перестроения карты.

Angle - угол поворота элемента.

ChangeAngle - параметр, определяющий необходимость поворота элемента.

Описание:

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

MoveToXY перемещает объект в указанные координаты.


MoveNode method (Element)

Перемещение узла элемента.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function MoveNode(X As Double, Y As Double, shiftX As Double, shiftY As Double, KeepLink As Boolean, Flags As Long) As Long

X, Y - координаты перемещаемого узла.

shiftX - перемещение по оси X.

shiftY - перемещение по оси Y.

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

Flags - зарезервирован, должен быть 0.


MoveToXY method (Element)

Перемещение объекта в заданную точку.

Применяется к:

Element

Синтаксис:

Visual Basic:

Sub MoveToXY(X As Double, Y As Double, RedrawView As Boolean, ChangeAngle As Boolean)

X, Y - координаты точки, куда перемещается объект.

RedrawView - перерисовывать карту после перемещения.

ChangeAngle - изменять угол символьного объекта перпендикулярно вектору перемещения.

Описание:

Перемещение совершается так, что центр объекта переносится в заданную точку. Для символьного объекта центр объекта совпадает с точкой привязки символа. Для полигонов и полилиний центр объекта соответствует центру, возвращаемому методом GetCenter.


MoveToXYEx method (Element)

Перемещение объекта в заданную точку.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function MoveToXYEx(X As Double, Y As Double, Data As String) as Long

X, Y - координаты точки, куда перемещается объект.

Data - зарезервирован, должен быть пустой строкой .

Описание:

Перемещение совершается так, что центр объекта переносится в заданную точку. Для символьного объекта центр объекта совпадает с точкой привязки символа. Для полигонов и полилиний центр объекта соответствует центру, возвращаемому методом GetCenter.


Perimeter property (Element)

Возвращает периметр объекта.

Применяется к:

Element

Синтаксис:

Property Perimeter As Double

read-only


Points property (Element)

Возвращает коллекцию точек, которые являются вершинами геометрических объектов, составляющих элемент.

Применяется к:

Element

Синтаксис:

Property Points As Points


PolyContour property (Element)

Возвращает параметры комбинированного контурного объекта через объект PolyContour.

Применяется к:

Element

Синтаксис:

Property PolyContour As PolyContour

read-only


PolyLine property (Element)

Возвращает параметры ломаной через объект PolyLine.

Применяется к:

Element

Синтаксис:

Property PolyLine As PolyLine

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

770

Неправильный графический тип. Элемент не является линейным объектом или множеством точек.


PolyPolyLine property (Element)

Возвращает параметры комбинированной ломаной через объект PolyPolyLine.

Применяется к:

Element

Синтаксис:

Property PolyPolyLine As PolyPolyLine

read-only


ReRead method (Element)

Перезачитывает информацию по элементу.

Применяется к:

Element

Синтаксис:

Sub ReRead()


ReverseSegment method (Element)

Метод меняет направление полилинии и направление обхода у полигонов.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function ReverseSegment(SegNum As Long) As Long

SegNum - номер сегмента. Нумерация с 0.

Описание:

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

Пример:

Sub Element_ReverseSegment
Set L = Zulu.ActiveMapDoc.Layers.Active
'в ID записываем ключ текущего объекта
ID = L.CurrentID
'получаем элемент по ключу
Set obj = L.Elements.GetElement(ID)
'меняем направление сегмента 0, в output записываем результат выполнения метода
output = obj.ReverseSegment(0)
'выводим сообщение с результатом
MsgBox(output)
End Sub


Rotate method (Element)

Поворачивает объект на заданный угол.

Применяется к:

Element

Синтаксис:

Visual Basic:

Sub Rotate(Xc As Double, Yc As Double, Angle As Double, Flags As Long)

Xc, Yc - координаты центра поворота X

Angle - угол поворота в градусах против часовой стрелки

Flags - зарезервирован, должен быть 0


SetContour method (Element)

Замещает существующий площадной или линейный объект новым полигоном.

Применяется к:

Element

Синтаксис:

Sub SetContour(Cont As Contour) As Boolean

Cont - новый полигон.


SetPolyContour method (Element)

Замещает существующий площадной или линейный объект новым комбинированным контурным объектом.

Применяется к:

Element

Синтаксис:

Function SetPolyContour(PolyCont As PolyContour) As Boolean

PolyCont - новый комбинированный контурный объект.


SetPolyLine method (Element)

Замещает существующий линейный объект новой полилинией.

Применяется к:

Element

Синтаксис:

Function SetPolyLine(PolyL As PolyLine) As Boolean

PolyL - новая полилиния.


SetPolyPolyLine method (Element)

Замещает существующий линейный объект новой комбинированной полилинией.

Применяется к:

Element

Синтаксис:

Function SetPolyPolyLine(PolyL As PolyPolyLine) As Boolean

PolyL - новая комбинированная полилиния.


SetRaster method (Element)

Задает новые параметры растрового объекта слоя.

Применяется к:

Element

Синтаксис:

Visual Basic:

Function SetRaster(NewRaster As ZRasterParams) As Boolean

NewRaster - объект ZRasterParams, содержащий новые параметры растрового объекта.


ShadePolygon method (Element)

Заполняет область полигона штриховкой в виде параллельных линий с заданным шагом

Применяется к:

Element

Синтаксис:

Visual Basic:

Function ShadePolygon(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, Step As Double, flags As Long, Style As ElemStyle) As Long

X1, Y1, X2, Y2 - отрезок, задающий направление штриховки

Step - шаг штриховки

flags - зарезервирован (должен быть 0)

Style - стиль линий, заполняющих область полигона

Описание:

Шаг штриховки всегда задается в метрах. Координаты вектора, задающего направление штриховки, задаются в единицах коордтнат слоя.

Если стиль не задан (nothing), по умолчанию будут черные сплошные линии единичной толщины

Пример:

'Заполнение полигона активного слоя карты с ID=16043 линиями, параллельными первому ребру полигона
Set L = Zulu.ActiveMapDoc.layers.Active

L.Elements.Item(16043).ShadePolygon c.Points.GetX(1), c.Points.GetY(1), c.Points.GetX(2), c.Points.GetY(2), 10, 0, Nothing


Shift method (Element)

Перемещает (сдвигает) объект в направлении и на расстояние, задаваемое вектором.

Применяется к:

Element

Синтаксис:

Visual Basic:

Sub Shift(shiftX As Double, shiftY As Double, KeepLink As Boolean, Flags As Long)

shiftX - сдвиг по X

shiftY - сдвиг по Y

KeepLink - перемещение объекта с сохранением (True) или без сохранения связей (False) с другими объектами

Flags - зарезервирован, должен быть 0

Пример:

'Переместить объект, имеющий ID=1 на 1000 см вправо и на 1000 см вверх без
'сохранения связи с другими объектами
MapCtrl1.Map.Layers.Active.Elements.Item(1).Shift 1000, 1000, False, 0


SimplifyGeometry method (Element)

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

Применяется к:

Element

Синтаксис:

Visual Basic:

Function SimplifyGeometry(Tolerance As Double) As Long

Tolerance - точность преобразования.


SplitToLineSegments method (Element)

Метод разделяет линейный объект на отдельные линии в местах перелома (узлах).

Применяется к:

Element

Синтаксис:

Visual Basic:

Function SplitToLineSegments(Flags As Long) As Long

Flags - зарезервирован. Должен быть 0.

Описание:

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

Пример:

Sub Element_SplitToLineSegments
Set L = Zulu.ActiveMapDoc.Layers.Active
'в ID записываем ключ текущего объекта
ID = L.CurrentID
'получаем элемент по ключу
Set obj = L.Elements.GetElement(ID)
'разделяем линии на отрезки, в output записываем результат выполнения метода
output = obj.SplitToLineSegments(0)
'выводим сообщение с результатом
MsgBox(output)
End Sub


Type property (Element)

Возвращает/устанавливает тип данного элемента.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property Type As ObjectType

Описание:

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

При присвоении объекту нового режима внутри того же типа достаточно приравнять этому свойству либо ID типа, либо пользовательское название типа, либо сам объект ObjectType.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
517

Неправильный тип слоя.
521 | Присваиваемый тип объекта не найден в структуре слоя.
522 | Графический тип объекта не соответствует графическому типу присваиваемого типа.

Пример:

Dim El As Element

'Получили текущий элемент активного слоя
Set El = MapCtrl1.Map.Layers.Active.Elements(MapCtrl1.CurrentID)

'Если объект - типовой
If El.TypeId > 0 Then

    'Присваеваем элементу тип c ID=3
    El.Type = 3

    'Присваеваем элементу режим с именем "Источник"
    El.Type = "Источник"

End If


TypeID property (Element)

Возвращает ID типа данного элемента.

Применяется к:

Element

Синтаксис:

Visual Basic:

Property TypeId As Long

read-only

Описание:

Для всех объектов несмешанных слоев и для нетиповых объектов смешанного слоя ID типа равен -1.


ElementKeyPairs collection

Содержит коллекцию пар ключей (длинных целых чисел), как правило, являющихся подмножеством ключей объектов двух слоев. Является возвращаемым значением различных методов объекта Layer ( например, IntersectByLayer).

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойство

Описание

Count

Количество элементов в коллекции.

KeyFirst

Значение первого ключа.

KeySecond

Значение второго ключа.


ElementKeys object

Содержит коллекцию ключей (длинных целых чисел), как правило, являющихся подмножеством всех ключей объектов слоя. Часто является возвращаемым значением различных методов объекта Layer (таких как, например, GetCuttingNode, GetKeysByDrawHandle, GetShortWay, NetWorkRecalc), а также объекта Selection.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

Find

GetBounds

GetBoundsRectangle

SaveAsDBF

SaveAsDBFEx

SaveToArray

SelectByType

SelectByTypes


Count property (ElementKeys)

Возвращает количество элементов (ключей) в коллекции.

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Find method (ElementKeys)

Возвращает индекс элемента в коллекции по заданному ID.

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Sub Find(ID As Long) As Long

ID- ID искомого элемента

Описание:

Если искомый ID присутствует в коллекции, метод вернет его индекс (нумерация с 1). В противном случае метод вернет -1


GetBounds method (ElementKeys)

Получить габариты группы объектов, входящих в коллекцию.

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Sub GetBounds(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double)

X1, Y1 - координаты левого верхнего угла объекта.

X2, Y2 - координаты правого нижнего угла.


GetBoundsRectangle method (ElementKeys)

Возвращает объект ZRectangle, содержащий габариты группы объктов, входящих в коллекцию.

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


Item property (ElementKeys)

Возвращает значение ключа из коллекции по порядковому номеру. Нумерация с единицы.

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Property Item (Index As Long) As Long

read-only

Index - порядковый номер ключа в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


SaveAsDBF method (ElementKeys)

Сохраняет ключи коллекции в файл формат dBase (dbf).

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Function SaveAsDBF(Filename As String) As Long

Filename - имя файла.


SaveAsDBFEx method (ElementKeys)

Сохраняет ключи коллекции в файл формат dBase (dbf).

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Function SaveAsDBFEx(Filename As String) As Long

Filename - имя файла.

Описание:

Таблица состоит из трех полей ElemID, Type, Mode (ID объекта, тип и режим соответственно).


SaveToArray method (ElementKeys)

Сохраняет ключи коллекции в массив SafeArray.

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Function SaveToArray()


SelectByType method (ElementKeys)

Выбирает из коллекции ключей коллекцию ключей с заданным типом и режимом.

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Function SelectByType(TypeID As Long, nMode As Long) As ElementKeys

TypeID - ID типа.

nMode - номер режима.

Описание:

Выбранные по заданному типу и режиму ключи объектов возвращаются в виде коллекции ElementKeys.

Если номер режима равен 0, то в коллекцию войдут все объекты заданного типа, независимо от их режима.

Если ID типа равен 0, то в коллекцию войдут все объекты с заданным режимом, независимо от их типа.


SelectByTypes method (ElementKeys)

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

Применяется к:

ElementKeys

Синтаксис:

Visual Basic:

Function SelectByTypes(sTypesModes As String) As ElementKeys

sTypesModes - строка содержащая список пар тип+режим.

Описание:

Выбранные по заданному списку типов и режимов ключи объектов возвращаются в виде коллекции ElementKeys.

Значения пар тип+режим в строке sTypesModes идут одна за другой. Все значения разделяются между собой пробелами или табуляцией.

Если номер режима равен 0, то в коллекцию войдут все объекты заданного типа, независимо от их режима.

Если ID типа равен 0, то в коллекцию войдут все объекты с заданным режимом, независимо от их типа.

Пример:

Private Sub SelectKeys(InputKeys As ElementKeys)

    Dim Keys As ElementKeys

    'Получить коллекцию объктов с типом 6 и режимом 1
    Set Keys = InputKeys.SelectByTypes("6 1")

    'Для одной пары тип+режим это эквивалентно вызову
    Set Keys = SelectByType(6, 1)

    'Получить коллекцию объктов с типом 6 и режимом 1 и типом 8 и режимом 2
    Set Keys = InputKeys.SelectByTypes("6 1 8 2")

    'Получить коллекцию из для всех режимов с типом 6 и типом 8 и режимом 2
    Set Keys = InputKeys.SelectByTypes("6 0 8 2")

End Sub


Elements object

Содержит коллекцию графических объектов слоя Element. Возвращается свойством Elements объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

FirstItem

Item

Layer

NextItem

GetElement


Count property (Elements)

Если коллекция имеет доступ к элементам по ключу, то Count возвращает -1. Если коллекция имеет доступ к элементам по индексу, то Count возвращает число элементов, входящих в коллекцию.

Применяется к:

Elements

Синтаксис:

Visual Basic:

Property Count As Long

Описание:

Это свойство позволяет определить тип организации коллекции элементов. При доступе к элементам по ключу (Count = -1), количество элементов в коллекции заранее неизвестно. В этом случае количество элементов можно оценить сверху, используя метод Layer.GetLargestID.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


FirstItem property (Elements)

Возвращает первый по порядку объект Element коллекции.

Применяется к:

Elements

Синтаксис:

Visual Basic:

Property FirstItem As Element

read-only

Описание:

Если не получить первый элемент, то в возвращенном объекте Element свойство Key будет равно -1. Обычно используется совместно со свойством NextItem.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


GetElement method (Elements)

Возвращает объект Element из коллекции по ID графического объекта.

Применяется к:

Elements

Синтаксис:

Visual Basic:

Function GetElement(Key As Long) As Element

Key - ID объекта слоя.

Описание:

Метод всегда возвращает объект Element. Для анализа результата вызова метода следует проверить свойство Element.Key. Если значение данного свойства равно -1, то объект с указанным ID не получен.

Пример:

Dim el As Element
'Запрашиваем элемент слоя L1 с ключом id
Set el = L1.Elements.GetElement(id)
'Проверяем результат
If el.Key = -1 Then
    MsgBox "Объект не получен"
End If


Item property (Elements)

Возвращает объект Element из коллекции либо по ключу графического объекта (свойство Count = -1), либо по индексу (свойство Count>= 0).

Применяется к:

Elements

Синтаксис:

Visual Basic:

Property Item(Key As Long) As Element

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 | Значение Key выходит за границы диапазона 1..Count (в случае если Count >= 0).

513

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

768 | Значению key не соответствует ни один элемент слоя.


Layer property (Elements)

Возвращает объект Layer.

Применяется к:

Elements

Синтаксис:

Visual Basic:

Property Layer As Layer

read-only

Описание:

Элементы коллекции могут содержаться только в каком-то слое. Это свойство и является слоем, к которому относится коллекция.


NextItem property (Elements)

Возвращает следующий по порядку объект Element.

Применяется к:

Elements

Синтаксис:

Visual Basic:

Property NextItem As Element

read-only

Описание:

Для начала использования этого свойства следует сперва получить свойство FirstItem. Если следующего в коллекции по порядку элемента нет, то в возвращенном объекте Element свойство Key будет равно -1.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

'Посчитаем суммарную длину всех элементов слоя
Private Sub  Command3_Click()

Dim elems As Elements
Dim SumLength As Double
Dim elem As Element

'получаем коллекцию всех элементов активного слоя
Set elems = MapCtrl1.Map.Layers.Active.Elements

'получаем первый элемент коллекции
Set elem = el.FirstItem

SumLength = 0

If elem <> -1  Then 'Если элемент существует

SumLength = elem.Length

Set elem = Nothing

Do

'получаем следующий элемент коллекции
 Set elem = el.NextItem

'Если элемент не существует выходим из цикла
If one.Key = -1 Then Exit Do

SumLength = SumLength + elem.Length

Set elem =  Nothing

Loop

End If

'Выводим результат
MsgBox SumLength

End Sub


ElemStyle object

Представляет объект, содержащий параметры отображения линейных, контурных, символьных и текстовых графических объектов. Как свойство входит в объект Element. Используется как исходный параметр во всех методах записи в слой новых объектов: AddBufferZone, AddContour, AddPolyContour, AddPolyLine, AddText и др.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ElemStyle

CLSID:

{12507096-0B01-11D2-B55D-444553540000}

Свойства:

Свойства

BorderColor BorderPrintWidth

BorderStyle

BorderWidth

FillColor

FillStyle

Font

FontBackColor

FontBackStyle

FontColor

LineColor

LinePrintWidth

LineStyle

LineWidth

PatColor

StyleScalable

StyleScale

SymbolColor

SymbolID

SymbolInputOrientable

SymbolInputRotatable

SymbolScalable

SymbolScaleLimited

SymbolSize

TextAlignment

TextAngle

TextAscent

TextHeight

TextMultilineAlignment

TextUnicodeFlag

Transparency

Transparent

Пример:

'Запишем в активный слой треугольник с заданным цветом и стилем
Private Sub Command1_Click()

    Dim eStyle As ElemStyle
    Dim cell As Contour

    Dim Xcoords(4) As Double
    Dim Ycoords(4) As Double

    'Создаем контур
    Set cell = New Contour

    Xcoords(1) = 9800000
    Ycoords(1) = 10800000
    Xcoords(2) = 9810000
    Ycoords(2) = 10810000
    Xcoords(3) = 9850000
    Ycoords(3) = 10820000
    Xcoords(4) = Xcoords(1)
    Ycoords(4) = Ycoords(1)

    'Записываем в контур треугольник
    cell.Fill 3, Xcoords(1), Ycoords(1)

    'Создаем объект ElemStyle
    Set eStyle = New  ElemStyle

    ' Цвет узора - красный
    eStyle.PatColor = RGB(255, 0,  0)

    ' Граница - тонкая сплошная линия
    eStyle.BorderStyle = 0
    eStyle.BorderWidth = 1

    'Цвет границы - синий
    eStyle.BorderColor = RGB(0, 0, 255)

    'Записываем контур в активный слой
    MapCtrl1.Map.Layers.Active.AddContour cell, eStyle, -1, -1

End Sub


BorderColor property (ElemStyle)

Возвращает\устанавливает цвет границы полигона в формате RGB.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property BorderColor As Long


BorderPrintWidth property (ElemStyle)

Возвращает\устанавливает толщину границы полигона при печати.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property BorderPrintWidth As Long

Описание:

Значения свойства задаются в десятых долях миллиметра.


BorderStyle property (ElemStyle)

Возвращает\устанавливает ID стиля линии из библиотеки стилей слоя для границы полигона.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property BorderStyle As Long


BorderWidth property (ElemStyle)

Возвращает\устанавливает толщину границы полигона на экране.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property BorderWidth As Long

Описание:

Значения свойства задаются в пикселах.


FillColor property (ElemStyle)

Возвращает\устанавливает RGB цвет фона при заливке полигонов.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property FillColor As Long

Описание:

Если заливка представляет собой растровый или векторный рисунок на каком-то фоне, то FillColor как раз определяет цвет фона. Цвет узора определяется свойством PatColor. В случае сплошной заливки (узор совпадает с фоном), цвет заливки определяется цветом узора - PatColor.

Если фон прозрачный (свойство Transparent = True), цвет фона не применяется.


FillStyle property (ElemStyle)

Возвращает\устанавливает ID стиля заливки из библиотеки стилей слоя для полигонов.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property FillStyle As Long


Font property (ElemStyle)

Возвращает\устанавливает шрифт текстового объекта.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property Font As StdFont

Описание:

Параметры шрифта доступны через свойства интерфейса IFontDisp.


FontBackColor property (ElemStyle)

Возвращает\устанавливает RGB цвет фона в текстовом объекте.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property FontBackColor As Long

Описание:

Цвет фона участвует в отображении текстовых объектов со значениями свойства FontBackStyle равными 2 (цвет фонового прямоугольника) или 3 (цвет ореола).


FontBackStyle property (ElemStyle)

Возвращает\устанавливает стиль отображения фона текстового объекта.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property FontBackStyle As Long

Описание:

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

1 - без фона (прозрачный).

2 - текст в залитом цветом фона прямоугольние (бокс).

3 - текст с окантовкой цветом фона вокруг каждой буквы (ореол).


FontColor property (ElemStyle)

Возвращает\устанавливает RGB цвет текста в текстовом объекте.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property FontColor As Long


LineColor property (ElemStyle)

Возвращает\устанавливает RGB цвет линии.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property LineColor As Long

Описание:

Цвет линии применяется ко всем элементом стиля линии, для которых цвет объявлен как "Авто".


LinePrintWidth property (ElemStyle)

Возвращает\устанавливает толщину линейного объекта при печати.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property LinePrintWidth As Long

Описание:

Значения свойства задаются в десятых долях миллиметра.


LineStyle property (ElemStyle)

Возвращает\устанавливает ID стиля линии из библиотеки стилей слоя для линейных объектов.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property LineStyle As Long


LineWidth property (ElemStyle)

Возвращает\устанавливает толщину линейного объекта на экране.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property LineWidth As Long

Описание:

Значения свойства задаются в пикселах.


PatColor property (ElemStyle)

Возвращает\устанавливает RGB цвет узора в заливке полигона.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property PatColor As Long

Описание:

Цвет узора применяется ко всем элементом стиля полигона, для которых цвет объявлен как "Авто".

В случае сплошной заливки (узор совпадает с фоном), цвет заливки так же считается цветом узора.


StyleScalable property (ElemStyle)

Возвращает\устанавливает признак масштабируемости стиля линий линейных объектов или стиля заливки площадных объектов в соответствии с масштабом карты.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property StyleScalable As Boolean

Описание:

Если признак не установлен (StyleScalable = False), стиль линии или заливки при любых масштабах карты будет отображаться одним размером в соответствии со свойством StyleScale


StyleScale property (ElemStyle)

Возвращает\устанавливает для линейного или площадного объекта масштаб (в пикселах на сантиметр) при котором стиль линии или заливки будет отображаться на карте в истинных размерах (масштаб 1:1).

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property StyleScale As Double

Описание:

Относительно данного масштаба стиль линии или заливки будет изменять свой размер пропорционально масштабу карты только в случае, если стиль объявлен масштабируемым, т.е. StyleScalable = True.


SymbolColor property (ElemStyle)

Возвращает\устанавливает цвет векторных элементов символа, которые в описании символа имеют цвет "Авто".

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property SymbolColor As Long


SymbolID property (ElemStyle)

Возвращает\устанавливает ID символа из библиотеки символов слоя.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property SymbolID As Long


SymbolInputOrientable property (ElemStyle)

Возвращает\устанавливает признак ориентации добавляемого при интерактивном редактировании символьного объекта на конце участка перпендикулярно направлению последнего отрезка участка.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property SymbolInputOrientable As Boolean


SymbolInputRotatable property (ElemStyle)

Возвращает\устанавливает признак дополнительного поворота на 90 градусов по часовой стрелке при ориентации добавляемого на конце участка символьного объекта при интерактивном редактировании.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property SymbolInputRotatable As Boolean

Описание:

Этот признак используется только в том случае, когда включена ориентация символа при вводе участка (SymbolInputOrientable = True). К этой ориентации добавляется дополнительный поворот символа на 90 градусов по часовой стрелке.


SymbolScalable property (ElemStyle)

Возвращает\устанавливает признак масштабируемости символа в соответствии с масштабом карты.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property SymbolScalable As Boolean

Описание:

Если признак не установлен (SymbolScalable = False), символ при любых масштабах карты будет отображаться одним размером в соответствии со свойством SymbolSize.


SymbolScaleLimited property (ElemStyle)

Возвращает\устанавливает признак ограничения масштабируемости символа в сторону увеличения.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property SymbolScaleLimited As Boolean

Описание:

Если признак установлен (SymbolScaleLimited = True), то при установленном признаке масштабируемости (SymbolScalable = True) размер символа при любых масштабах не будет привышать свой размер 1:1 задаваемый свойством SymbolSize.

Иными словами, символ может только уменьшаться, начиная с масштаба 1:1.


SymbolSize property (ElemStyle)

Возвращает\устанавливает для символьного объекта масштаб (в пикселах на сантиметр) при котором символ будет отображаться на карте в истинных размерах (масштаб 1:1).

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property SymbolSize As Long


TextAlignment property (ElemStyle)

Возвращает\устанавливает значение выравнивания текста.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property TextAlignment As Long

Описание:

Выравнивание по горизонтали и вертикали задается как сумма значений выравнивания по каждой из осей.

По горизонтали

 По вертикали

0

2

6

по левому краю

по правому краю

по центру

0

8

24

по верху

по низу

по базовой линии


TextAngle property (ElemStyle)

Возвращает\устанавливает значение угла поворота текстового объекта.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property TextAngle As Double

Описание:

Значение угла поворота текстового объекта задается в градусах от направления на три часа против часовой стрелки. Значения округляются до десятых долей градуса.


TextAscent property (ElemStyle)

Возвращает\устанавливает значение высоты текстового объекта выше базовой линии в единицах на местности.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property TextAscent As Double

Описание:

При изменении этого свойства в соответствии с текущим шрифтом текстового объекта изменится и общая высота текста TextHeight.


TextHeight property (ElemStyle)

Возвращает\устанавливает значение высоты текстового объекта в единицах на местности.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property TextHeight As Double


TextMultilineAlignment property (ElemStyle)

Возвращает\устанавливает способ выравнивания строк многострочного текста друг относительно друга по горизонтали.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property TextMultilineAlignment As Long

Описание:

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

Значение

 Выравнивание

0

1

2

по левому краю

по центру

по правому краю


TextUnicodeFlag property (ElemStyle)

Возвращает\устанавливает признак того, что текстовый объект поддерживает набор символов Unicode.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property TextUnicodeFlag As Boolean


Transparency property (ElemStyle)

Возвращает\устанавливает процент прозрачности для сплошной заливки полигонов.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property Transparency As Long

Описание:

Параметр применяется только в случае сплошной заливки (FillStyle = 2). Прозрачность задается числом в диапазоне от 0 до 100.

Значение 0 соответствует непрозрачной заливке. Значение 100 соответствует отсутствию заливки.


Transparent property (ElemStyle)

Возвращает\устанавливает признак прозрачности фона заливки полигонов.

Применяется к:

ElemStyle

Синтаксис:

Visual Basic:

Property Transparent As Boolean


EventSink object

Абстрактный объект, служащий для приёма событий от ZuluGIS.

Методы:

Методы

OnZuluEvent


OnZuluEvent event (Zulu)

Для того, чтобы плагин мог принимать события от системы Zulu, необходимо установить объект-приемник событий с помощью метода SetEventSink объекта IPluginConnector.

Объект-приемник должен быть COM-объектом, поддерживающим интерфейс IDispatch (он же OLE Automation Object, он же ComVisible объект в .Net). Объект должен иметь метод OnZuluEvent, который будет вызываться системой при возникновении события.

Формат метода:

Формат метода OnZuluEvent таков:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

Параметр

Описание
nEventID | Код события из набора констант eZuluEvents
pSource | Объект-источник события.
Param1 | Дополнительный параметр 1.
Param2 | Дополнительный параметр 2.
Param3 | Дополнительный параметр 3.

В параметре EventID содержится код события. Список возможных кодов событий перечислен в наборе констант eZuluEvents.

Параметр Source содержит ссылку на объект-источник события. Это может быть объект Zulu, документ Document, окно карты IMapView или какой-либо другой объект, в зависимости от события.

Параметрах Param1, Param2 и Param3 имеют тип VARIANT и в них передается дополнительная информация о конкретном событии.


ExportInfoParams object

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

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

AddType


AddType method (ExportInfoParams)

Добавляет тип в список типов для экспорта.

Применяется к:

ExportInfoParams

Синтаксис:

Visual Basic:

Function AddType(TypeID As Long, bExportAttr As Boolean, bLabelSys As Boolean, sLabelField As String) As Long

TypeID - ID типа (для примитивов -1).

bExportAttr - признак экспорта атрибутов.

bLabelSys - экспорт ID (поле Sys) объекта в виде бирки.

sLabelField - имя поля для экспорта в виде бирки.


FillStyle object

Описывает стиль заливки площадных объектов.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

BackColor

Color

ForEach

Style

Transparent


FillStyleDef object

Объект, содержащий описание и методы работы со стилем заливки полигонов. В частности, является элементом коллекции FillStyles стилей заливок слоя.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Id

Name

Draw

GetBLOB

SetBLOB


Draw method (FillStyleDef)

Отрисовывает полигон с данным стилем заливки.

Применяется к:

FillStyleDef

Синтаксис:

Visual Basic:

Sub Draw(hDC As Long, Region As PolyContour, Scale As Double, Color As Long, BackColor As Long,

Transparent As Boolean, BorderStyle As LineStyleDef, BorderWidth As Double, BorderColor As Long)

hDC - контекст устройства.

Region - отображаемый полигон.

Scale - масштаб отображения.

Color - цвет узора.

BackColor - цвет фона.

Transparent - признак прозрачности.

BorderStyle - стиль границы.

BorderWidth - толщина границы.

BorderColor - цвет границы.


GetBLOB method (FillStyleDef)

Возвращает стиль заливки в виде бинарного объекта (от BLOB - binary large object).

Применяется к:

FillStyleDef

Синтаксис:

Visual Basic:

Function GetBLOB()

Описание:

Метод возвращает переменную типа VARIANT, которая содержит массив байт (VT_UI1 | VT_ARRAY).

Пример:

Dim Fsd1 As FillStyleDef
Dim Fsd2 As FillStyleDef

'Получаем первый по порядку стиль заливки активного слоя карты
Set Fsd1 = MapCtrl1.Map.Layers.Active.FillStyles.Item(0)

'Создаем новый объект для стиля заливки
Set Fsd2 = New FillStyleDef

'Копируем стиль из одного объекта в другой
Fsd2.SetBlob(Fsd1.GetBLOB)


Id property (FillStyleDef)

Возвращает ID стиля заливки в коллекции стилей.

Применяется к:

FillStyleDef

Синтаксис:

Visual Basic:

Property Id As Long

read-only


Name property (FillStyleDef)

Возвращает/устанавливает название стиля заливки.

Применяется к:

FillStyleDef

Синтаксис:

Visual Basic:

Property Name As String

Пример:

'Получаем стиль заливки активного слоя карты с ID = 1
Dim Fsd As FillStyleDef
Set Fsd = MapCtrl1.Map.Layers.Active.FillStyles.ItemById(1)

If Fsd.Id  <> -1 Then
'Переименовываем стиль
Fsd.Name = Fsd.Name + "_new"

'Обновляем стиль слоя
MapCtrl1.Map.Layers.Active.FillStyles.ReplaceItem 1, Fsd

End


SetBLOB method (FillStyleDef)

Копирует стиль заливки из массива двоичных данных (от BLOB - binary large object).

Применяется к:

FillStyleDef

Синтаксис:

Visual Basic:

Function SetBLOB(vBlob) As Boolean

vBlob - VARIANT с массивом байт.

Описание:

Переменная типа VARIANT должна содержать массив байт (VT_UI1 | VT_ARRAY). Если входные данные распознаны как содержащие стиль заливки, они будут скопированы в объект, и метод вернет True. В противном случае метод вернет False.

Пример:

Dim Fsd1 As FillStyleDef
Dim Fsd2 As FillStyleDef

'Получаем первый по порядку стиль заливки активного слоя карты
Set Fsd1 = MapCtrl1.Map.Layers.Active.FillStyles.Item(0)

'Создаем новый объект для стиля заливки
Set Fsd2 = New FillStyleDef

'Копируем стиль из одного объекта в другой
Fsd2.SetBlob(Fsd1.GetBLOB)


FillStyles object

Коллекция стилей заливки слоя. Возвращается как свойство Layer.FillStyles.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

ItemById

AddItem

GetIdByIndex

GetIndexById

RemoveItem

ReplaceItem


AddItem Method (FillStyles)

Добавляет стиль заливки в коллекцию стилей заливки слоя.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Function AddItem(Style As FillStyleDef, Id As Long) As Long

Style - объект с добавляемым стилем заливки.

Id - ID добавляемого стиля.

Описание:

Если значение ID = -1, то метод присвоит добавляемому стилю ID автоматически.

Если в коллекции уже присутствует стиль с заданным ID, то стиль добавлен не будет. Для замены стиля по существующему ID следует вызывать метод ReplaceItim.

В случае успеха метод возвращает ID добавленного стиля. В противном случае метод вернет -1.

Пример:

Dim FsdAs FillStyleDef

'Получаем стиль заливки ID = 1 для первого слоя карты
Set Fsd = MapCtrl1.Map.Layers.Item(1).FillStyles.ItemById(1)

'Добавляем полученный стиль в коллекцию второго слоя карты
MapCtrl1.Map.Layers.Item(2).FillStyles.AddItem Fsd, -1


Count property (FillStyles)

Возвращает количество стилей заливки в коллекции FillStyles.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetIdByIndex Method (FillStyles)

Возвращает ID стиля из коллекции стилей заливки слоя по индексу.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Function GetIdByIndex(Index As Long) As Long

Index - порядковый номер стиля в коллекци (нумерация с нуля).

Описание:

Если стиль с указанным индексом существует, метод вернет ID стиля. В противном случае метод вернет -1.


GetIndexById Method (FillStyles)

Возвращает порядковый номер стиля из коллекции стилей заливки по ID стиля.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Function GetIndexById(Id As Long) As Long

Id - ID стиля коллекции.

Описание:

Если стиль с указанным ID существует, метод вернет его порядковый номер в коллекции (нумерация с нуля). В противном случае метод вернет -1.


Item property (FillStyles)

Возвращает стиль заливки в виде объекта FillStyleDef по индексу в коллекции.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Property Item(Index As Long) As FillStyleDef

read-only

Index - индекс стиля в коллекции (нумерация с нуля).

Пример:

Dim Fsd As FillStyleDef

'Получаем первый по порядку стиль заливки активного слоя карты
Set Fsd = MapCtrl1.Map.Layers.Active.FillStyles.Item(0)


ItemById property (FillStyles)

Возвращает стиль заливки в виде объекта FillStyleDef по ID стиля в коллекции.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Property ItemById(StyleID As Long) As FillStyleDef

read-only

StyleID - ID стиля.

Пример:

Dim Fsd As FillStyleDef

'Получаем стиль заливки активного слоя карты c ID = 1
Set Fsd = MapCtrl1.Map.Layers.Active.FillStyles.ItemById(1)

'Проверяем результат
If  Fsd.Id  = -1 Then
   MsgBox "Стиль не найден"
End If


RemoveItem Method (FillStyles)

Удаляет стиль заливки из коллекции стилей заливки слоя.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Function RemoveItem(StyleID As Long) As Boolean

StyleID - ID удаляемого стиля.

Описание:

В случае успеха метод возвращает True. В противном случае метод вернет False.

Пример:

'Удаляем стиль заливки ID = 1 активного слоя карты
MapCtrl1.Map.Layers.Active.FillStyles.RemoveItem 1


ReplaceItem Method (FillStyles)

Заменяет стиль заливки с заданным ID из коллекции стилей заливки слоя на новый.

Применяется к:

FillStyles

Синтаксис:

Visual Basic:

Function ReplaceItem(StyleID As Long, Style As FillStyleDef) As Boolean

StyleID - ID удаляемого стиля.

Style - объект с новым стилем.

Описание:

В случае успеха метод возвращает True. В противном случае метод вернет False.

Пример:

'Получаем стиль заливки активного слоя карты с ID = 1
Dim Fsd As FillStyleDef
Set Fsd = MapCtrl1.Map.Layers.Active.FillStyles.ItemById(1)

If Fsd.Id  <> -1 Then
'Переименовываем стиль
Fsd.Name = Fsd.Name + "_new"

'Обновляем стиль слоя
MapCtrl1.Map.Layers.Active.FillStyles.ReplaceItem 1, Fsd

End If


FontStyle object

Описывает стиль шрифта текстовых объектов.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Angle

Color

Font

ForEach

RealSize

text


HighlightParams object

Параметры выделения объектов (для мишени и для обычного выделения).

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Методы

FillColor

FillStyle

LineColor

LineStyle

LineWidth

PatColor


FillColor property (HighlightParams)

Не используется.

Применяется к:

HighlightParams

Синтаксис:

Visual Basic:

Property FillColor() As Long

read only


FillStyle property (HighlightParams)

Возвращает ID узора выделения/мишени площадного объекта.

Применяется к:

HighlightParams

Синтаксис:

Visual Basic:

Property FillStyle() As Long

read only

Пример:

sub HighlightParams_FillStyle
output = Zulu.ActiveMapDoc.TargetParams.FillStyle
MsgBox(output)
end sub


LineColor property (HighlightParams)

Возвращает цвет выделения/мишени линии.

Применяется к:

HighlightParams

Синтаксис:

Visual Basic:

Property LineColor() As Long

read only

Пример:

sub HighlightParams_LineColor
output = Zulu.ActiveMapDoc.TargetParams.LineColor
MsgBox(output)
end sub


LineStyle property (HighlightParams)

Возвращает ID стиля выделения/мишени линии.

Применяется к:

HighlightParams

Синтаксис:

Visual Basic:

Property LineStyle() As Long

read only

Пример:

sub HighlightParams_LineStyle
output = Zulu.ActiveMapDoc.TargetParams.LineStyle
MsgBox(output)
end sub


LineWidth property (HighlightParams)

Возвращает толщину выделения/мишени линии.

Применяется к:

HighlightParams

Синтаксис:

Visual Basic:

Property LineWidth() As Long

read only

Пример:

sub HighlightParams_LineWidth
output = Zulu.ActiveMapDoc.TargetParams.LineWidth
MsgBox(output)
end sub


PatColor property (HighlightParams)

Возвращает цвет заливки выделения/мишени площадного объекта.

Применяется к:

HighlightParams

Синтаксис:

Visual Basic:

Property PatColor() As Long

read only

Пример:

sub HighlightParams_PatColor
output = Zulu.ActiveMapDoc.TargetParams.PatColor
MsgBox(output)
end sub


IControlBar object

Объект, управляющий плавающей/прикрепляющейся панелью. Создается методом CreateControlBar объекта Zulu.

Входит в состав библиотеки ZuluGIS 2021 Application.

Свойства и методы:

Свойства

Методы

AllowSwitchDockable

Caption

ClientControl

ClientWindow

Dockable

hWnd

Visible

Window

Activate

Close

EmbedControl

EmbedWindow

SetEventSink

SetMRUPosEntry


Activate method (IControlBar)

Делает панель активной - ей передается фокус ввода. Если панель была скрыта или свернута, то она становится видимой.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Sub Activate()


AllowSwitchDockable property (IControlBar)

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

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property AllowSwitchDockable As Boolean

Описание:

Если свойство установлено в значение True, то пользователь может управлять режимом докируемости данной панели.


Caption property (IControlBar)

Задает текст заголовка панели.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property Caption As String


ClientControl property (IControlBar)

Возвращает объект, соответствующий внедренному ActiveX элементу.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property ClientControl As Object

read-only

Описание:

Если в панель внедрен элемент управления ActiveX, метод возвращает объект для управления свойтвами и методами этого элемента.


ClientWindow property (IControlBar)

Возвращает дескриптор окна (HWND) внедренного в панель дочернего окно. Дочернее окно внедряется в панель методом EmbedWindow, либо EmbedControl.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property ClientWindow As Long

read-only


Close method (IControlBar)

Закрывает панель.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Sub Close()


Dockable property (IControlBar)

Определяет, является ли панель «докируемой» - т.е. панель может автоматически прикрепляться с сторонам главного окна Zulu.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property Dockable As Boolean


EmbedControl method (IControlBar)

Внедряет ActiveX-элемент в панель. Элемент размещается по размерам клиентской области панели. При изменении размеров панели, элемент автоматически выравнивается по этой области.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Function EmbedControl(ProgID As String) As Boolean


EmbedWindow method (IControlBar)

Внедряет окно в панель в качестве дочернего окна, которым панель будет управлять.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Sub EmbedWindow(Handle As Long)

Описание:

Метод внедряет указанное окно в качестве дочернего окна, которым панель будет управлять. Окно обычно первоначально создается как дочернее от окна панели, после чего вызывается метод EmbedWindow. После этого панель сможет управлять положением дочернего окна при перетаскивании и изменении размеров.


hWnd property (IControlBar)

Возвращает дескриптор окна (HWND) панели.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property hWnd As Long

read-only


SetEventSink method (IControlBar)

Устанавливает обработчик событий от панели.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Sub SetEventSink(Sink As Object)

Описание:

В качестве параметра Sink, передается объект, у которого есть метод

Sub OnControlBarEvent(ByVal nEvent As Long, ByVal wParam As Long, ByVal lParam As Long, ByRef pResult As Long)

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


SetMRUPosEntry method (IControlBar)

Задает уникальную строку для сохранения состояния панели.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Sub SetMRUPosEntry(Entry As String)

Entry - уникальная строка для записи состояния.

Описание:

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


Visible property (IControlBar)

Позволяет показать или скрыть панель.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property Visible As Boolean


Window property (IControlBar)

Возвращает объект Window, представляющий окно данной панели.

Применяется к:

IControlBar

Синтаксис:

Visual Basic:

Property Window As Window


IDatum object

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

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Code

dS

dX

dY

dZ

Name

Rx

Ry

Rz

TransformMethod

TransformTo

Xp

Yp

Zp

GetEllipsoid

SetEllipsoid


Code property (IDatum)

Возвращает код датума из набора констант eDatum.

Применяется к:

IDatum

Синтаксис:

Property Code As eDatum

read-only


dS property (IDatum)

Возвращает/устанавливает значение масштабной коррекции в миллионных долях.

Применяется к:

IDatum

Синтаксис:

Property dS As Double

Описание:

Данный параметр используется при трансформации геоцентирической системы координат одного датума в геоцентирическую систему координат другого датума для методов eCoordTransformPositionVector7Parameter, eCoordTransformCoordinateFrameRotation, eCoordTransformMolodenskyBadekas10.


dX property (IDatum)

Возвращает/устанавливает значение в метрах сдвига по оси X при трансформации одной геоцентрической системы координат в другую.

Применяется к:

IDatum

Синтаксис:

Property dX As Double

Описание:

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


dY property (IDatum)

Возвращает/устанавливает значение в метрах сдвига по оси Y при трансформации одной геоцентрической системы координат в другую.

Применяется к:

IDatum

Синтаксис:

Property dY As Double

Описание:

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


dZ property (IDatum)

Возвращает/устанавливает значение в метрах сдвига по оси Z при трансформации одной геоцентрической системы координат в другую.

Применяется к:

IDatum

Синтаксис:

Property dZ As Double

Описание:

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


GetEllipsoid method (IDatum)

Возвращает объект IEllipsoid с параметрами эллипсоида данного датума.

Применяется к:

IDatum

Синтаксис:

Function GetEllipsoid() As IEllipsoid


Name property (IDatum)

Возвращает название датума.

Применяется к:

IDatum

Синтаксис:

Property Name As String

read-only


Rx property (IDatum)

Возвращает/устанавливает значение в угловых секундах угла поворота оси X при трансформации одной геоцентрической системы координат в другую.

Применяется к:

IDatum

Синтаксис:

Property Rx As Double

Описание:

Данный параметр используется при трансформации геоцентирической системы координат одного датума в геоцентирическую систему координат другого датума для методов eCoordTransformPositionVector7Parameter, eCoordTransformCoordinateFrameRotation, eCoordTransformMolodenskyBadekas10.


Ry property (IDatum)

Возвращает/устанавливает значение в угловых секундах угла поворота оси Y при трансформации одной геоцентрической системы координат в другую.

Применяется к:

IDatum

Синтаксис:

Property Ry As Double

Описание:

Данный параметр используется при трансформации геоцентирической системы координат одного датума в геоцентирическую систему координат другого датума для методов eCoordTransformPositionVector7Parameter, eCoordTransformCoordinateFrameRotation, eCoordTransformMolodenskyBadekas10.


Rz property (IDatum)

Возвращает/устанавливает значение в угловых секундах угла поворота оси Z при трансформации одной геоцентрической системы координат в другую.

Применяется к:

IDatum

Синтаксис:

Property Rz As Double

Описание:

Данный параметр используется при трансформации геоцентирической системы координат одного датума в геоцентирическую систему координат другого датума для методов eCoordTransformPositionVector7Parameter, eCoordTransformCoordinateFrameRotation, eCoordTransformMolodenskyBadekas10.


SetEllipsoid method (IDatum)

Задает эллипсоид для данного датума.

Применяется к:

IDatum

Синтаксис:

Sub SetEllipsoid(Ell As IEllipsoid)

Ell - объект с параметрами эллипсоида.


TransformMethod property (IDatum)

Возвращает/задает метод из набора eCoordTransformMethod трансформации одной геоцентрической системы координат в другую.

Применяется к:

IDatum

Синтаксис:

Property TransformMethod As eCoordTransformMethod

Описание:

В соответствии с данный параметром производится трансформации геоцентирической системы координат данного датума в геоцентирическую систему координат датума, определяемого свойством TransformTo.


TransformTo property (IDatum)

Возвращает/задает датум из набора eCoordTransformTo, в геоцентрическую систему координат которого возможна трансформация геоцентрической системы координат данного датума.

Применяется к:

IDatum

Синтаксис:

Property TransformTo As eCoordTransformTo

Описание:

Трансформация возможна, для большинства датумов, датум WGS 84, либо (для российского ГОСТа) в датум ПЗ-90.


Xp property (IDatum)

Возвращает/устанавливает значение в метрах X координаты точки, вокруг которой поворачивается геоцентрическая система координат данного датума при трансформации в геоцентрическую систему координат датума WGS 84, для метода eCoordTransformMolodenskyBadekas10.

Применяется к:

IDatum

Синтаксис:

Property Xp As Double


Yp property (IDatum)

Возвращает/устанавливает значение в метрах Y координаты точки, вокруг которой поворачивается геоцентрическая система координат данного датума при трансформации в геоцентрическую систему координат датума WGS 84, для метода eCoordTransformMolodenskyBadekas10.

Применяется к:

IDatum

Синтаксис:

Property Yp As Double


Zp property (IDatum)

Возвращает/устанавливает значение в метрах Z координаты точки, вокруг которой поворачивается геоцентрическая система координат данного датума при трансформации в геоцентрическую систему координат датума WGS 84, для метода eCoordTransformMolodenskyBadekas10.

Применяется к:

IDatum

Синтаксис:

Property Zp As Double


IDatums collection

Представляет коллекцию предопределенных географических датумов IDatum, поддерживаемых системой.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Count

Item

ItemByCode


Count property (IDatums)

Возвращает количество географических датумов (объектов IDatum) в коллекции.

Применяется к:

IDatums

Синтаксис:

Property Count As Long

read-only


Item property (IDatums)

Возвращает по индексу объект IDatum из коллекции.

Применяется к:

IDatums

Синтаксис:

Property Item(Index As Long) As IDatum

read-only


ItemByCode property (IDatums)

Возвращает объект IDatum из коллекции по коду датума из набора eDatum.

Применяется к:

IDatums

Синтаксис:

Property ItemByCode(Code As eDatum) As IDatum

read-only

Code - код датума.


IEllipsoid object

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

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Code

InverseFlattening

Name

SemiMajorAxis

SemiMinorAxis

SetByCode


Code property (IEllipsoid)

Возвращает код эллипсоида из набора констант eEllipsoid.

Применяется к:

IEllipsoid

Синтаксис:

Visual Basic:

Property Code As eEllipsoid

read-only


InverseFlattening property (IEllipsoid)

Возвращает/устанавливает значение величины, обратной полярному сжатию эллипсоида.

Применяется к:

IEllipsoid

Синтаксис:

Visual Basic:

Property InverseFlattening As Double

Описание:

Для сферы устанавливаемое и возвращаемое значение равно 0. При изменении данного свойства будет пересчитано значение малой полуоси эллипсоида SemiMinorAxis.


Name property (IEllipsoid)

Возвращает название эллипсоида.

Применяется к:

IEllipsoid

Синтаксис:

Visual Basic:

Property Name As String

read-only


SemiMajorAxis property (IEllipsoid)

Возвращает/устанавливает значение большой полуоси эллипсоида.

Применяется к:

IEllipsoid

Синтаксис:

Visual Basic:

Property SemiMajorAxis As Double

Описание:

При изменении данного свойства будет пересчитано значение малой полуоси эллипсоида SemiMinorAxis.


SemiMinorAxis property (IEllipsoid)

Возвращает/устанавливает значение малой полуоси эллипсоида.

Применяется к:

IEllipsoid

Синтаксис:

Visual Basic:

Property SemiMinorAxis As Double

Описание:

При изменении данного свойства будет пересчитано значение величины, обратной полярному сжатию эллипсоида InverseFlattening.


SetByCode method (IEllipsoid)

Задает параметры эллипсоида по коду из набора eEllipsoid предопределенных эллипсоидов, описанных в системе.

Применяется к:

IEllipsoid

Синтаксис:

Visual Basic:

Sub SetByCode(eCode As eEllipsoid)

eCode - код эллипсоида.

Описание:

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

Если значение кода равно eEllipsoidCustom (-1), текущие параметры эллипсоида останутся неизмененными.


IEllipsoids object

Содержит коллекцию эллипсоидов, описанных в системе по умолчанию. Возвращается методом ZuluTools.GetEllipsoids.

Свойства:

Свойства

Count

Item

ItemByCode


Count property (IEllipsoids)

Возвращает количество эллипсоидов, описанных в системе по умолчанию.

Применяется к:

IEllipsoids

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Item property (IEllipsoids)

Возвращает по индексу объект IEllipsoid из коллекции эллипсоидов.

Применяется к:

IEllipsoids

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IEllipsoid

read-only

Index - индекс объекта в коллекции (нумерация с нуля).


ItemByCode property (IEllipsoids)

Возвращает объект IEllipsoid из коллекции эллипсоидов по коду из набора eEllipsoid.

Применяется к:

IEllipsoids

Синтаксис:

Visual Basic:

Property ItemByCode(Code As eEllipsoid) As IEllipsoid

read-only

Code - код эллипсоида.


ExifInfo object

Интерфейс для получения информации об EXIF тэгах, содержащихся в некоторых файлах изображений. Является возвращаемым значением метода ZuluTools.GetExifInfo

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

GetGPSAltitude

GetGPSImgDirection

GetGPSLatitude

GetGPSLongitude

GetGPSMapDatum

GetStatus

GetTagStringValue

IsTagExists


GetGPSAltitude method (IExifInfo)

Возвращает значение высоты места съемки.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function GetGPSAltitude() As Double

Пример:

Dim Tools As ZuluTools
Dim Info As IExifInfo

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем IExifInfo
Set Info = Tools.GetExifInfo( "d:\images\IMG_0156.JPG")

'Проверяем наличие EXIF тэга, содержащего высоту
If  Info.IsTagExists(6)  = True Then

   MsgBox "Altitude: " +  Str(Info.GetGPSAltitude())

End If


GetGPSImageDirection method (IExifInfo)

Возвращает значение направления съемки в градусах.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function GetGPSImgDirection() As Double

Пример:

Dim Tools As ZuluTools
Dim Info As IExifInfo

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем IExifInfo
Set Info = Tools.GetExifInfo( "d:\images\IMG_0156.JPG")

'Проверяем наличие EXIF тэга, содержащего направление съемки
If  Info.IsTagExists(17)  = True Then

   MsgBox "Direction: " +  Str(Info.GetGPSImgDirection())

End If


GetGPSLatitude method (IExifInfo)

Возвращает значение широты места съемки в градусах.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function GetGPSLatitude() As Double

Пример:

Dim Tools As ZuluTools
Dim Info As IExifInfo

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем IExifInfo
Set Info = Tools.GetExifInfo( "d:\images\IMG_0156.JPG")

'Проверяем наличие EXIF тэга, содержащего широту места съемки
If  Info.IsTagExists(20)  = True Then

   MsgBox "Lat: " +  Str(Info.GetGPSLatitude())

End If


GetGPSLongitude method (IExifInfo)

Возвращает значение долготы места съемки в градусах.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function GetGPSLongitude() As Double

Пример:

Dim Tools As ZuluTools
Dim Info As IExifInfo

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем IExifInfo
Set Info = Tools.GetExifInfo( "d:\images\IMG_0156.JPG")

'Проверяем наличие EXIF тэга, содержащего долготу места съемки
If  Info.IsTagExists(22)  = True Then

   MsgBox "Lon: " +  Str(Info.GetGPSLongitude())

End If


GetGPSMapDatum method (IExifInfo)

Возвращает строку с названием датума в котором записывалась информация с GPS приемника.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function GetGPSMapDatum() As String


GetStatus method (IExifInfo)

Проверяет наличие EXIF тэгов.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function GetStatus() As Long

Описание:

Если файл, для которого получен интерфейс IExifInfo не содержит EXIF тэгов, метод вернет -1. В противном случае метод вернет 0.

Пример:

Dim Tools As ZuluTools
Dim Info As IExifInfo

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем IExifInfo
Set Info = Tools.GetExifInfo( "d:\images\IMG_0156.JPG")

'Проверяем наличие EXIF тэгов в указанном файле
If  Info.GetStatus = -1 Then

   MsgBox "Файл не содержит EXIF данных"

End If


GetTagStringValue method (IExifInfo)

Возвращает значение строковое значение указанного EXIF тэга.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function GetTagStringValue(nTag As Long) As String

nTag - числовой код EXIF тэга.

Пример:

Dim Tools As ZuluTools
Dim Info As IExifInfo

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем IExifInfo
Set Info = Tools.GetExifInfo( "d:\images\IMG_0156.JPG")

'Выводим изготовителя оборудования, производившего съемку
If  Info.IsTagExists(271)  = True Then

   MsgBox "Make: " +  Info.GetTagStringValue(271)

End If


IsTagExists method (IExifInfo)

Проверяет наличие в объекте EXIF тэга с указанным кодом.

Применяется к:

IExifInfo

Синтаксис:

Visual Basic:

Function IsTagExists(nTag As Long) As Boolean

nTag - числовой код EXIF тэга.

Описание:

Метод возвращает True, если объект содержит тэг с указанным кодом. В протвном случае возвращается False.


IMapCustomData object

Интерфейс для работы с дополнительными данными, ассоциированными с данной картой. Объект возвращается как свойство карты MapDoc.CustomData.

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

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

Входит в состав библиотеки ZuluGIS 2021 Library.

Методы:

Методы

GetCount

GetData

GetNameByIndex

RemoveData

SetData


GetCount method (IMapCustomData)

Возвращает количество наборов с дополнительной информацией карты.

Применяется к:

IMapCustomData

Синтаксис:

Visual Basic:

Function GetCount() As Long


GetData method (IMapCustomData)

Возвращает набор дополнительной информации карты по имени.

Применяется к:

IMapCustomData

Синтаксис:

Visual Basic:

Function GetData(sName As String, nFlags As Long)

sName - строка, идентифицирующая набор данных

nFlags - параметр зарезервирован, должен быть нулем

Описание:

Данные возвращаются в виде объекта типа VARIANT. Если тип возвращаемых данных VT_UNKNOWN, то данные представлены в виде потока IStream.


GetNameByIndex method (IMapCustomData)

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

Применяется к:

IMapCustomData

Синтаксис:

Visual Basic:

Function GetNameByIndex(nIndex As Long) As String

nIndex - индекс набора (нумерация с нуля)


RemoveData method (IMapCustomData)

Удаляет набор дополнительный информации из карты по имени.

Применяется к:

IMapCustomData

Синтаксис:

Visual Basic:

Function RemoveData(sName As String)

sName - строка, идентифицирующая набор данных


SetData method (IMapCustomData)

Добавляет дополнительные данные в карту по имени.

Применяется к:

IMapCustomData

Синтаксис:

Visual Basic:

Function SetData(sName As String, Data, nFlags As Long)

sName - строка, идентифицирующая набор данных

Data - объект VARIANT, содержащий набор данных

nFlags - параметр зарезервирован, должен быть нулем

Описание:

Данные содержаться в виде объекта типа VARIANT. На данный момент это либо строка (VT_BSTR), либо данные из потока IStream (VT_UNKNOWN).

Если данные с указанным именем уже существуют, они будут перезаписаны под тем же именем.


IMapStyle object

Объект, содержащий ряд свойств, определяющих стиль отображения карты. Возвращается свойством карты MapDoc.MapStyle.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

LatLonColor

LatStep

LonStep

ShowLatLonLines


LatLonColor method (IMapStyle)

Задает/возвращает цвет отображения параллелей и меридианов на карте.

Применяется к:

IMapStyle

Синтаксис:

Visual Basic:

Property LatLonColor As Long


LatStep method (IMapStyle)

Задает/возвращает шаг отображения на карте параллелей в градусах.

Применяется к:

IMapStyle

Синтаксис:

Visual Basic:

Property LatStep As Double


LonStep method (IMapStyle)

Задает/возвращает шаг отображения на карте меридианов в градусах.

Применяется к:

IMapStyle

Синтаксис:

Visual Basic:

Property LonStep As Double


ShowLatLonLines method (IMapStyle)

Задает/возвращает признак отображения на карте параллелей и меридианов.

Применяется к:

IMapStyle

Синтаксис:

Visual Basic:

Property ShowLatLonLines As Boolean


IMapView object

Интерфейс, описывающий окно карты. Входит как образующий элемент в коллекцию IMapViews.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

CenterX

CenterY

ChangeAngleEnabled

ChangeCenterEnabled

ChangeScaleEnabled

hWnd

Map

MapAngle

MapScale

MaxScale

MinScale

RedrawMode

BookmarkGoTo

CancelCenterClipping

DrawInContourExtents

DrawInElementExtents

DrawInLayerExtents

DrawInMapExtents

DrawInSelectionExtents

GetBoundsRectangle

GetCenter

GetCenterClipRectangle

GetCRS

GetDCByDrawHandle

GetDrawHandle

GetRealX

GetRealXY

GetRealY

GetScreenXY

GetUnits

GetViewX

GetViewY

IsPrintingByDrawHandle

ReleaseDrawHandle

SetCenter

SetCenterClipRectangle

SetLabel


BookmarkGoTo method (IMapView)

Выполняет переход на указанную закладку.

Применяется к:

IMapView

Синтаксис:

Function BookmarkGoTo(Index As Long) As Boolean

Index - индекс закладки.

Описание:

При переходе на закладку происходит перестроение вида со сменой масштаба и центра.


CancelCenterClipping method (IMapView)

Отменяет границы изменения центра отображения карты, ранее установленные методом SetCenterClipRectangle.

Применяется к:

IMapView

Синтаксис:

Sub CancelCenterClipping()


CenterX property (IMapView)

Возвращает/устанавливает X-координату центра карты.

Применяется к:

IMapView

Синтаксис:

Property CenterX As Double


CenterY property (IMapView)

Возвращает/устанавливает Y-координату центра карты.

Применяется к:

IMapView

Синтаксис:

Property CenterY As Double


ChangeAngleEnabled property (IMapView)


ChangeCenterEnabled property (IMapView)


ChangeScaleEnabled property (IMapView)


DrawInContourExtents method (IMapView)

Отображает карту по габаритам контура.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Sub DrawInContourExtents(Region As Contour)

Описание:

Перестроение карты (изменение масштаба и центра отображения) происходит таким образом, чтобы в окно карты вписался указанный контур.


DrawInElementExtents method (IMapView)

Отображает карту по габаритам объекта слоя.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Sub DrawInElementExtents(vLayer, ElemID As Long)

vLayer - переменная типа VARIANT, определяющая слой карты:

  • либо индекс слоя (нумерация с единицы),

  • либо объект Layer.

ElemID - ID объекта в слое.

Описание:

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


DrawInLayerExtents method (IMapView)

Отображает карту по габаритам слоя.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Sub DrawInLayerExtents(vLayer)

vLayer - переменная типа VARIANT, определяющая слой карты:

  • либо индекс слоя в карте (нумерация с единицы),

  • либо объект Layer.

Описание:

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


DrawInMapExtents method (IMapView)

Отображает всю карту.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Sub DrawInMapExtents()

Описание:

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


DrawInSelectionExtents method (IMapView)

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

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Sub DrawInSelectionExtents(vLayer)

vLayer - переменная типа VARIANT, определяющая слой карты:

  • либо индекс слоя в карте (нумерация с единицы),

  • либо объект Layer.

Описание:

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


GetBoundsRectangle method (IMapView)

Возвращает объект ZRectangle, содержащий координаты углов текущего вида.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle

Пример:

'Получить координаты углов карты:
Sub ScreenBounds()

'VBScript

Set Doc = Zulu.ActiveMapDoc

Set RC = Doc.Views.Active.GetBoundsRectangle

msgbox  "Xmin: " + Cstr(RC.Xmin) + Chr(10) + "Ymin: " + Cstr(RC.Ymin) + Chr(10) + _
        "Xmax: " + Cstr(RC.Xmax) + Chr(10) + "Ymax: " + Cstr(RC.Ymax)

End Sub


GetCenter method (IMapView)

Возвращает координаты центра отображения карты.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetCenter(X As Double, Y As Double) As Long

X, Y - возвращаемые координаты центра карты на местности.

Описание:

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


GetCenterClipRectangle method (IMapView)

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

Применяется к:

IMapView

Синтаксис:

Function GetCenterClipRectangle() As ZRectangle

Описание:

Метод возвращает прямоугольную область, заданную ранее методом SetCenterClipRectangle, в виде объекта ZRectangle.


GetCRS method (IMapView)

Метод возвращает объект CRS, описывающий систему координат, в которой отображаются данные в окне карты (проекция отображения).

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetCRS() As CRS


GetDCByDrawHandle method (IMapView)

Возвращает значение HDC по параметру DrawHandle.

Применяется к:

IMapView

Синтаксис:

Function GetDCByDrawHandle(DrawHandle As Long) As Long

Описание:

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


GetDrawHandle method (IMapView)

Возвращает значение DrawHandle, позволяющее рисовать в окне карты.

Применяется к:

IMapView

Синтаксис:

Function GetDrawHandle() As Long

Описание:

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


GetRealX method (IMapView)

Возвращает X-координату местности по Y-координате экрана.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetRealX(ViewY As Long) As Double

Описание:

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


GetRealXY method (IMapView)

Возвращает координаты местности по экранным координатам карты.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetRealXY(ScreenX As Long, ScreenY As Long, X As Double, Y As Double) As Long

ScreenX, ScreenY - экранные координаты карты

X, Y - возвращаемые координаты местности.

Описание:

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


GetRealY method (IMapView)

Возвращает Y-координату местности по X-координате экрана.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetRealY(ViewX As Long) As Double

Описание:

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


GetScreenXY method (IMapView)

Возвращает точку в экранных координатах для заданной точки на местности.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetScreenXY(X As Double, Y As Double, ScreenX As Long, ScreenY As Long) As Long

X, Y - координаты точки на местности.

ScreenX, ScreenY - возвращаемые экранные координаты точки.

Описание:

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


GetUnits method (IMapView)

Возвращает единицы измерения координат для текущей проекции карты.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetUnits() As eUnits

Описание:

Именно в этих единицах работают все методы объекта IMapView, которые возвращают или устанавливают координаты местности карты.


GetViewX method (IMapView)

Возвращает X-координату экрана для заданной координаты на местности.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetViewX(RealY As Double) As Long.

RealY - Y-координатa местности.

Описание:

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


GetViewY method (IMapView)

Возвращает Y-координату экрнанa для заданной X-координаты на местности.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function GetViewY(RealX As Double) As Long

RealX - X-координата на местности.

Описание:

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


hWnd property (IMapView)

Возвращает hWnd панели.

Применяется к:

IMapView

Синтаксис:

Property hWnd As Long

read-only


IsPrintingByDrawHandle property (IMapView)

Возвращает признак, определяющий выводится ли данное изображение на печать или на экран.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function IsPrintingByDrawHandle(DrawHandle As Long) As Boolean


Map property (IMapView)

Возвращает объект MapDoc, который отображает данный вид.

Применяется к:

IMapView

Синтаксис:

Property Map As MapDoc

read-only


MapAngle property (IMapView)

Возвращает/устанавливает угол поворота карты.

Применяется к:

MapView

Синтаксис:

Visual Basic:

Property MapAngle As Double

Описание:

Значение угла поворота задается в градусах. Направление поворота - против часовой стрелки.

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


MapScale property (IMapView)

Возвращает/устанавливает масштаб отображения карты.

Применяется к:

IMapView

Синтаксис:

Property MapScale As Double


MaxScale property (IMapView)

Возвращает\устанавливает максимальный масштаб отображения карты.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Property MaxScale As Double

Описание:

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


MinScale property (IMapView)

Возвращает\устанавливает минимальный масштаб отображения карты.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Property MinScale As Double

Описание:

Если значение MinScale равно нулю, то ограничение по минимальному масштабу отображения равно ограничению по умолчанию (1:1).


RedrawMode property (IMapView)

Возвращает\устанавливает режим перерисовки окна карты.

Применяется к:

IMapView

Синтаксис:

Property RedrawMode As Long

0 - очищать области карты перед перерисовкой.

1 - не очищать область отрисовки.


ReleaseDrawHandle method (IMapView)

Высвобождает параметр DrawHandle.

Применяется к:

IMapView

Синтаксис:

Sub ReleaseDrawHandle(DrawHandle As Long)

Описание:

Этот метод следует вызывать только после предшествующего вызова метода GetDrawHandle.


SetCenter method (IMapView)

Устанавливает координаты центра отображения карты.

Применяется к:

IMapView

Синтаксис:

Visual Basic:

Function SetCenter(X As Double, Y As Double) As Long

X, Y - координаты центра карты на местности.

Описание:

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


SetCenterClipRectangle method (IMapView)

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

Применяется к:

IMapView

Синтаксис:

Sub SetCenterClipRectangle(Rc As ZRectangle)

Rc - объект ZRectangle, задающий область ограничения изменения центра карты.

Описание:

Отменить заданную область ограничения можно методом CancelCenterClipping.

Пример:

'Ограничить область изменения центра отображения размерами карты:
MapCtrl1.Map.Views.Active.SetCenterClipRectangle MapCtrl1.Map.GetBoundsRectangle


SetLabel method (IMapView)

Выводит тeкст на карту.

Применяется к:

IMapView

Синтаксис:

Function SetLabel(DrawHandle As Long, X As Double, Y As Double, shiftX As Long, shiftY As Long, text As String, Style As Long, fColor As Long, align As eLabelPosition) As Long


IMapViews collection

Коллекция окон карты, отображающих данный документ. Входит как свойство Views объекта MapDoc.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Active

Count

Item


Active property (IMapViews)

Возвращает активный элемент из коллекции.

Применяется к:

IMapViews

Синтаксис:

Visual Basic:

Property Active As IMapView

read-only


Count property (IMapViews)

Возвращает число элементов, входящих в коллекцию.

Применяется к:

IMapViews

Синтаксис:

Visual Basic:

Property Count As Long


Item property (IMapViews)

Возвращает элемент из коллекции по индексу.

Применяется к:

IMapViews

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IMapView

read-only

Index - номер элемента в коллекции.


InMemoryLayer object

Объект, предоставляющий набор дополнительных методов для работы со слоем в памяти. Является подобъектом объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

GetBlink

GetElemData

GetTrackID

GetTrackStyle

IsTracking

SetBlink

SetElemData

SetText

SetTrackStyle

StartTracking

StopTracking


GetBlink (InMemoryLayer)

Возвращает значение интервала мигания объекта слоя в памяти.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Function GetBlink(ElemID As Long) As Long

ElemID - ID объекта.

Описание:

Метод возвращает значение интервала мигания в миллисекундах. Если возвращаемое значение равно нулю, значит объект с указанным ID не мигает. Задать интервал мигания объекта можно методом SetBlink.


GetElemData (InMemoryLayer)

Возвращает 32-битное целое число, ассоциированное с указанным объектом слоя в памяти.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Function GetElemData(ElemID As Long) As Long

ElemID - ID объекта.


GetTrackID (InMemoryLayer)

Возвращает ID линейного объекта, являющегося путем перемещения заданного объекта в памяти.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Function GetTrackID(ElemID As Long) As Long

ElemID - ID объекта.

Описание:

Метод возвращает ID объекта содержащего полилинию, накапливающую точки перемещения заданного объекта с момента последнего вызова для этого объекта метода StartTracking. Если регистрация перемещений объекта не ведется, метод вернет -1.


GetTrackStyle (InMemoryLayer)

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

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Function GetTrackStyle(ElemID As Long) As ElemStyle

ElemID - ID объекта.

Описание:

Метод возвращает объект ElemStyle, содержащий атрибуты стиля полилинии.


IsTracking (InMemoryLayer)

Возвращает признак, того, ведется или нет регистрация пути перемещения указанного объекта в памяти.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Function IsTracking(ElemID As Long) As Boolean

ElemID - ID объекта.


SetBlink (InMemoryLayer)

Устанавливает режим мигания объекта слоя в памяти.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Sub SetBlink(ElemID As Long, Interval As Long)

ElemID - ID объекта.

Interval - интервал мигания объекта в миллисекундах. 0 - отсутствие мигания.


SetElemData (InMemoryLayer)

Устанавливает 32-битное целое число, ассоциированное с указанным объектом слоя в памяти.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Sub SetElemData(ElemID As Long, dwElemData As Long)

ElemID - ID объекта.

dwElemData - ассоциируемое с объектом число.


SetText (InMemoryLayer)

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

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Function SetText(ElemID As Long, TagID As Long, text As String, Font As StdFont, Angle As Double) As Boolean

ElemID - ID объекта.

TagID - ID места вывода пользовательского текста в символе.

text - текстовая строка.

Font - объект StdFont с атрибутами отображения текста.

Angle - угол наклона при отображении текста в градусах против часовой стрелки от трех часов.

Описание:

Для вывода пользовательского текста совместно с символом, отображающим объект, в описании символа должна присутствовать метка для вывода текста. Метка представляет собой текстовый объект, начинающийся знаком @, за которым следует значение ID метки. Например, для текстового объекта, содержащегося в описании символа, с текстом @12, TagID = 12.По умолчанию для каждой метки символа выводится пустая строка.


SetTrackStyle (InMemoryLayer)

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

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Sub SetTrackStyle(ElemID As Long, Style As ElemStyle)

ElemID - ID объекта.

Style - объект с атрибутами отображения полилинии.


StartTracking (InMemoryLayer)

Инициирует режим регистрации пути перемещения объекта в памяти в виде полилинии.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Sub StartTracking(ElemID As Long)

ElemID - ID объекта.

Описание:

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

Стиль полилинии, содержащий путь задается методом SetTrackStyle. Полилиния является линейным объектом этого же слоя. Получить ID полилинии можно методом GetTrackID.

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

Остановить регистрацию пути можно методом StopTracking.


StopTracking (InMemoryLayer)

Останавливает регистрацию пути перемещения объекта в памяти.

Применяется к:

InMemoryLayer

Синтаксис:

Visual Basic:

Sub StopTracking(ElemID As Long)

ElemID - ID объекта.

Описание:

Накопленный ранее путь перемещения объекта в памяти удаляется и дальнейшая регистрация пути прекращается.


IOutputChannel object

Объект, предоставляющий доступ к закладке окна сообщений. Доступ к этому объекту осуществляется через метод OpenOutputChannel объекта Zulu.

Входит в состав библиотеки ZuluGIS 2021 Application.

Свойства и методы:

Свойства

Методы

AutoClose

Name

Title

Activate

Clear

PrintDataset

Put

PutLine

SetCallbackSink


Activate method (IOutputChannel)

Активизировать закладку окна сообщений.

Применяется к:

IOutputChannel

Синтаксис:

Sub Activate()


AutoClose property (IOutputChannel)

Определяет автоматическое закрытие вкладки в окне сообщений.

Применяется к:

IOutputChannel

Синтаксис:

Property AutoClose As Boolean

Описание:

Когда объект IOutputChannel высвобождается, то если не указано иначе и открыта дополнительная вкладка сообщений, то соответствующая ему вкладка закрывается. С помощью свойства AutoClose установленного в False можно сделать так, чтобы вкладка оставалась видимой. Впоследствии можно закрыть вкладку с помощью контекстного меню.


Clear method (IOutputChannel)

Очистить вкладку окна сообщений.

Применяется к:

IOutputChannel

Синтаксис:

Sub Clear()


Name property (IOutputChannel)

Возвращает название закладки в окне сообщений.

Применяется к:

IOutputChannel

Синтаксис:

Property Name As String

read-only

Описание:

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


PrintDataset method (IOutputChannel)

Выводит в окно сообщений набор данных (dataset) в табличном виде.

Применяется к:

IOutputChannel

Синтаксис:

Sub PrintDataset(vDataset, vOptions)

vDataset - объект содержащий набор данных (dataset).

На данный момент может содержать объекты типа IZbDataset и ElementKeys

vOptions - содержит битовые флаги с настройками вывода.

биты от 1 до 4 (0xF) - содержат число знаков после запятой для числовых значений.

256 (0x100) - отображение рамок таблицы.

512 (0x200) - разделяет данные и заголовок таблицы пустой строкой.

1024 (0x400) - вывод каждого элемента таблицы, заключенным в двойные кавычки с запятой в качестве разделителя.

2048 (0x800) - вывод перед ключом объекта префикса "ID=" для позиционирования на объект на карте.

Пример VbScript:

'Получаем запросом длины участков слоя тепловой сети и выводим их в табличном виде
Sub PrintDataset

'Получаем объект для вывода в окно сообщений
Set Out = Zulu.OpenOutputChannel("")
'Очищаем окно сообщений
Out.Clear

'Создаем объект слоя
Set L1 = CreateObject("ZuluLib.Layer")

'Открываем слой на сервере zs.zulugis
L1.Open "zulu://zs.zulugis.ru:6473/Termo/Kvartal/teplosam.zl"

'Запрашиваем значения полей Sys и L для объектов с типом 6
Set res = L1.ExecSQL("Select SYS,L WHERE typeid = 6")

if res.RetCode = 0 then

'выводим результаты запроса с точностью до второго знака после запятой в табличном виде с рамками таблицы
Out.PrintDataset res.DataSet, 2 + &H100

End IF

End Sub


Put method (IOutputChannel)

Выводит строку в окно сообщений.

Применяется к:

IOutputChannel

Синтаксис:

Sub Put(Text As String)

Text - строка, выводимая в окно сообщеняй.

Описание:

Строка может содержать теги оформления:

{\B} - начинает вывод жирным шрифтом

{\b} - завершает вывод жирным шрифтом

{\I} - начинает вывод курсивом

{\i} - завершает вывод курсивом

{\U} - начинает вывод подчеркнутого текста

{\u} - завершает вывод подчеркнутого текста

{\O} - начинает вывод перечеркнутого текста

{\o} - завершает вывод перечеркнутого текста

{\CBBGGRR} - назначает цвет текста в виде RGB, где каждый цвет задан числом в шестнадцатеричном формате

{\c} - восстанавливает цвет текста по умолчанию


PutLine method (IOutputChannel)

Выводит строку в окно сообщений с добавлением символа новой строки.

Применяется к:

IOutputChannel

Синтаксис:

Sub PutLine(Text As String)

Text - строка, выводимая в окно сообщений.

Описание:

Строка может содержать теги оформления:

{\B} - начинает вывод жирным шрифтом

{\b} - завершает вывод жирным шрифтом

{\I} - начинает вывод курсивом

{\i} - завершает вывод курсивом

{\U} - начинает вывод подчеркнутого текста

{\u} - завершает вывод подчеркнутого текста

{\O} - начинает вывод перечеркнутого текста

{\o} - завершает вывод перечеркнутого текста

{\CBBGGRR} - назначает цвет текста в виде RGB, где каждый цвет задан числом в шестнадцатеричном формате

{\c} - восстанавливает цвет текста по умолчанию


SetCallbackSink method (IOutputChannel)

Установить обработчик событий.

Применяется к:

IOutputChannel

Синтаксис:

Sub SetCallbackSink(Callback As Object)


Title property (IOutputChannel)

Возвращает заголовок закладки в окне сообщений.

Применяется к:

IOutputChannel

Синтаксис:

Property Title As String


IPluginConnector object

Объект, который предоставляется модулю расширения для связи с системой и получения доступа к методам и свойствам объекта Zulu через свойство Zulu.

Для связи модуля с системой Zulu необходимо описать у модуля два метода: ConnectZuluPlugin и DisconnectZuluPlugin. Параметр метода ConnectZuluPlugin — объект связи с Zulu, IPluginConnector. В дальнейшем этот объект освобождается в методе DisconnectZuluPlugin. (См. Модули расширения (plug-ins))

Входит в состав библиотеки ZuluGIS 2021 Application.

Свойства и методы:

Свойства

Методы

Zulu

FireEvent

GetObject

Lock

QueryPlugin

SetEventCallback

SetEventSink

Unlock

Пример:

Dim Connector As IPluginConnector
Public Function ConnectZuluPlugin(Conn As IPluginConnector) As Boolean
    Set Connector = Conn
    Set EvSink.Control = Me
    Connector.SetEventSink EvSink
    ConnectZuluPlugin = True
End Function


FireEvent method (IPluginConnector)

Вызывается модулем чтобы инициировать какое-либо сообщение в системе.

Применяется к :

IPluginConnector

Синтаксис:

Sub FireEvent(EventID As Long, Param1, Param2, Param3)


GetObject method (IPluginConnector)

В случае, если модуль выполнен в виде COM-объекта или ActiveX-элемента, возвращает этот объект.

Применяется к :

IPluginConnector

Синтаксис:

Function GetObject() As Object


Lock method (IPluginConnector)

Увеличивает счетчик блокировок соединения.

Применяется к :

IPluginConnector

Синтаксис:

Sub Lock()


QueryPlugin method (IPluginConnector)

Вызывает из модуля обработчик события.

Применяется к :

IPluginConnector

Синтаксис:

Function QueryPlugin(What As String, Param)


SetEventCallback method (IPluginConnector)

Устанавливает функцию-обработчик событий от Zulu. Используется в плагинах, выполненные в виде модуля с экспортируемыми функциями.

Применяется к:

IPluginConnector

Синтаксис:

HRESULT SetEventCallback( [in] long lpfnCallback).

Описание:

Устанавливает функцию-обработчик событий. Адрес функции передается в виде параметра lpfnCallback.

Функция имеет формат:

BOOL __stdcall OnZuluEvent(DWORD dwCookie, UINT nEventID, IUnknown *pSource,
                           VARIANT Param1, VARIANT Param2, VARIANT Param3);

Параметры функции:

Параметр

Описание

dwCookie

Значение cookie, которое плагин возвращает в методе ConnectZuluPlugin.

nEventID | Код события из набора констант eZuluEvents
pSource | Объект-источник события. В зависимости от события это может быть объект Zulu, документ Document, окно карты IMapView или какой-либо другой объект
Param1 - Param3 | Дополнительные параметры события.


SetEventSink method (IPluginConnector)

Устанавливает объект-приемник событий от Zulu.

Применяется к:

IPluginConnector

Синтаксис:

Sub SetEventSink(Sink As Object)

Описание:

Устанавливаемый объект-приемник должен быть OLE Automation Object (ComVisible в терминах .Net) и поддерживать интерфейс IDispatch. Объект должен предоставлять метод OnZuluEvent, который будет вызываться системой при возникновении события.

Пример:

' Visual Basic
' Пример: устанавливаем объект EvSink как приемник событий
Connector.SetEventSink EvSink

' Пример: отключаем приемник событий
Connector.SetEventSink Nothing


Unlock method (IPluginConnector)


Zulu property (IPluginConnector)

Возвращает объект Zulu.

Применяется к :

IPluginConnector

Синтаксис:

Property Zulu As Zulu

read-only


IProjection object

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

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Описание

Name

ProjType

Название проекции.

Тип проекции из набора eProjectionType.


IProjections collection

Представляет коллекцию картографических проекций IProjection, поддерживаемых системой.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Count

Item

ItemByType


Count property (IProjections)

Возвращает количество картографических проекций (объектов IProjection) в коллекции.

Применяется к:

IProjections

Синтаксис:

Property Count As Long

read-only


Item property (IProjections)

Возвращает по индексу объект IProjection из коллекции.

Применяется к:

IProjections

Синтаксис:

Property Item(Index As Long) As IProjection

read-only


ItemByType property (IProjections)

Возвращает объект IProjection из коллекции по типу проекции из набора eProjectionType.

Применяется к:

IProjections

Синтаксис:

Property ItemByType(Type As eProjectionType) As IProjection

read-only

Type - код проекции.


IPropertyBarPage object

Служебный интерфейс.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Grid - возвращает/устанавливает признак отображения сетки редактора на экране.

Activate - активизирует окно свойств.

Name - возвращает/устанавливает название окна страницы свойств.

SetCallbackSink

Visible - возвращает/устанавливает признак отображения окна страницы свойств на экране.

SetCallbackProc


IReliefLayer object

Интерфейс для работы со слоем рельефа. Возвращается как свойство ReliefLayer объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

CreateVoronoi

GetZ

QuickAccessStart

QuickAccessStop


CreateVoronoi method (IReliefLayer)

Создает по слою рельефа слой с ячейками Вороного для всех вершин всех треугольников.

Применяется к:

IReliefLayer

Синтаксис:

Visual Basic:

Function CreateVoronoi(Path As String, UserName As String, nFlags As Long, vSrc) As Boolean

Path - имя слоя для записи

UserName - пользовательское название слоя для записи

nFlags - флаги:

16 - создаем таблицу с записью X, Y, Z центров ячеек

vSrc - имя источника базы данных для флага 16


GetZ method (IReliefLayer)

Возвращает высоту (Z) в заданной точке слоя рельефа.

Применяется к:

IReliefLayer

Синтаксис:

Visual Basic:

Function GetZ(X As Double, Y As Double, inCRS As CRS) As Double

X, Y - координаты точки

inCRS - система координат точки

Описание:

Если система координат точки не задана (Nothing), то считается, что координаты точки соответствуют системе координат слоя.

Если для указанной точки высота в слое рельефа не найдена, метод вернет -1000000.


QuickAccessStart method (IReliefLayer)

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

Применяется к:

IReliefLayer

Синтаксис:

Visual Basic:

Sub QuickAccessStart()

Описание:

По окончании работы с данными следует закрыть буферизованный доступ к слою рельефа, вызвав метод QuickAccessStop.


QuickAccessStop method (IReliefLayer)

Закрывает буферизованный доступ к данным слоя рельефа.

Применяется к:

IReliefLayer

Синтаксис:

Visual Basic:

Sub QuickAccessStop()

Описание:

Закрывает буферизованный доступ к слою рельефа, инициированный методом QuickAccessStart.


ITileLayer object

Интерфейс для работы с тайловым слоем (Tile-layer). Возвращается как свойство TileLayer объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

GetLayerDef

GetLevelBoundsRectangle

GetLevelLimits

GetShiftX

GetShiftY

SetLayerDef

SetTileShift


GetLayerDef method (ITileLayer)

Возвращает описатель тайлового слоя.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function GetLayerDef() As TileLayerDef

Пример:

'Изменение диапазона масштабов слоя L
Dim Def As TileLayerDef

'Проверяем, что слой тайловый
If L.Type = eTileLayer OR L.Type = eRemoteTileLayer Then

    'Получаем описатель слоя
    Set Def  = L.GetLayerDef

'Задаем новый диапазон масштабов вывода плиток
    Def.SetLevelRange 2, 16

'Обновляем слой
    L.SetLayerDef Def

End If


GetLevelBoundsRectangle method (ITileLayer)

Возвращает прямоугольник ZRectangle с габаритами, которые занимает заданный уровень слоя.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function GetLevelBoundsRectangle(z as Long ) As ZRectangle


GetLevelLimits method (ITileLayer)

Возвращает прямоугольник ZRectangle с граничными значениями номеров плиток по x и у, для заданного уровня слоя.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function GetLevelLimits(z as Long ) As ZRectangle


GetShiftX method (ITileLayer)

Возвращает локальный сдвиг плитки по X.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function GetShiftX() As Double

Описание:

Значение возвращается в метрах. Задается методом SetTileShift


GetShiftY method (ITileLayer)

Возвращает локальный сдвиг плитки по Y.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function GetShiftY() As Double

Описание:

Значение возвращается в метрах. Задается методом SetTileShift


SetLayerDef method (ITileLayer)

Обновляет описатель тайлового слоя.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function SetLayerDef(Def As TileLayerDef) As Boolean

Def - объект с описанием параметров слоя.

Пример:

'Изменение диапазона масштабов слоя L
Dim Def As TileLayerDef

'Проверяем, что слой тайловый
If L.Type = eTileLayer OR L.Type = eRemoteTileLayer Then

    'Получаем описатель слоя
    Set Def  = L.GetLayerDef

'Задаем новый диапазон масштабов вывода плиток
    Def.SetLevelRange 2, 16

''Обновляем слой
    L.SetLayerDef Def

End If


SetTileShift method (ITileLayer)

Задает локальный сдвиг при выводе плиток на местности.

Применяется к:

ITileLayer

Синтаксис:

Visual Basic:

Function SetTileShift(X as Double, Y as Double) As Long

Описание:

Сдвиги по X и Y задаются в метрах и не превышают 200 м. Это может пригодиться при локальной подгонке плиток к другим данным на карте в конкретной рабочей области. Не следует использовать эти сдвиги, как универсальную корректировку всей тайловой системы.


ITrackingLayer object

Интерфейс для работы со слоем трекинга. Возвращается как свойство TrackingLayer объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

ClearFieldConditions

GetFieldCondition

GetUserIDFilter

SetFieldCondition

SetTimeFilter

SetUserIDFilter


ClearFieldConditions method (ITrackingLayer)

Очищает все условия по полям.

Применяется к:

ITrackingLayer

Синтаксис:

Visual Basic:

Sub ClearFieldConditions(Flags As Long)

Flags - флаги:

1 - сохраняет условия для UserID, в противном случае очищает и условия для него


GetFieldCondition method (ITrackingLayer)

Возвращает условие фильтра слоя трекинга для заданного поля.

Применяется к:

ITrackingLayer

Синтаксис:

Visual Basic:

Function GetFieldCondition(sField As String, Reserved As Long) As String

sField - имя поля

Reserved - зарезервирован, должно быть 0

Описание:

Синтаксис условия соответствует синтаксису "Запроса по образцу", который используется в окне браузера баз данных в закладке Запрос.

Пример:

'Получаем фильтр для поля 'Филиал'
S = Layer.TrackingLayer.GetFieldCondition "Филиал", 0


GetUserIDFilter method (ITrackingLayer)

Возвращает значение фильтра для поля UserID.

Применяется к:

ITrackingLayer

Синтаксис:

Visual Basic:

Function GetUserIDFilter() As String

Описание:

Синтаксис условия соответствует синтаксису "Запроса по образцу", который используется в окне браузера баз данных в закладке Запрос.


SetFieldCondition method (ITrackingLayer)

Добавляет к фильтру слоя трекинга условие для заданного поля.

Применяется к:

ITrackingLayer

Синтаксис:

Visual Basic:

Function SetFieldCondition(sField As String, sCondion As String, Reserved As Long) As Long

sField - имя поля

sCondion - условие

Reserved - зарезервирован, должно быть 0

Описание:

Синтаксис условия соответствует синтаксису "Запроса по образцу", который используется в окне браузера баз данных в закладке Запрос. Если указанное поле в слое существует, метод вернет 0. В противном случае метод вернет -1

Пример:

'добавляем фильтр для поля 'Филиал'
Layer.TrackingLayer.SetFieldCondition "Филиал", "Филиал N1",0


SetTimeFilter method (ITrackingLayer)

Задает временной диапазон для выборки данных из слоя трекинга.

Применяется к:

ITrackingLayer

Синтаксис:

Visual Basic:

Function SetTimeFilter(TimeFrom, TimeTo, nLastDays as Long, nOption as Long) As Long

TimeFrom - дата левой границы интервала времени

TimeTo - дата правой границы интервала времени

nLastDays - количество последних N дней от текущей даты

nOption - тип временного фильтра:

0 - без фильтра

1 - сегодня (текущая дата)

2 - последних N дней от текущей даты

3 - интервал времени

Пример:

'задаем интевал времени
Layer.TrackingLayer.SetTimeFilter "05.12.2016", "15.05.2017", 0, 3


SetUserIDFilter method (ITrackingLayer)

Добавляет фильтр для поля UserID.

Применяется к:

ITrackingLayer

Синтаксис:

Visual Basic:

Function SetUserIDFilter(sFilter As String) As Long

sFilter - фильтр для поля UserID

Описание:

Синтаксис условия соответствует синтаксису "Запроса по образцу", который используется в окне браузера баз данных в закладке Запрос.

Пример:

'добавляем фильтр для одного пользователя
Layer.TrackingLayer.SetUserIDFilter "392",0

'добавляем фильтр для нескольких пользователей
Layer.TrackingLayer.SetUserIDFilter "123456,678910,5678",0


IWindows collection

Коллекция объектов Window, представляющих окна приложения Zulu.

Входит в состав библиотеки ZuluGIS 2021 Application.

Свойства и методы:

Свойства

Методы

Count

Item

Parent

Zulu

FindWindow


Active property (IWindows)


Count property (IWindows)

Возвращает количество элементов в коллекции.

Применяется к:

IWindows

Синтаксис:

Visual Basic:

Property Count As Integer

read-only


FindWindow method (IWindows)

Возвращает объект Window из коллекции, соответствующий окну, имеющему указанный заголовок.

Применяется к:

IWindows

Синтаксис:

Visual Basic:

Function FindWindow(Caption As String) As Window

Caption - текст заголовка по которому ищется окно.


Item property (IWindows)

Возвращает объект Window из коллекции по индексу.

Применяется к:

IWindows

Синтаксис:

Visual Basic:

Property Item(Index As Integer) As Window

read-only

Index - индекс элемента в коллекции.


Parent property (IWindows)

Возвращает объект, которому данная коллекция принадлежит.

Применяется к:

IWindows

Синтаксис:

Visual Basic:

Property Parent As Object

read-only


Zulu property (IWindows)

Возвращает объект Zulu, являющийся корневым объектом приложения.

Применяется к:

IWindows

Синтаксис:

Visual Basic:

Property Zulu As Zulu

read-only


IWmsLayer object

Интерфейс для работы со слоем WMS. Возвращается как свойство WmsLayer объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

GetInfoByXY


GetInfoByXY method (IWmsLayer)

Возвращает информацию WMS слоя по указанной точке на местности.

Применяется к:

IWmsLayer

Синтаксис:

Visual Basic:

Function GetInfoByXY(X As Double, Y As Double, Scale As Double)

X, Y - координаты местности точки, по которой запрашивается информация

Scale - масштаб, при котором выполняется запрос

Описание:

Метод возвращает вариантную переменную, содержащую в текстовом формате ответ WMS сервера на выполненный запрос.


IZbAsciiFormat Object

Объект, описывающий формат данных в текстовом файле.

Входит в состав ZuluGIS 2021 Database Connection Library.

Регистрационная информация:

PROGID:

Zb.ZbAsciiFormat

CLSID:

{125073A3-0B01-11D2-B55D-444553540000}

Свойства:

Свойство

Тип

Описание

CodePage

 Long

Задаёт кодировку, в которой следует интерпретировать входящий файл.

0 - кодировка ANSI

65534 - кодировка UNICODE

65001 - кодировка UTF8

DateFormat

zbDateFormat

Задает формат даты/времени.

DateMask

String

Задает строковую маску даты/времени.

Delimeter

Long

Задает ограничитель строковых полей. Может быть значением из zbDelimeterType, либо символ ASCII.

FieldDisplayNames | Boolean | Определяет, что в качестве имен полей используются пользовательские названия.
FieldDisplayValues | Boolean | Определяет, что для полей, к которым подключены справочники, записываются отображаемые значения из справочников.

FirstRowHasFieldNames

Boolean

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

Separator

Long

Задает разделитель полей. Может быть значением из zbSeparatorType, либо символ ASCII.

Пример создания:

'Visual Basic:
Dim format As Zb.ZbAsciiFormat
Set format = New Zb.ZbAsciiFormat
//Delphi:
format: IZbAsciiFormat;
format := CoZbAsciiFormat.Create;
'VBScript:
Set format = CreateObject("Zb.ZbAsciiFormat")


IZbBlob object

Объект, описывающий данные BLOB.

Входит в состав ZuluGIS 2021 Database Connection Library.

Регистрационная информация:

PROGID:

Zb.ZbBlob

CLSID:

{125073B8-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Database

IsCollection

IsEmpty

Items

Clear

ContentEquals

GetContent

SaveContent

SetContent

Примеры создания:

'Visual Basic:
Dim blob As Zb.ZbBlob
Set blob = New Zb.ZbBlob
//Delphi:
tbldef: IZbBlob;
tbldef := CoZbBlob.Create;
'VBScript:
Set tbldef = CreateObject("Zb.ZbBlob")


Clear method (IZbBlob)

Очищает содержимое BLOB.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Sub Clear()


ContentEquals method (IZbBlob)

Сравнивает содержимое объекта BLOB с данными Content и возвращает True, если данные одинаковы, иначе False.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Function ContentEquals(nOpt As Long, Content) As Boolean

nOpt - набор флагов.

Content - данные, с которыми сравнивается текущее содержимое объекта.

Описание

Метод сравнивает двоичные данные, содержащиеся в BLOB с данными из Content. Если данные одинаковы, то метод возвращает True, иначе False.

Значение Content может быть строкой, массивом байт или другой объект IZbBlob.

В случае, если Content содержит строку, a nOpt равно 1, то данные берутся из файла, путь к которому указан в параметре Content.


Database property (IZbBlob)

Задаёт объект ZbDatabase, через который получаются и передаются данные BLOB.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Property Database As ZbDatabase


GetContent method (IZbBlob)

Возвращает содержимое BLOB.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Function GetContent(nOpt As Integer)

nOpt - набор флагов.

Описание:

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

Возможные значения флагов перечислены ниже:

Флаг

Описание
1 | Если объект BLOB содержит текст, возвращать содержимое в виде строки UNICODE.
2 | Вне зависимости от типа данных в объекте BLOB, возвращать данные в виде массива байт.


IsCollection property (IZbBlob)

Возвращает True если содержимое объекта BLOB представляет собой коллекцию файлов (галерея), иначе False.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Property IsCollection As Boolean


IsEmpty property (IZbBlob)

Возвращает True если содержимое объекта BLOB пусто, иначе False.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Property IsEmpty As Boolean


Items property (IZbBlob)

Возвращает объект IZbBlobItems, представляющий коллекцию элементов галереи.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Property Items As IZbBlobItems


SaveContent method (IZbBlob)

Сохраняет содержимое BLOB в файле.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Function SaveContent(nOpt As Integer, Target) As Boolean

nOpt - зарезервировано, д.б. 0.

Target - имя файла, куда сохраняются данные.

Описание

Метод сохраняет содержимое элемента в файле Target. В случае успеха возвращается True, иначе False.


SetContent method (IZbBlob)

Заменяет содержимое BLOB.

Применяется к:

IZbBlob

Синтаксис:

Visual Basic:

Function SetContent(nOpt As Integer, Content) As Boolean

nOpt - набор флагов.

Content - новое содержимое, устанавливаемое объекту.

Описание

Метод заменяет содержимое BLOB данными из Content. В случае успеха возвращается True, иначе False.

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

В случае, если Content содержит строку, a nOpt равно 1, то данные загружаются из файла, путь к которому указан в параметре Content.


IZbBlobItem object

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

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

FullName

FullName

Name

GetContent

SaveContent


FullName property (IZbBlobItem)

Возвращает полное имя элемента галереи.

Применяется к:

IZbBlobItem

Синтаксис:

Visual Basic:

Property FullName As String

read-only


GetContent method (IZbBlobItem)

Возвращает содержимое элемента галереи.

Применяется к:

IZbBlobItem

Синтаксис:

Visual Basic:

Function GetContent(nOpt As Integer)

nOpt - набор флагов.

Описание:

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

Возможные значения флагов перечислены ниже:

Флаг

Описание
1 | Если элемент содержит текст, возвращать содержимое в виде строки UNICODE.
2 | Вне зависимости от типа данных в элементе, возвращать массив байт.


IsLink property (IZbBlobItem)

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

Применяется к:

IZbBlobItem

Синтаксис:

Visual Basic:

Property IsLink As Boolean

read-only


Name property (IZbBlobItem)

Возвращает имя элемента галереи.

Применяется к:

IZbBlobItem

Синтаксис:

Visual Basic:

Property Name As String

read-only


SaveContent method (IZbBlobItem)

Сохраняет содержимое элемента галереи в файле.

Применяется к:

IZbBlobItem

Синтаксис:

Visual Basic:

Function SaveContent(nOpt As Integer, Target) As Boolean

nOpt - зарезервировано, д.б. 0.

Target - имя файла, куда сохраняются данные.

Описание

Метод сохраняет содержимое элемента в файле Target. В случае успеха возвращается True, иначе False.


IZbBlobItems object

Объект, описывающий коллекцию элементов галереи, хранящейся в BLOB. Входит как свойство Items в объект IZbBlob.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

Item

Add

FindItemByName

GetIndexByName

Remove

RemoveEx


Add method (IZbBlobItems)

Добавляет новый элемент в галерею.

Применяется к:

IZbBlobItems

Синтаксис:

Visual Basic:

Function Add(Name As String, nOpt As Integer, Content) As IZbBlobItem.

Name - имя файла в галерее.

nOpt - набор флагов из множества zbBlobSetContentOptions.

Content - содержимое файла, сохраняемого в галерее.

Описание:

Метод добавляет новый элемент в галерею с указанным именем и содержимым и возвращает объект IZbBlobItem.

С помощью метода можно также добавлять элементы-ссылки на файлы. Для этого есть несколько вариантов:

'Добавление ссылки на имеющийся файл
Set item = blob.Items.Add("", zbBlobFileLink, "./filename.ext")
'Добавление ссылки на имеющийся файл под заданным именем
Set item = blob.Items.Add("filename.ext", zbBlobFileLink, "./filename.ext")
'Загрузка файла на сервер и добавление ссылки на него
Set item = blob.Items.Add("", zbBlobContentFromFile + zbBlobFileLink, "filepath")

Пример


Count property (IZbBlobItems)

Возвращает количество элементов в коллекции.

Применяется к:

IZbBlobItems

Синтаксис:

Visual Basic:

Property Count As Long

read-only


FindItemByName method (IZbBlobItems)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbBlobItems

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbBlobItem) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс искомого элемента.


GetIndexByName method (IZbBlobItems)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbBlobItems

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbBlobItems)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbBlobItems

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbBlobItem

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


Remove method (IZbBlobItems)

Удаляет элемент из галереи. Для удаления элемента-ссылки из галереи необходимо использовать метод RemoveEx.

Применяется к:

IZbBlobItems

Синтаксис:

Visual Basic:

Function Remove(Item) As Boolean

Item - элемент коллекции, который нужно удалить.

Описание:

Метод удаляет элемент галереи. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя элемента, либо объект IZbBlobItem.

При успешном выполнении метод возвращает True, иначе False.


RemoveEx method (IZbBlobItems)

Удаляет элемент из галереи.

Применяется к:

IZbBlobItems

Синтаксис:

Visual Basic:

Function RemoveEx(Item, nOpt As Integer) As Boolean

Item - элемент коллекции, который нужно удалить.

nOpt - набор флагов, определяющих как обрабатывать ссылки.

Описание:

Метод удаляет элемент галереи. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя элемента, либо объект IZbBlobItem.

При удалении элемента-ссылки, в параметре nOpt обязательно необходимо указать опцию zbBlobRemoveLinkOnly или zbBlobRemoveLinkedFile (см. zbBlobRemoveOptions), для того, чтобы определить как обрабатывать файл, указанный в ссылке. Так как удаление данных - операция чувствительная, отсутствие одной из этих опций приведёт к тому, что метод ничего не делает и возвращает False.

При успешном выполнении метод возвращает True, иначе False.


IZbBookInfo Object

Объект - справочник базы данных Zulu. Входит как образующий элемент в коллекцию IZbBooks.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

BookType

ModelName

Name

SimpleBook

Tags

VisualQuery

GetDataset

Rename


BookType property (IZbBookInfo)

Возвращает тип справочника. Возможные значения перечислены в наборе констант zbBookType.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Property BookType As zbBookType

read-only


GetDataset method (IZbBookInfo)

Возвращает все записи справочника.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Function GetDataset() As IZbDataset


ModelName property (IZbBookInfo)

Задает внутреннее имя в модели данных.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Property ModelName As String

Описание:

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


Name property (IZbBookInfo)

Возвращает/устанавливает название справочника.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Property Name As String


Rename method (IZbBookInfo)

Задает новое имя справочника.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Function Rename(Name As String) As Boolean

Name - новое название справочника.

Описание:

Метод в случае успеха возвращает True. Если другой справочник с таким же именем Name уже существует, метод вернет False.


SimpleBook property (IZbBookInfo)

Если справочник имеет тип zbbtSimple (см. свойство BookType), свойство возвращает объект IZbSimpleBook, предоставляющий возможность его просматривать и редактировать.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Property SimpleBook As IZbSimpleBook

read-only


Tags property (IZbBookInfo)

Возвращает коллекцию тегов IZbTags, связанных с данным объектом.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Property Tags As IZbTags

read-only


VisualQuery property (IZbBookInfo)

Если справочник имеет тип zbbtVisualQuery (см. свойство BookType), свойство возвращает объект IZbVisualQuery.

Применяется к:

IZbBookInfo

Синтаксис:

Visual Basic:

Property VisualQuery As IZbVisualQuery

read-only


IZbBooks Collection

Коллекция объектов-справочников. Входит как свойство Books в объект ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

Item

AddNew

FindItemByName

GetIndexByName

Remove


AddNew method (IZbBooks)

Добавляет новый справочник в базу данных.

Применяется к:

IZbBooks

Синтаксис:

Visual Basic:

Function AddNew(Type As zbBookType , Name As String) As IZbBookInfo

Type - тип нового справочника, определяется значением из набора констант zbBookType.

Name - имя нового справочника.

Описание:

Метод добавляет новый справочник базу данных и возвращает объект IZbBookInfo.

Пример:

Dim BookInf As IZbBookInfo
Dim SimBook As IZbSimpleBook

' Добавляем новый простой справочник
Set BookInf = zb.Books.AddNew(zbbtSimple, "Справочник 1")
' Получаем объект SimpleBook для редактирования
Set SimBook = BookInf.SimpleBook
' Добавляем записи в справочник
SimBook.AddValue("1", "Значение 1")
SimBook.AddValue("2", "Значение 2")
SimBook.AddValue("3", "Значение 3")


Count property (IZbBooks)

Возвращает количество элементов в коллекции.

Применяется к:

IZbBooks

Синтаксис:

Visual Basic:

Property Count As Long

read-only


FindItemByName method (IZbBooks)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbBooks

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbBookInfo) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс искомого элемента.


GetIndexByName method (IZbBooks)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbBooks

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbBooks)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbBooks

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbBookInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


Remove method (IZbBooks)

Удаляет справочник из базы данных.

Применяется к:

IZbBooks

Синтаксис:

Visual Basic:

Function Remove(Item) As Boolean

Item - элемент коллекции, который нужно удалить.

Описание:

Метод удаляет справочник из базы данных. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя справочника, либо объект IZbBookInfo. При успешном выполнении метод возвращает True, иначе False.


IZbBrowser Interface

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

Входит в состав ZuluGIS 2021 Database Connection Library.

Методы:

Методы

DirectQuery

DoCommand

GetCommandState

GetDatabase

GetDatabaseName

OnClose

OnIdleUpdateUI

OpenDatabase

QueryClose

SelectField

SetApplication

SetDatabase

SetSelection

ShowDataset

ShowToolbars


DirectQuery method (IZbBrowser)

Выполнить прямой запрос по ключу.

IZbBrowser

Синтаксис:

Visual Basic:

Sub DirectQuery(Key As Long)

Key - ключ.


DoCommand method (IZbBrowser)

Вызывает команду браузера.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub DoCommand(CmdID As Long, Param As Long)

CmdID - код команды, выбирается из набора констант zbBrowserCommands.

Param - зарезервировано, должно быть 0.


GetCommandState method (IZbBrowser)

Возвращает состояние команды браузера (разрешена/запрещена).

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Function GetCommandState(CmdID As Long) As Long

CmdID - код команды, выбирается из набора констант zbBrowserCommands.

Описание:

Метод возвращает значение из набора констант zbBrowserCmdState.


GetDatabase method (IZbBrowser)

Возвращает подключенную семантическую базу данных.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Function GetDatabase() As ZbDatabase


GetDatabaseName method (IZbBrowser)

Возвращает имя подключенной семантической базы данных.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Function GetDatabaseName() As String


OnClose method (IZbBrowser)

Информирует браузер о том, что он будет закрыт.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub OnClose()


OnIdleUpdateUI method (IZbBrowser)

Периодически вызывается для того, чтобы браузер обновил состояние интерфейса.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub OnIdleUpdateUI()


OpenDatabase method (IZbBrowser)

Открыть семантическую базу данных.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub OpenDatabase(ZbName As String, nForceReopen As Long)

ZbName - полное имя файла семантической базы данных.

nForceReopen - флаг, указывающий на то, что если эта база уже открыта, то следует закрыть все соединения и открыть базу заново.


QueryClose method (IZbBrowser)

Вызывается у браузера перед закрытием.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub QueryClose()


SelectField method (IZbBrowser)

В браузере на закладке Текущая запись встать на указанное поле.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub SelectField(nField As Long)

nField - номер поля в браузере.


SetApplication method (IZbBrowser)

Вызывается оболочкой Zulu для установки связи с приложением.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub SetApplication(App As Object)


SetDatabase method (IZbBrowser)

Установить базу данных для просмотра в браузере.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub SetDatabase(Db As ZbDatabase)

Db - объект базы данных.


SetSelection method (IZbBrowser)

Установить фильтр по выделенной группе.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub SetSelection(szKeyFile As String)

szKeyFile - текстовый файл с набором ключей.


ShowDataset method (IZbBrowser)

Показать набор данных после выполнения запроса.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub ShowDataset(DataSet As IZbDataset, Options As Long)


ShowToolbars method (IZbBrowser)

Показать/убрать панель инструментов.

Применяется к:

IZbBrowser

Синтаксис:

Visual Basic:

Sub ShowToolbars(bShow As Long)


IZbBrowserNotifySink Interface

Служебный интерфейс. Обработка событий от браузера.


IZbCellStyle object

Объект IZbCellStyle описывает стиль ячейки стандартной формы браузера базы данных. Возвращается свойствами StdStyleLeft и StdStyleRight объекта IZbFieldInfo.

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

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

BackColor

TextColor

TextStyle


BackColor property (IZbCellStyle)

Задает цвет фона ячейки стандартной формы браузера базы данных.

Применяется к:

IZbCellStyle

Синтаксис:

Visual Basic:

Property BackColor As OLE_COLOR


TextColor property (IZbCellStyle)

Задает цвет текста в ячейке стандартной формы браузера базы данных.

Применяется к:

IZbCellStyle

Синтаксис:

Visual Basic:

Property TextColor As OLE_COLOR


TextStyle property (IZbCellStyle)

Задает стиль текста в ячейке стандартной формы браузера базы данных.

Применяется к:

IZbCellStyle

Синтаксис:

Visual Basic:

Property TextStyle As Long

Описание:

Стиль текста определяется сочетанием следующих значений:

Константа

Описание

0

Обычный текст.

1

Полужирный текст.

2

Наклонный текст.

4

Текст с подчеркиванием.


IZbDataFields object

Предоставляет доступ к полям IZbDataset (включая служебные) с учетом фильтра.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

GetDefaultIndex

GetFieldIndexByName

GetFieldInfo

GetFieldName

GetFieldValue

GetFieldValueBlob

GetFieldValueVar

GetFieldValueVarEx


Count property (IZbDataFields)

Возвращает количество элементов в коллекции.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetDefaultIndex method (IZbDataFields)

Возвращает исходный индекс поля в наборе данных IZbDataset.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetDefaultIndex(Index As Long) As Long

Index - номер поля в коллекции IZbDataFields.


GetFieldIndexByName method (IZbDataFields)

Получить номер поля по его имени.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetFieldIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает по какому имени искать поле.

Name - имя поля.

Описание:

Метод возвращает номер поля по указанному имени Name, считая от нуля. Если поле не найдено, возвращает -1.


GetFieldInfo method (IZbDataFields)

Возвращает информацию об указанном поле по индексу.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetFieldInfo(Index As Long) As IZbFieldInfo

Index - индекс поля в наборе.

Описание:

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


GetFieldName method (IZbDataFields)

Возвращает имя поля по заданному индексу.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetFieldName(Index As Long, NameType As zbNameType) As String

Index - номер поля считая от нуля.

NameType - указывает по какому имени искать поле.

Описание:

Если индекс выходит за границы списка полей, метод вернет пустую строку.


GetFieldValue method (IZbDataFields)

Возвращает значение поля по заданному индексу в виде строки.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetFieldValue(Index As Long, ValType As Long) As String

Index - номер поля считая от нуля.

ValType - определяет, какое значение возвращать - реальное или отображаемое.

Описание:

Метод возвращает значение указанного поля в зависимости от ValType. Если ValType равно 0, всегда возвращается реальное значение поля записанное в базе.

Если ValType равно 1, возвращается отображаемое значение. Если поле берется из справочника, то возвращается значение из справочника.

Если индекс выходит за границы списка полей, метод вернет пустую строку.


GetFieldValueBlob method (IZbDataFields)

Возвращает значение поля в виде объекта IZbBlob.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetFieldValueBlob(Index As Long, flags As Integer) As IZbBlob

Index - индекс поля в наборе данных.

flags - набор флагов. Зарезервировано, д. б. 0.


GetFieldValueVar method (IZbDataFields)

Возвращает значение поля по заданному индексу. В отличие от метода GetFieldValue, всегда возвращается реальное значение поля в виде VARIANT.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetFieldValue(Index As Long)

Index - номер поля считая от нуля.

Описание:

Если индекс выходит за границы списка полей, метод вернет пустой VARIANT.


GetFieldValueVarEx method (IZbDataFields)

Возвращает значение поля в виде VARIANT.

Применяется к:

IZbDataFields

Синтаксис:

Visual Basic:

Function GetFieldValueVarEx(Index As Long, flags As Integer) As VARIANT

Index - индекс поля в наборе данных.

flags - набор флагов.

Описание:

Возвращает значение поля в виде VARIANT. Параметр flags задаёт каким образом формировать результат и может быть комбинацией следующих значений:

Значение

Описание

1

Пустое значение строкового поля будет возвращаться в виде строки нулевой длины, а не в виде значения типа VT_NULL.

2

Трактовать значение строкового поля как ссылку на файл и возвращать его содержимое в виде BLOB.


IZbDataset object

Интерфейс для работы с набором записей. Является возвращаемым значением некоторых методов объектов ZbDatabase, IZbQueryInfo.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Bof

Eof

FieldCount

FieldDisplayValue

FieldValue

NativeData

UsedService

Activate

AppendRecord

BeginEnum

EndEnum

GetDataFields

GetFieldDef

GetFieldDefEx

GetFieldIndexByName

GetFieldInfo

GetFieldValueBlob

GetFieldValueFileType

GetFieldValueVar

GetFieldValueVarEx

GetLocateFields

Locate

MoveFirst

MoveLast

MoveNext

MovePrevious

Resort

SaveAs

SetFieldValue


Activate method (IZbDataset)

Зарезервировано.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function Activate() As Boolean


AppendRecord method (IZbDataset)

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

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function AppendRecord() As Boolean

Описание

Метод добавляет новую запись в набор данных "в памяти", созданный с помощью метода CreateDataset и делает её текущей.

Последующими вызовами метода SetFieldValue можно заполнить значения полей добавленной записи.

В случае успеха, метод вернёт True, иначе False.


BeginEnum method (IZbDataset)

Зарезервировано.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Sub BeginEnum()


Bof property (IZbDataset)

Возвращает признак начала набора записей.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Property Bof As Boolean

read-only

Описание:

Возвращает True в следующих случаях:

  • набор записей пуст.

  • вызван метод MovePrevious, когда первая запись была текущей.

В остальных случаях свойство возвращает False.


EndEnum method (IZbDataset)

Зарезервировано.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Sub EndEnum()


Eof property (IZbDataset)

Возвращает признак конца набора записей.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Property Eof As Boolean

read-only

Описание:

Возвращает True в следующих случаях:

  • набор записей пуст.

  • вызван метод MoveNext, когда последняя запись была текущей.

В остальных случаях свойство возвращает False.


FieldCount property (IZbDataset)

Возвращает число полей в наборе данных.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Property FieldCount As Long

read-only


FieldDisplayValue property (IZbDataset)

Возвращает отображаемое значение поля.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Property FieldDisplayValue(Index As Long) As String

Index - номер поля, считая от нуля.


FieldValue property (IZbDataset)

Возвращает значение поля.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Property FieldValue(Index As Long) As String

read-only

Index - номер поля, считая от нуля.


GetDataFields method (IZbDataset)

Возвращает список полей набора данных по заданному фильтру.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetDataFields(nFilter As Long) As IZbDataFields

nFilter - набор флагов, указывающий какие поля включить в список.

Описание:

Метод возвращает список полей для удобства получения данных. Параметр nFilter указывает на то, какие поля надо включить в список, может быть комбинацией следующих значений:

Значение

Описание

1

Включить поле связи с картой. Оно будет первым в списке.

2

Включать ключевые поля.

4

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

8

Включать служебные поля связи.


GetFieldDef method (IZbDataset)

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

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldDef(Index As Long) As ZbFieldDef

Index - индекс поля в наборе.


GetFieldDefEx method (IZbDataset)

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

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldDefEx(Index As Long, Option As Integer) As ZbFieldDef

Index - индекс поля в наборе.

Option - определяет как обрабатывать поле из справочника.

Описание:

Метод возвращает объект ZbFieldDef, описывающий указанное поле в наборе данных. Если у поля указана опция «выбирать из справочника» и параметр Option равен 1, тип поля в описателе будет соответствовать полю справочника, а не исходному ссылающемуся полю таблицы.


GetFieldIndexByName method (IZbDataset)

Получить номер поля по его имени.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает по какому имени искать поле.

Name - имя поля.

Описание:

Метод возвращает номер поля по указанному имени Name, считая от нуля. Если поле не найдено, возвращает -1.


GetFieldInfo method (IZbDataset)

Возвращает информацию об указанном поле по индексу.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldInfo(Index As Long) As IZbFieldInfo

Index - индекс поля в наборе.

Описание:

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


GetFieldValueBlob method (IZbDataset)

Возвращает значение поля в виде объекта IZbBlob.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldValueBlob(Index As Long, flags As Integer) As IZbBlob

Index - индекс поля в наборе данных.

flags - набор флагов. Зарезервировано, д. б. 0.


GetFieldValueFileType method (IZbDataset)

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

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldValueFileType(Index As Long, Option As Integer) As String

Index - индекс поля в наборе данных.

Option - определяет как обрабатывать поле из справочника.


GetFieldValueVar method (IZbDataset)

Возвращает значение поля в виде VARIANT.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldValueVar(Index As Long)

Index - индекс поля в наборе данных.


GetFieldValueVarEx method (IZbDataset)

Возвращает значение поля в виде VARIANT.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetFieldValueVarEx(Index As Long, flags As Integer)

Index - индекс поля в наборе данных.

flags - набор флагов.

Описание:

Возвращает значение поля в виде VARIANT. Параметр flags задаёт каким образом формировать результат и может быть кобинацией следующих значений:

Значение

Описание

1

Пустое значение строкового поля будет возвращаться в виде строки нулевой длины, а не в виде значения типа VT_NULL.

2

Трактовать значение строкового поля как ссылку на файл и возвращать его содержимое в виде BLOB.


GetLocateFields method (IZbDataset)

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

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function GetLocateFields(Index As Long, flags As Integer) As IZbDataFields

Index - индекс поля в наборе, начиная с 0.

flags - набор флагов, д.б. 0.

Описание:

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

В большинстве случаев ключевым полем и одновременно полем связи с картой является целочисленное поле Sys. Помимо этого, к слою может подключается база данных с возможностью нескольких записей, связанных с одним объектом. Такие записи могут идентифицироваться полем-счётчиком или первичным индексом, состоящим из нескольких полей. Метод GetLocateFields автоматически определяет такие идентифицирующие поля и возвращает объект IZbDataFields для получения значений этих полей.


Locate method (IZbDataset)

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

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function Locate(Fields,Values, Options As Long) As Boolean

Fields - индекс или список колонок, по которым осуществляется поиск. Может быть задан как:

а) целочисленный индекс колонки, начиная с 0.

б) строка, содержащая имена колонок, разделенные символом с кодом ASCII 10.

Values - набор значений, заданный как:

а) одиночное значение, если Fields содержит индекс или имя одной колонки поиска.

б) массивом значений VARIANT, если в Fields заданы несколько колонок для поиска.

Options - набор флагов (зарезервировано), д. б. 0.

Описание:

Метод позволяет найти и перейти на первую запись, удовлетворяющую условиям поиска. В случае, если такая запись найдена, она становится текущей и матод возвращает True, иначе False.


MoveFirst method (IZbDataset)

Перейти на первую запись набора.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function MoveFirst() As Boolean

Описание:

В случае, если набор данных не пуст, метод вернет True, иначе - False.


MoveLast method (IZbDataset)

Перейти на последнюю запись набора.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function MoveLast() As Boolean

Описание:

В случае успешного выполнения метод вернет True, иначе False.


MoveNext method (IZbDataset)

Перейти на следующую запись набора.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function MoveNext() As Boolean

Описание:

В случае успешного выполнения метод вернет True, иначе - False.


MovePrevious method (IZbDataset)

Перейти на предыдущую запись набора.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function MovePrevious() As Boolean

Описание:

В случае успешного выполнения метод вернет True, иначе - False.


NativeData property (IZbDataset)

Зарезервировано.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Property NativeData As Variant

read-only


Resort method (IZbDataset)

Сортирует набор данных по заданному полю.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function Resort(SortField As Long, SortMode As Long) As Boolean

SortField - индекс поля по которому сортировать.

SortMode - порядок сортировка (возможны значения zbSortAsc и zbSortDesc из zbSortMode).


SaveAs method (IZbDataset)

Сохраняет данные в таблице или файле.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function SaveAs(FileType As Integer, FileName As String, Format As ZbAsciiFormat ) As Boolean

FileType - тип записываемого файла из набора zbTableType.

FileName - полный путь к файлу.

Format - объект ZbAsciiFormat, описывающий формат записываемых текстовых данных (для текстового файла).

Описание:

Метод позволяет сохранить полученный набор данных в файле или локальной таблице Paradox или dBase. Тип файла определяется параметром FileType. Если его значение равно 0, то тип определяется его расширением.

Поддерживаются следующие форматы файлов:

Формат

Расширение

FileType

Текстовый файл

.txt, .csv

ttAscii

Таблица Paradox

.db

ttParadox

Таблица dBase

.dbf

ttDBase


SetFieldValue method (IZbDataset)

Задаёт значение поля в текущей записи набора данных.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Function SetFieldValue(Index As Long, NewVal) As Boolean

Index - индекс поля в наборе данных.

NewVal - новое значение поля.

Описание:

Метод устанавливает значение указанного поля в текущей записи и, в случае успеха, возвращает True, иначе False.

Метод рассчитан на работу с набором данных, созданным "в памяти" с помощью метода CreateDataset.


UsedService property (IZbDataset)

Возвращает тип сервиса, иcпользуемый для получения набора записей.

Применяется к:

IZbDataset

Синтаксис:

Visual Basic:

Property UsedService As zbUseService

read-only


IZbEnumTags object

Объект-нумератор для последовательного чтения тегов из набора IZbTags.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Name

Value

First

Next


First method (IZbEnumTags)

Переходит в начало списка тегов.

Применяется к:

IZbEnumTags

Синтаксис:

Visual Basic:

Function First() As Boolean

Описание:

В случае успешного выполнения метод вернет True, иначе - False.


Name property (IZbEnumTags)

Возвращает имя текущего тега.

Применяется к:

IZbEnumTags

Синтаксис:

Visual Basic:

Property Name As String

read-only


Next method (IZbEnumTags)

Переходит в к следующему элементу списка тегов.

Применяется к:

IZbEnumTags

Синтаксис:

Visual Basic:

Function Next() As Boolean

Описание:

В случае успешного выполнения метод вернет True, иначе - False.


Value property (IZbEnumTags)

Возвращает значение текущего тега.

Применяется к:

IZbEnumTags

Синтаксис:

Visual Basic:

Property Value As String

read-only


IZbFieldDef object

Объект, описывающий физическое поле таблицы или набора данных.

См. метод GetFieldDef объекта ZbTableDef.

Входит в состав ZuluGIS 2021 Database Connection Library.

Регистрационная информация:

PROGID:

Zb.ZbFieldDef

CLSID:

{12507387-0B01-11D2-B55D-444553540000}

Свойства:

Свойства

DisplayLength

FieldIndex

KeyField

Length

Name

Precision

Type

Примеры создания:

'Visual Basic:
Dim flddef As Zb.ZbFieldDef
Set flddef = New Zb.ZbFieldDef
//Delphi:
flddef: IZbFieldDef;
flddef := CoZbFieldDef.Create;
'VBScript:
Set flddef = CreateObject("Zb.ZbFieldDef")


DisplayLength property (IZbFieldDef)

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

Применяется к:

IZbFieldDef

Синтаксис:

Visual Basic:

Property DisplayLength() As Integer

read only


FieldIndex property (IZbFieldDef)

Определяет порядковый номер поля в таблице, начиная с 0.

Применяется к:

IZbFieldDef

Синтаксис:

Visual Basic:

Property FieldIndex As Integer

Описание:

Свойство FieldIndex важно для операции реструктуризации таблицы (см. ZbDatabase.AlterTable), т.к. оно идентифицирует уже имеющееся поле в таблице.

При выполнении AlterTable таблица модифицируется следующим образом:

  • для нового поля, добавленного в объект IZbTableDef, FieldIndex будет равно -1 и такое поле будет добавлено в таблицу;

  • для полей с FieldIndex от 0 и выше будет изменены параметры (имя, тип), если такие изменения были внесены;

  • поля таблицы, для которых не нашлось объекта IZbFieldDef с соответствующим индексом будут удалены из таблицы.


KeyField property (IZbFieldDef)

Определяет, является ли данное поле ключевым.

Применяется к:

IZbFieldDef

Синтаксис:

Visual Basic:

Property KeyField As Boolean


Length property (IZbFieldDef)

Возвращает длину поля (для строковых полей).

Применяется к:

IZbFieldDef

Синтаксис:

Visual Basic:

Property Length As Integer


Name property (IZbFieldDef)

Возвращает/устанавливает имя поля.

Применяется к:

IZbFieldDef

Синтаксис:

Visual Basic:

Property Name As String


Precision property (IZbFieldDef)

Задает точность представления данных поля.

Применяется к:

IZbFieldDef

Синтаксис:

Visual Basic:

Property Precision As Integer


Type property (IZbFieldDef)

Возвращает/устанавливает тип данных поля.

Применяется к:

IZbFieldDef

Синтаксис:

Visual Basic:

Property Type As zbFieldType


IZbFieldInfo object

Описывает поле визуального запроса. Входит как образующий элемент в коллекцию IZbFields.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

AliasName

Book

CaptionField

ColumnName

Description

FieldRef

FullName

GroupName

Important

KeyField

Length

ModelName

Name

Precision

ReadOnly

Source

SourceType

StdStyleLeft

StdStyleRight

Tags

Type

UserName

IsEqual


ColumnName property (IZbFieldInfo)

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

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property AliasName As String

Описание:

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

Свойство AliasName объекта IZbFieldInfo соответствует свойству «псевдоним колонки ответа», задаваемое на панели свойств поля в редакторе запросов (см. Создание запроса).


Book property (IZbFieldInfo)

Задает справочник, из которого должны браться значения поля.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Book As IZbBookInfo


CaptionField property (IZbFieldInfo)

Определяет, что поля является полем-заголовка справочника.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property CaptionField() As Boolean


ColumnName property (IZbFieldInfo)

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

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property ColumnName As String

Описание:

Обычно имя поля и имя в ответе совпадают, но можно задать иное имя - псевдоним колонки ответа. Задаваемый с помощью ColumnName псевдоним может содержать только символы латиницы и цифры, а также символ подчеркивания.

В отличие от похожего свойства AliasName, если псевдоним колонки ответа не задан, свойство ColumnName возвращает реальное имя поля в таблице.


Description property (IZbFieldInfo)

Задает краткое описание поля.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Description As String

Описание:

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

Это свойство соответствует окошко «Описание» на панели свойств поля в редакторе запросов (см. Создание запроса).


FieldRef property (IZbFieldInfo)

Возвращает ссылку на поле из подзапроса.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property FieldRef As IZbFieldRef

read-only


FullName property (IZbFieldInfo)

Возвращает полное имя поля.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property FullName As String

read-only

Описание:

Полное имя поля - имя, которое однозначно идентифицирует это поле в запросе.

Для простых полей из таблиц это имя формируется как: «<псевдоним-таблицы>::<имя-поля>». Например, если запрос добавлена таблица House.db под именем House1 и добавлено поле Street из этой таблицы, то полное имя поля будет выглядеть так: «House1::Street».

Если поле взято из справочника или подзапроса, то полное имя поля будет определяться так: "ref:<имя-подзапроса>::<имя-поля-в-запросе>. Например, если в запрос добавлен о поле «Навание улицы» из подзапроса «Улицы», полное имя поля будет иметь вид: «ref:"Улицы"::"Название улицы"».


GroupName property (IZbFieldInfo)

Задает имя группы, к которой принадлежит данные поле.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property GroupName As String

Описание:

Свойство GroupName объекта IZbFieldInfo соответствует свойству «группа», задаваемое в разделе Стиль на панели свойств поля в редакторе запросов (см. Создание запроса).


Important property (IZbFieldInfo)

Определяет, что поле является обязательным для заполнения при добавлении или редактировании записи.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Important() As Boolean

Описание:

Если свойство установливается в True, то поле становится обязательным для заполнения и такое поле отмечено красной звёздочкой во вкладке "Текущая запись" браузера базы данных.


IsEqual property (IZbFieldInfo)

Выясняет, представляют ли два поле одно и то же поле запроса.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Function IsEqual(Field As IZbFieldInfo) As Boolean

Описание:

Метод возвращает True, если оба поля имеют одинаковое имя и взяты из одной и той же таблицы.


KeyField property (IZbFieldInfo)

Определяет, является ли поле ключевым.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

PropertyKeyField As Boolean

read-only

Описание:

Если данное поле является ключевым, то свойство возвращает значение True, иначе - False.


Length property (IZbFieldInfo)

Возвращает длину поля.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Length As Integer

read-only


ModelName property (IZbFieldInfo)

Задает внутреннее имя в модели данных.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property ModelName As String

Описание:

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


Name property (IZbFieldInfo)

Задает физическое имя поля в таблице.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Name As String


Precision property (IZbFieldInfo)

Задает точность представления данных поля.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Precision As Integer

read-only


ReadOnly property (IZbFieldInfo)

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

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

PropertyReadOnly As Boolean

Описание:

Если свойство ReadOnly установлено в True, пользователь не может изменять данные этого поля в браузере базы данных.

Это свойство соответствует флажку «нередактируемое» на панели свойств поля в редакторе запросов (см. Создание запроса).


Source property (IZbFieldInfo)

Возвращает источник (таблица или подзапрос), откуда взято поле.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Source As Object

read-only

Описание:

Свойство возвращает объект IZbTableRef или IZbQueryRef в зависимости от того, взято ли поле из таблицы или подзапроса. Тип возвращаемого объекта определяется свойство SourceType.


SourceType property (IZbFieldInfo)

Возвращает тип объекта, откуда взято данное поле (таблица или подзапрос).

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property SourceType As zbFieldSourceType

read-only


StdStyleLeft property (IZbFieldInfo)

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

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property StdStyleLeft As IZbCellStyle

read-only


StdStyleRight property (IZbFieldInfo)

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

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property StdStyleRight As IZbCellStyle

read-only


Tags property (IZbFieldInfo)

Возвращает коллекцию тегов IZbTags, связанных с данным объектом.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Tags As IZbTags

read-only


Type property (IZbFieldInfo)

Возвращает тип данных поля.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property Type As zbFieldType

read-only


UserName property (IZbFieldInfo)

Возвращает/устанавливает пользовательское название поля.

Применяется к:

IZbFieldInfo

Синтаксис:

Visual Basic:

Property UserName As String


IZbFieldRef object

Объект-ссылка на поле подзапроса или справочника. Входит как свойство FieldRef в объект IZbFieldInfo.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

Field

QueryRef


Field property (IZbFieldRef)

Возвращает поле подчиненного запроса, ссылка на которое добавлена в исходный запрос.

Применяется к:

IZbFieldRef

Синтаксис:

Visual Basic:

Property Field As IZbFieldInfo

read-only


QueryRef property (IZbFieldRef)

Возвращает подзапрос, откуда взята ссылка на поле.

Применяется к:

IZbFieldRef

Синтаксис:

Visual Basic:

Property QueryRef As IZbQueryRef

read-only


IZbFields Collection

Коллекция полей запроса. Входит как свойство Fields в объект IZbVisualQuery.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

Item

FindItemByName

GetIndexByName


Count property (IZbFields)

Возвращает количество элементов в коллекции.

Применяется к:

IZbFields

Синтаксис:

Visual Basic:

Property Count As Long

read-only


FindItemByName method (IZbFields)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbFields

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbFIeldInfo) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbFields)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbFields

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbFields)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbFields

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbFieldInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


IZbFormInfo object

Объект-форма семантической базы данных. Входит как образующий элемент в коллекцию IZbForms.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Active

Default

Fields

ModelName

Name

Query

Tags

Type

AddField

RemoveField

Rename


Active property (IZbFormInfo)

Определяет, является ли форма активной.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property Active As Boolean

Описание:

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


AddField method (IZbFormInfo)

Добавляет поле визуального запроса в форму.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Function AddField(Field As IZbFieldInfo) As Long

Field - поле запроса, объект IZbFieldInfo из коллекции, возвращаемой свойством Fields объекта IZbVisualQuery.

Описание:

Метод добавляет поле визуального запроса в форму и возвращает индекс этого поля в коллекции Fields. Если такое поле уже существует в форме, то возвращается индекс ранее добавленного поля.

Важно, чтобы поле Field было из того же самого запроса, к которому создана данная форма, иначе метод возвращает -1.


Default property (IZbFormInfo)

Определяет, является ли данная форма формой по-умолчанию.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property Default As Boolean

Описание:

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


Fields property (IZbFormInfo)

Возвращает коллекцию полей формы.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property Fields As IZbFields

read-only


ModelName property (IZbFormInfo)

Задает внутреннее имя в модели данных.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property ModelName As String

Описание:

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


Name property (IZbFormInfo)

Возвращает название формы.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property Name As String

read-only


Query property (IZbFormInfo)

Возвращает запрос, которому соответствует данная форма.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property Query As IZbQueryInfo

read-only


RemoveField method (IZbFormInfo)

Удаляет поле из формы.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Function RemoveField(Item As VARIANT) As Boolean

Item - индекс (начиная с 0), имя поля или объект IZbFieldInfo.

Описание:

Метод удаляет указанное поле из списка полей формы и возвращает True в случае успеха, иначе False.

В качестве Item может быть указан индекс элемента в коллекции Fields полей формы, либо имя формы, либо объект IZbFieldInfo.


Rename method (IZbFormInfo)

Задает новое имя формы.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Function Rename(Name As String) As Boolean

Name - новое название формы.

Описание:

Метод в случае успеха возвращает True. Если другая форма с таким же именем Name уже существует, метод вернет False.


Tags property (IZbFormInfo)

Возвращает коллекцию тегов IZbTags, связанных с данным объектом.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property Tags As IZbTags

read-only


Type property (IZbFormInfo)

Возвращает тип формы.

Применяется к:

IZbFormInfo

Синтаксис:

Visual Basic:

Property Type() As zbFormType

read only

Описание:

Своство Type возвращает тип формы - стандатная форма для запроса (zbFormStd) или простая пользовательсая форма в виде подмножества полей запроса (zbFormSimple).


IZbForms collection

Коллекция форм. Входит как свойство Forms в объект ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Active

Count

Default

Item

AddNew

FindItemByName

GetIndexByName

Remove


Active property (IZbForms)

Возвращает объект-форму, которая является в данный момент активной.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Property Active As IZbFormInfo

read-only


AddNew method (IZbForms)

Добавляет новую форму в базу данных.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Function AddNew(Type As zbFormType, Query As IZbQueryInfo, Name As String) As IZbFormInfo

Type - тип формы, поддерживается только тип zbFormSimple;

Query - запрос, для которого добавляется новая форма;

Name - имя новой формы.

Описание:

Метод добавляет новую форму для запроса Query с указанным именем Name и возвращает объект IZbFormInfo. В настоящий момент система позволяет добавлять только простые формы для запроса, поэтому параметр Type должен иметь значение zbFormSimple.


Count property (IZbForms)

Возвращает количество элементов в коллекции.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Default property (IZbForms)

Возвращает объект-форму, установленную по умолчанию.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Property Default As IZbFormInfo

read-only

Описание:

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


FindItemByName method (IZbForms)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbFormInfo) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbForms)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbForms)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbFormInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


Remove method (IZbForms)

Удаляет форму из базы данных.

Применяется к:

IZbForms

Синтаксис:

Visual Basic:

Function Remove(Item) As Boolean

Item - элемент коллекции, который нужно удалить.

Описание:

Метод удаляет форму из базы данных. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя формы, либо объект IZbFormInfo.

При успешном выполнении метод возвращает True, иначе False.


IZbLinkInfo object

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

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

FieldFrom

FieldTo

Type


FieldFrom property (IZbLinkInfo)

Возвращает объект - поле, от которого исходит связь.

Применяется к:

IZbLinkInfo

Синтаксис:

Visual Basic:

Property FieldFrom As IZbFieldInfo

read-only


FieldTo property (IZbLinkInfo)

Возвращает объект - поле, в которое входит связь.

Применяется к:

IZbLinkInfo

Синтаксис:

Visual Basic:

Property FieldTo As IZbFieldInfo

read-only


Type property (IZbLinkInfo)

Возвращает тип связи.

Применяется к:

IZbLinkInfo

Синтаксис:

Visual Basic:

Property Type As zbLinkType

read-only


IZbLinks collection

Коллекция связей между таблицами. Входит как свойство Links в объект IZbVisualQuery.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

Count

Item


Count property (IZbLinks)

Возвращает количество элементов в коллекции.

Применяется к:

IZbLinks

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Item property (IZbLinks)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbLinks

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbLinkInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


IZbQueries collection

Коллекция запросов, входящих в базу данных. Входит как свойство Queries в объект ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Active

Count

Default

Item

AddNew

FindItemByName

GetIndexByName

Remove

Описание:

Система работает с данными посредством запросов. В базу данных может входить несколько запросов. Методы для доступа к данным (выборка, изменение и т.д.) могут вызываться непосредственно у конкретного объекта-запроса, либо у объекта ZbDatabase. Во втором случае база данных делегирует выполнение текущему активному запросу (свойство Active).

При открытии базы данных активным запросом становится запрос, помеченный как основной (свойство Default).


Active property (IZbQueries)

Возвращает текущий активный запрос.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Property Active As IZbQueryInfo

read-only

Описание:

Активный запрос - запрос, к которому делегируются все вызовы методов выполнения запросов к данным SelectAll, SelectByKey, SelectByKeySet и др. объекта базы данных ZbDatabase. Аналогичные методы есть и у объекта IZbQueryInfo.

При открытии базы данных (метод Open) активным становится запрос, отмеченный в базе как основной (см. свойство Default).


AddNew method (IZbQueries)

Добавляет новый запрос в базу данных.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Function AddNew(Type As zbQueryType, Name As String) As IZbQueryInfo

Type - тип запроса. Поддерживается только тип zbqtVisualQuery.

Name - название запроса (например "Основной", "Запрос1").

Описание:

Метод добавляет новый пустой запрос с указанным именем в базу данных и возвращает объект IZbQueryInfo. В настоящий момент система работает только с запросами, названными визуальными, поэтому значение Type должно быть zbqtVisualQuery.

После добавления запроса, у полученного объекта IZbQueryInfo можно запросить свойство IZbVisualQuery и заполнить запрос.

Пример:

Dim QryInf As IZbTableInfo
Dim VisQry As IZbVisualQuery
Dim TblRef As IZbTableRef
Dim Field As IZbFieldInfo

' Добавляем новый пустой запрос
Set QryInf = db.Queries.AddNew(zbqtVisualQuery, "Запрос1")

' Получаем визуальный запрос
Set VisQry = QryInf.VisualQuery

' Добавляем таблицу в запрос
Set TblRef = VisQry.Tables.Add(db.Tables(0), True)

' Добавляем поле связи с картой
VisQry.SetBaseField(TblRef, "Sys")

' Добавляем поля запроса
Set Field = VisQry.AddField(TblRef, "Name")
Field.UserName = "Название"
Set Field = VisQry.AddField(TblRef, "Code")
Field.UserName = "Код объекта"
...


Count property (IZbQueries)

Возвращает количество элементов в коллекции.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Default property (IZbQueries)

Возвращает объект-запрос, установленный по-умолчанию, или основной.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Property Default As IZbQueryInfo

read-only


FindItemByName method (IZbQueries)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbQueryInfo) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbQueries)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbQueries)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbQueryInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


AddNew method (IZbQueries)

Удаляет запрос из базы данных.

Применяется к:

IZbQueries

Синтаксис:

Visual Basic:

Function Remove(Item) As Boolean

Item - элемент коллекции, который нужно удалить.

Описание:

Метод удаляет запрос из базы данных. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя запроса, либо объект IZbQueryInfo.

При успешном выполнении метод возвращает True, иначе False.


IZbQueryInfo object

Объект-запрос семантической базы данных. Основной элемент коллекции IZbQueries.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Active

AnswerMode

Database

Default

KeyFilterType

ModelName

Name

QueryType

Tags

VisualQuery

AppendBaseRecord

AppendBlankByKeySet

AppendFromAscii

CalcNextKeyValue

CompileSQLQuery

CreateSubQueryByField

DeleteBaseRecord

DeleteByKeySet

ExecByExample

GetLastDataModify

GetSortParams

InquireQueryByExample

ModifyByKeySet

OpenBaseTable

QueryByExample

Rename

ResortDataset

SelectAll

SelectByKey

SelectByKeySet

SetKeyFilter

SetSortParams

ShrinkByKeySet

SwitchKeyFilter -

UpdateBaseRecord

UpdateBaseRecordEx

UpdateFromAscii

UpdateFromDataset


Active property (IZbQueryInfo)

Определяет, является ли запрос текущим активным запросом в базе данных. См. ZbDatabase.ActiveQuery.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property Active As Boolean

Описание:

Активный запрос - запрос, к которому делегируются все вызовы методов выполнения запросов к данным SelectAll, SelectByKey, SelectByKeySet и др. объекта базы данных ZbDatabase. Аналогичные методы есть и у объекта IZbQueryInfo.

Если запрос является текущим активным запросом, свойство Active вернет True, иначе False. Для того, чтобы назначить запрос активным, свойству нужно присвоить значение True.

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


AnswerMode property (IZbQueryInfo)

Зарезервировано.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property AnswerMode As Long


AppendBaseRecord method (IZbQueryInfo)

Добавляет запись в базовую таблицу (таблицу, у которой указано поле связи с картой).

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function AppendBaseRecord(Fields, Values, [Count]) As Boolean

Fields - набор полей. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом целых чисел, представляющий индексы полей базовой таблицы.

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

Values - набор значений. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

Число элементов в наборах полей и значений должны совпадать.

Описание:

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


AppendBlankByKeySet method (IZbQueryInfo)

Добавляет пустые записи по заданному набору ключей (идентификаторов объектов).

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function AppendBlankByKeySet(KeySet, OptionsOrCount As Long) As Boolean

KeySet, OptionsOrCount - задают набор ключей одним из возможных вариантов (см. таблицу).

KeySet

OptionsOrCount

Значение

<имя_файла>

zbkoTextFile

Набор ключей задается в текстовом файле. Путь к файлу передается в параметре KeySet в виде строки. Каждая строка файла содержит целое число - ключ объекта.

<имя_файла>

zbkoBinaryFile

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

значение из набора zbKeyFilterType

zbkoKeyFilter

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

строка с разделителем (ASCII 10)

zbkoStrings

Набор ключей перечислен в одной строке. В качестве разделителя используется символ ASCII 10.

массив строк

(пусто)

Набор ключей задается массивом (safearray) строк.

массив целых чисел

(пусто)

Набор ключей задается массивом (safearray) целых чисел.

указатель на целое число

число элементов

Набор ключей задается массивом целых чисел, при этом KeySet указывает на первый элемент массива, а OptionsOrCount содержит число элементов массива.

Описание:

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

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


AppendFromAscii method (IZbQueryInfo)

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

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function AppendFromAscii(AsciiFile As String, Fields, [Count], Format As zbAsciiInfo) As Boolean

AsciiFile - полное имя текстового файла, в котором указаны значения полей в том количестве и в том порядке, в каком они перечислены в параметре Fields.

Fields - набор полей. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом номеров полей.

г) указателем на первый элемент массива, тогда необходимо задать параметр Count - число элементов массива.

Format - задается типом zbAsciiInfo в случае, если формат записи в текстовый файл отличен от стандартного. Стандартный формат записи - значения указываются в кавычках через запятую.

Описание:

В случае успешного добавления записи метод вернет True.


CalcNextKeyValue method (IZbQueryInfo)

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

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function CalcNextKeyValue(LocFields As String, LocValues, Field As String, NewValue As String) As Boolean

LocFields - ключевые поля таблицы, значения которых уже известны.

LocValues - значения ключевых полей LocFields.

Field - поле, для которого нужно подобрать значение.

NewValue - ссылка на строку, куда будет помещено результирующее значение.

Описание:

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


CompileSQLQuery method (IZbQueryInfo)

Формирует текст SQL-запроса, соответствующего строкам запроса по образцу.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function CompileSQLQuery(QueryStrings, [FieldNames], SQLQuery As String) As Boolean

QueryStrings - строки условий запроса.

FieldNames - список полей, для которых заданы условия.

SQLQuery - ссылка на строку, куда записывается текст SQL запроса.

Описание:

Метод формирует SQL запрос согласно строкам запроса QueryStrings и списку полей FieldNames. Текст запроса записывается в параметр SQLQuery. В дальнейшем этот запрос можно выполнить, используя иные компоненты доступа к данным, нежели Zulu.

Метод схож с QueryByExample c тем исключением, что не выполняет запрос по образцу, а только формирует соответствующий ему SQL запрос и возвращает его. Правила заполнения параметров QueryStrings и FieldNames такой же как и в методе QueryByExample.

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

Пример:

'Формирует запрос на поиск зданий Невского проспекта этажностью не выше 4
Dim SQLText As String
Query.CompileSQLQuery("<5" & Chr(10) & "Невский пр.", """Этажность""" & Chr(10) & """Название""", SQLText)


CreateSubQueryByField method (IZbQueryInfo)

Создает подзапрос по заданному полю.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function CreateSubQueryByField(Field) As IZbQueryInfo


Database property (IZbQueryInfo)

Возвращает объект базы данных, которой принадлежит данный запрос.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property Database As ZbDatabase

read-only


Default property (IZbQueryInfo)

Определяет, является ли запрос основным в базе данных. См. также IZbQueries.Default.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property Default As Boolean

Описание:

Один из запросов в базе данных помечается как основной (или по-умолчанию). При открытии базы данных этот запрос становится текущим активным (см. свойство Active) и к нему будут делегироваться все вызовы методов выполнения запросов к данным SelectAll, SelectByKey, SelectByKeySet и др. объекта базы данных ZbDatabase. В отличие от свойства Active, свойство Default запоминается в описателе базы данных при сохранении.

Если запрос является основным, свойство Default вернет True, иначе False. Для того, чтобы назначить запрос основным, свойству нужно присвоить значение True.

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


DeleteBaseRecord method (IZbQueryInfo)

Удаляет запись из базовой таблицы.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function DeleteBaseRecord(Key, Fields, Values, [Count]) As Boolean

Key - ключ объекта.

Fields - набор дополнительных полей для поиска записи. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом целых чисел, представляющий индексы полей базовой таблицы.

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

Values - набор дополнительных значений для поиска записи. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

Описание:

Метод удаляет запись (или группу записей) из базовой таблицы с указанным ключом Key. В случае, если таблица содержит несколько записей с одинаковым значением Key, параметры Fields и Values могут быть использованы как дополнительные условия для поиска записи, которую нужно удалить.

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


ShrinkByKeySet method (IZbQueryInfo)

Удаляет записи из базовой таблицы, которые входят в указанный набор ключей.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function DeleteByKeySet(KeySet, OptionsOrCount As Long) As Boolean

KeySet, OptionsOrCount - задают набор ключей одним из возможных вариантов:

KeySet

OptionsOrCount

Значение

<имя_файла>

zbkoTextFile

Набор ключей задается в текстовом файле. Путь к файлу передается в параметре KeySet в виде строки. Каждая строка файла содержит целое число - ключ объекта.

<имя_файла>

zbkoBinaryFile

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

значение из набора zbKeyFilterType

zbkoKeyFilter

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

строка с разделителем (ASCII 10)

zbkoStrings

Набор ключей перечислен в одной строке. В качестве разделителя используется символ ASCII 10.

массив строк

(пусто)

Набор ключей задается массивом (safearray) строк.

массив целых чисел

(пусто)

Набор ключей задается массивом (safearray) целых чисел.

указатель на целое число

число элементов

Набор ключей задается массивом целых чисел, при этом KeySet указывает на первый элемент массива, а OptionsOrCount содержит число элементов массива.

Описание:

Метод удаляет те записи базовой таблицы, у которых значение поля связи входит в указанный набор ключей.


ExecByExample method (IZbQueryInfo)

Выполняет запрос по образцу (обычно обновление).

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function ExecByExample(QueryStrings As String, Fields As String) As Boolean

QueryStrings - строки запроса, разделенные символом ASCII 10.

Fields - имена полей, которым соответствуют строки запроса (также разделенные символом ASCII 10).

Описание:

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

В случае успешного выполнения, метод вернет True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


GetLastDataModify method (IZbQueryInfo)

Возвращает временной штамп (timestamp), когда последний раз модифицаровались данные этого поля.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Sub GetLastDataModify(FieldName As String, NameType As zbNameType, LowTime As Long, HighTime As Long)

FieldName - имя поля.

NameType - определяет по какому имени идентифицировать поле.

LowTime - ссылка на младшую часть штампа.

HighTime - ссылка на старшую часть штампа.

Описание:

Это служебный метод, который используется внутри Zulu для оптимизации запросов к базе данных.


GetSortParams method (IZbQueryInfo)

Возвращает параметры сортировки данных для данного запроса.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Sub GetSortParams(Field As IZbFieldInfo, SortMode As Long)

Field - возвращаемое поле сортировки.

SortMode - возвращаемое значение из набора констант zbSortMode.

Описание:

В параметре Field возвращается поле сортировки, если такое задано, в параметре SortMode в этом случае возвращается редим сортировки zbSortAsc или zbSortDesc. Если сортировка не включена, Field будет пустым, а SortMode содержать zbSortNone.


InquireQueryByExample method (IZbQueryInfo)

Анализирует запрос по образцу.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function InquireQueryByExample(Counts, QueryStrings, Fields, QueryResult As Long, ChangedCount As Long) As Boolean

Counts - зарезервировано, д.б. пусто.

QueryStrings - строки запроса.

Fields - поля, соответствующие строкам запроса.

QueryResult - возвращаемый тип результата запроса.

ChangedCount - возвращаемое число модифицируемых записей.

Описание:

Метод анализирует запрос по образцу и заполняет параметры QueryResult и ChangedCount. В случае успеха, метод возвращает True, иначе False.

Если запрос сформирован правильно, QueryResult будет содержать тип результата этого запроса (запрос на выборку, запрос на вычисление агрегатных значений, запрос на изменение) из возможных значений набораzbQueryResultType.

Если запрос предусматривает изменение данных, то в параметре ChangedCount будет записано число записей, которые будут модифицироваться.


KeyFilterType property (IZbQueryInfo)

Возвращает текущий установленный фильтр ключей.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property KeyFilterType As Long

read-only

Описание:

KeyFilterType может принимать значения из набора констант zbKeyFilterType.


ModelName property (IZbQueryInfo)

Задает внутреннее имя в модели данных.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property ModelName As String

Описание:

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


ModifyByKeySet method (IZbQueryInfo)

Зарезервировано.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function ModifyByKeySet(Operation As Long, KeySet, OptionsOrCount As Long, Fields, Values, [Count]) As Boolean


Name property (IZbQueryInfo)

Возвращает название запроса.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property Name As String

read-only


OpenBaseTable method (IZbQueryInfo)

Возвращает все записи базовой таблицы. Базовая таблица - та, у которой задано поле связи с картой.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function OpenBaseTable() As IZbDataset


QueryByExample method (IZbQueryInfo)

Выполняет запрос по образцу.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function QueryByExample(QueryStrings, [Fields], [QueryResult As Long], [DataSet As IZbDataset]) As Boolean

QueryStrings - строки условий запроса.

Fields - список полей, для которых заданы условия.

QueryResult - возвращаемое число из набора констант zbQueryResultType, определяющее тип запроса.

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

Описание:

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

Строки запроса указываются в параметре QueryStrings одним из вариантов:

Параметр Fields содержит имена или индексы полей, которым соответствуют строки запроса, в одном из приведенных вариантов:

В параметр QueryResult будет помещено значение, указывающее на тип запроса (запрос на выборку, запрос на вычисление агрегатных значений, запрос на изменение, см. zbQueryResultType). Этот параметр заполняется в процессе выполнения метода на этапе анализа запроса.

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

В случае успеха метод возвращает True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


QueryType property (IZbQueryInfo)

Возвращает тип запроса. Возможные значение перечислены в zbQueryType.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property QueryType As zbQueryType

read-only

Описание:

В настоящий момент реализован только тип запроса zbqtVisualQuery (визуальный запрос).


Rename method (IZbQueryInfo)

Задает новое имя запроса.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function Rename(Name As String) As Boolean

Name - новое название запроса.

Описание:

Метод в случае успеха возвращает True. Если другой запрос с таким же именем Name уже существует, метод вернет False.


ResortDataset method (IZbQueryInfo)

Зарезервировано.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function ResortDataset(DataSet As IZbDataset, SortField As Long, SortMode As Long, NewDataset As IZbDataset) As Boolean


SelectAll method (IZbQueryInfo)

Возвращает все записи запроса.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function SelectAll() As IZbDataset

Описание:

Метод возвращает объект IZbDataset, содержащий все записи запроса. В ответ попадут все поля запроса, а также некоторые служебные поля. Если поле связи с картой не указано в списке полей запроса (обычно это так), оно будет добавлено в выборку и будет первым в ответе, увеличивая число результирующих полей на единицу.


SelectByExample method (IZbQueryInfo)

Выполняет выборку данных с учетом условий.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function SelectByExample(QueryStrings As String, Fields As String) As IZbDataset

QueryStrings - строки запроса, разделенные символом ASCII 10.

Fields - имена полей, которым соответствуют строки запроса (также разделенные символом ASCII 10).

Описание:

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

В случае успеха, метод вернет объект IZbDataset. В случае ошибки, свойства LastError и LastErrorString содержат информацию об этой ошибке.


SelectByKey method (IZbQueryInfo)

Возвращает записи по заданному ключу.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function SelectByKey(Key) As IZbDataset

Key - ключ объекта.

Описание:

Метод возвращает набор записей IZbDataset, соответствующих заданному значению поля связи с картой.


SelectByKeySet method (IZbQueryInfo)

Производит выборку записей по заданному набору ключей.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function SelectByKeySet(KeySet, OptionsOrCount As Long, Fields, [Count]) As IZbDataset

KeySet, OptionsOrCount | - задают набор ключей;
Fields, Count | - задают список полей, которые должны войти в ответ

Описание:

Метод производит выборку данных по заданному набору ключей и заданному набору полей.

В случае успешного добавления записи метод вернет True, иначе False. Свойства LastError и LastErrorString текущей базы содержат информацию об ошибке.

Параметры KeySet и OptionsOrCount задают набор ключей одним из возможных способов:

KeySet

OptionsOrCount

Значение

<имя_файла>

zbkoTextFile

Набор ключей задается в текстовом файле. Путь к файлу передается в параметре KeySet в виде строки. Каждая строка файла содержит целое число - ключ объекта.

<имя_файла>

zbkoBinaryFile

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

Объект ElementKeys | Не используется, д. б. 0 | Набор ключей передается в виде коллекции ElementKeys.
Объект IZEnumElements | Не используется, д. б. 0 | Набор ключей передается в виде итератора IZEnumElements.

строка с разделителем (ASCII 10)

zbkoStrings

Набор ключей перечислен в одной строке. В качестве разделителя используется символ ASCII 10.

массив строк

Не используется, д. б. 0

Набор ключей задается массивом (safearray) строк.

массив целых чисел

Не используется, д. б. 0

Набор ключей задается массивом (safearray) целых чисел.

указатель на целое число

число элементов

Набор ключей задается массивом целых чисел, при этом KeySet указывает на первый элемент массива, а OptionsOrCount содержит число элементов массива.

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

  1. Строка, перечисляющая имена поля, разделенные символом ASCII 10.

  2. Массив строк (safearray), содержащий имена полей.

  3. Массив целых чисел (safearray), содержащий индексы полей, считая от нуля.

  4. Указатель на целое число, являющееся первым элементом массива индексов полей. В этом случае в параметре Count передается число элементов этого массива.


SetKeyFilter method (IZbQueryInfo)

Заполняет фильтр ключей новыми значениями.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function SetKeyFilter(nFilter As Long, KeySet,OptionsOrCount As Long) As Boolean

nFilter - тип фильтра из набора zbKeyFilterType.

KeySet, OptionsOrCount - задают набор ключей одним из возможных вариантов:

KeySet

OptionsOrCount

Значение

<имя_файла>

zbkoTextFile

Набор ключей задается в текстовом файле. Путь к файлу передается в параметре KeySet в виде строки. Каждая строка файла содержит целое число - ключ объекта.

<имя_файла>

zbkoBinaryFile

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

значение из набора zbKeyFilterType

zbkoKeyFilter

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

строка с разделителем (ASCII 10)

zbkoStrings

Набор ключей перечислен в одной строке. В качестве разделителя используется символ ASCII 10.

массив строк

(пусто)

Набор ключей задается массивом (safearray) строк.

массив целых чисел

(пусто)

Набор ключей задается массивом (safearray) целых чисел.

указатель на целое число

число элементов

Набор ключей задается массивом целых чисел, при этом KeySet указывает на первый элемент массива, а OptionsOrCount содержит число элементов массива.

Описание:

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


SetSortParams method (IZbQueryInfo)

Устанавливает параметры сортировки при выполнении запросов на выборку данных.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Sub SetSortParams(Field,SortMode As Long)

Field - поле сортировки.

SortMode - режим сортировки из набора констант zbSortMode.

Описание:

Метод устанавливает параметры сортировки при выполнении запросов на выборку данных. Режим сортировки указывается в параметре SortMode. Если SortMode не zbSortNone, параметр Field должен содержать поле, по которому будут сортироваться данные. Это либо имя поля, либо номер, либо объект IZbFieldInfo.


ShrinkByKeySet method (IZbQueryInfo)

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

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function ShrinkByKeySet(KeySet, OptionsOrCount As Long) As Boolean

KeySet, OptionsOrCount - задают набор ключей одним из возможных вариантов:

KeySet

OptionsOrCount

Значение

<имя_файла>

zbkoTextFile

Набор ключей задается в текстовом файле. Путь к файлу передается в параметре KeySet в виде строки. Каждая строка файла содержит целое число - ключ объекта.

<имя_файла>

zbkoBinaryFile

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

значение из набора zbKeyFilterType

zbkoKeyFilter

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

строка с разделителем (ASCII 10)

zbkoStrings

Набор ключей перечислен в одной строке. В качестве разделителя используется символ ASCII 10.

массив строк

(пусто)

Набор ключей задается массивом (safearray) строк.

массив целых чисел

(пусто)

Набор ключей задается массивом (safearray) целых чисел.

указатель на целое число

число элементов

Набор ключей задается массивом целых чисел, при этом KeySet указывает на первый элемент массива, а OptionsOrCount содержит число элементов массива.

Описание:

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


SwitchKeyFilter method (IZbQueryInfo)

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function SwitchKeyFilter(nFilter As Long) As Boolean.

nFilter - код фильтра ключей из набора zbKeyFilterType.

Описание:

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


Tags property (IZbQueryInfo)

Возвращает коллекцию тегов IZbTags, связанных с данным объектом.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property Tags As IZbTags

read-only


UpdateBaseRecord method (IZbQueryInfo)

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

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function UpdateBaseRecord(Key, Fields, Values, [Count]) As Boolean

Key - ключ объекта.

Fields - набор полей. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом целых чисел, представляющий индексы полей базовой таблицы.

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

Values - набор значений. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

Описание:

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


UpdateBaseRecordEx method (IZbQueryInfo)

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

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function UpdateBaseRecordEx(Options As Long, LocFields As String, LocValues, Fields As String, Values) As Boolean

Options - набор флагов, задающих опции данной операции.

LocFields - список имен полей для поиска записи, разделенных символом с кодом ASCII 10.

LocValues - набор значений для поиска записи. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом значений (строковые, числовые, VARIANT).

в) в случае единственного поля LocFields, то единственное значение (строка, число).

Fields - список имен полей для обновления, разделенных символом с кодом ASCII 10.

Values - набор значений для обновления. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом значений (строковые, числовые, VARIANT).

в) в случае единственного поля Fields, то единственное значение (строка, число,массив байт).

Описание:

В отличие от метода UpdateBaseRecord, метод UpdateBaseRecordEx позволяет обновлять запись не только по полю связи с картой, но и указывать дополнительные ключевые поля для поиска записи.

Метод ищет запись в базовой таблице по параметрам LocFields и LocValues, и обновляет эту запись по параметрам Fields и Values. Одни и те же поля могут входить с состав списков полей LocFields и Fields, тогда после поиска записи по значениям LocValues, эти поля будут обновлены новыми значениями из Values.

В случае, если запись с праметрами LocFields и LocValues не найдена, то если параметр Options содержит 1, то новая запись будет добавлена в таблицу и заполнена объединением значений LocValues и Values, иначе метод вернет False.


UpdateFromAscii method (IZbQueryInfo)

Обновить данные в семантической базе данных по значениям, заданным в текстовом файле.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function UpdateFromAscii(AsciiFile As String, Fields, [Count], Format As zbAsciiInfo) As Boolean

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

Fields - набор полей. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом номеров полей.

г) указателем на первый элемент массива, тогда необходимо задать параметр Count - число элементов массива.

Format - задается типом zbAsciiInfo в случае, если формат записи в текстовый файл отличен от стандартного. Стандартный формат записи - значения указываются в кавычках через запятую.

Описание:

В случае успешного добавления записи метод вернет True.


UpdateFromDataset method (IZbQueryInfo)

Обновить данные в семантической базе данных по значениям, заданным набором записей IZbDataset.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Function UpdateFromDataset(DataSet As IZbDataset, Fields, [Count]) As Boolean

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

Fields - набор полей запроса, данные которых будут обновляться. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом номеров полей.

г) указателем на первый элемент массива, в этом случае необходимо задать параметр Count - число элементов массива.

Описание:

В случае успешного добавления записи метод вернет True.

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


VisualQuery property (IZbQueryInfo)

Возвращает объект IZbVisualQuery, соответствующий визуальному запросу Zulu.

Применяется к:

IZbQueryInfo

Синтаксис:

Visual Basic:

Property VisualQuery As IZbVisualQuery

read-only


IZbQueryRef object

Ссылка на запрос или справочник, входящий в текущий запрос как подзапрос. Основной элемент коллекции IZbQueryRefs.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

NickName

Source

SourceType


NickName property (IZbQueryRef)

Возвращает имя подзапроса.

Применяется к:

IZbQueryRef

Синтаксис:

Visual Basic:

Property NickName As String

read-only


Source property (IZbQueryRef)

Возвращает объект IZbQueryInfo или IZbBookInfo в зависимости от того, ссылается ли объект IZbQueryRef на запрос или справочник. Тип объекта определяется свойством SourceType.

Применяется к:

IZbQueryRef

Синтаксис:

Visual Basic:

Property Source As Object

read-only


SourceType property (IZbQueryRef)

Определяет тип объекта (запрос или справочник), на который ссылается объект IZbQueryRef. Возможные значения перечислены в zbQueryRefType.

Применяется к:

IZbQueryRef

Синтаксис:

Visual Basic:

Property SourceType As zbQueryRefType

read-only


IZbQueryRefs collection

Коллекция подзапросов. Входит как свойство SubQueries в объект IZbVisualQuery.

Свойства и методы:

Свойства

Методы

Count

Item

FindItemByName

GetIndexByName


Count property (IZbQueryRefs)

Возвращает количество элементов в коллекции.

Применяется к:

IZbQueryRefs

Синтаксис:

Visual Basic:

Property Count As Long

read-only


FindItemByName method (IZbQueryRefs)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbQueryRefs

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbQueryRef) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbQueryRefs)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbQueryRefs

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbQueryRefs)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbQueryRefs

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbQueryRef

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


IZbQueryTree object

Представляет элемент дерева структуры запроса.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

Child

Links

NextDown

Parent

Sibling


Child property (IZbQueryTree)

Возвращает первый дочерний элемент дерева.

Применяется к:

IZbQueryTree

Синтаксис:

Visual Basic:

PropertyChild As IZbQueryTree

read-only


Links property (IZbQueryTree)

Возвращает коллекцию связей, соответствующую данному узлу дерева.

Применяется к:

IZbQueryTree

Синтаксис:

Visual Basic:

Property Links As IZbLinks

read-only


NextDown property (IZbQueryTree)

Возвращает следующий перечисляемый элемент дерева.

Применяется к:

IZbQueryTree

Синтаксис:

Visual Basic:

Property NextDown As IZbQueryTree

read-only


Parent property (IZbQueryTree)

Возвдащает родительский элемент дерева.

Применяется к:

IZbQueryTree

Синтаксис:

Visual Basic:

Property Parent As IZbQueryTree

read-only


Sibling property (IZbQueryTree)

Возвращает следующий элемент дерева, имеющий того же родителя.

Применяется к:

IZbQueryTree

Синтаксис:

Visual Basic:

Property Sibling As IZbQueryTree

read-only


IZbReportInfo object

Представляет отчёт, сохранённый в базе данных. Основной элемент коллекции IZbReports.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

ModelName

Name

Tags

ReadData

Rename

WriteData


ModelName property (IZbReportInfo)

Задает внутреннее имя в модели данных.

Применяется к:

IZbReportInfo

Синтаксис:

Visual Basic:

Property ModelName As String

Описание:

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


Name property (IZbReportInfo)

Возвращает название отчета.

Применяется к:

IZbReportInfo

Синтаксис:

Visual Basic:

Property Name As String

read-only


ReadData method (IZbReportInfo)

Зарезервировано.

Применяется к:

IZbReportInfo

Синтаксис:

Visual Basic:

Function ReadData(Stream As Unknown) As Boolean


Rename method (IZbReportInfo)

Задает новое имя отчета.

Применяется к:

IZbReportInfo

Синтаксис:

Visual Basic:

Function Rename(Name As String) As Boolean

Name - новое название отчета.

Описание:

Метод в случае успеха возвращает True. Если другой отчет с таким же именем Name уже существует, метод вернет False.


Tags property (IZbReportInfo)

Возвращает коллекцию тегов IZbTags, связанных с данным объектом.

Применяется к:

IZbReportInfo

Синтаксис:

Visual Basic:

Property Tags As IZbTags

read-only


WriteData method (IZbReportInfo)

Зарезервировано.

Применяется к:

IZbReportInfo

Синтаксис:

Visual Basic:

Function WriteData(Stream As Unknown) As Boolean


IZbReports object

Коллекция отчётов, сохранённых в базе данных.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

Item

Add

FindItemByName

GetIndexByName

Remove


Add method (IZbReports)

Применяется к:

IZbReports

Синтаксис:

Visual Basic:

Function Add() As IZbReportInfo


Count property (IZbReports)

Возвращает количество элементов в коллекции.

Применяется к:

IZbReports

Синтаксис:

Visual Basic:

Property Count As Long

read-only


FindItemByName method (IZbReports)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbReports

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbReportInfo) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbReports)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbReports

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbReports)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbReports

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbReportInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


Remove method (IZbReports)


IZbSimpleBook object

Объект, описывающий простой справочник.

Входит в состав ZuluGIS 2021 Database Connection Library.

Методы:

Методы

AddValue

Clear

FindValue

RemoveValue


AppValue method (IZbSimpleBook)

Добавляет новую запись в простой справочник.

Применяется к:

IZbSimpleBook

Синтаксис:

Visual Basic:

Function AddValue(Key As String, Value As String) As Boolean

Key - «ключ» или идентификатор.

Value - значение, соответствующее ключу.


Clear method (IZbSimpleBook)

Удалает все записи из простого справочника.

Применяется к:

IZbSimpleBook

Синтаксис:

Visual Basic:

Sub Clear()


FindValue method (IZbSimpleBook)

Ищет запись в простом справочнике по указанному ключу и, если надо, возвращает значение.

Применяется к:

IZbSimpleBook

Синтаксис:

Visual Basic:

Function FindValue(Key As String, [Value As String]) As Boolean

Key - «ключ» по которому ищется запись.

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

Описание:

Если запись найдена, метод возвращает True, в параметр Value в этом случае записывается найденное значение. Иначе, если запись не найдена, метод возвращает False.


AppValue method (IZbSimpleBook)

Удалает запись из простого справочника по указанному ключу.

Применяется к:

IZbSimpleBook

Синтаксис:

Visual Basic:

Function RemoveValue(Key As String) As Boolean

Key - «ключ» или идентификатор.

Описание:

Метод удаляет запись из справочника по указанному ключу и, в случае успеха, возвращает True, иначе - False.


IZbSourceInfo object

Объект источник таблиц в базе данных. Основной элемент коллекции IZbSources.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

 Методы

LoginPassword

LoginUserName

Name

SourceString

SourceType

UseService

 Rename


LoginPassword property (IZbSourceInfo)

Задает пароль пользователя, используемое при соединении с СУБД.

Применяется к:

IZbSourceInfo

Синтаксис:

Visual Basic:

Property LoginPassword As String


LoginUserName property (IZbSourceInfo)

Задает имя пользователя, используемое при соединении с СУБД.

Применяется к:

IZbSourceInfo

Синтаксис:

Visual Basic:

Property LoginUserName As String


Name property (IZbSourceInfo)

Возвращает имя источника таблиц.

Применяется к:

IZbSourceInfo

Синтаксис:

Visual Basic:

Property Name As String

read-only


Rename method (IZbSourceInfo)

Изменяет имя источника таблиц.

Применяется к:

IZbSourceInfo

Синтаксис:

Visual Basic:

Function Name(NewName As String) As Boolean

Описание:

Метод изменяет имя источника таблиц, если это применимо. В случае, если тип источника является zbstBDEAlias, zbstFolderAlias или zbstDSNAlias, имя источника совпадает с именем указанного превдонима (alias) и его изменить нельзя. Также имя нельзя изменить, если объект IZbSourceInfo указывает на источник данных Zulu или на удаленный источник с ZuluServer.

В случае, если имя успешно изменено, метод возвращает True, иначе False.


SourceString property (IZbSourceInfo)

Возвращает строку соединения или другой параметр в зависимости от типа источника.

Применяется к:

IZbSourceInfo

Синтаксис:

Visual Basic:

Property SourceString As String

read-only

Описание:

Строка SourceString в зависимости от типа источника SourceType обозначает следующее:

Тип источника

SourceType

SourceString

Локальная папка

zbstFolderAlias

Путь к локальной папке.

Псевдоним BDE

zbstBDEAlias

Имя псевдонима (alias).

ODBC DSN

zbstDSNAlias

Имя источника ODBC DSN.

Соединение ADO(OLEDB)

zbstADOConnection

Строка соединения OLE DB.

База данных Microsoft Access

zbstAccess

Путь к файлу базы данных Microsoft Access.

База данных SQL Server Express LocalDB

zbstSQLLocalDb

Путь к файлу базы данных SQL Server Express LocalDB.

База данных SQLite

zbstSQLite

Путь к файлу базы данных SQLite.


SourceType property (IZbSourceInfo)

Возвращает тип источника таблиц. Возможные значения перечислены в наборе констант zbSourceType.

Применяется к:

IZbSourceInfo

Синтаксис:

Visual Basic:

Property SourceType As zbSourceType

read-only


UseService property (IZbSourceInfo)

Возвращает сервис, который используется для доступа к данным (ADO, BDE/ODBC). Возможные значения перечислены в zbUseService.

Применяется к:

IZbSourceInfo

Синтаксис:

Visual Basic:

Property UseService As zbUseService

read-only


IZbSources collection

Коллекция источников таблиц, используемых в базе данных.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

Item

Add

CreateNew

FindItemByName

GetIndexByName

Remove


Add method (IZbSources)

Добавляет новый источник таблиц в базу данных.

Применяется к:

IZbSources

Синтаксис:

Visual Basic:

Function Add(SourceType As zbSourceType, SourceString As String) As IZbSourceInfo

SourceType - тип источника.

SourceString - параметры источника в зависимости от SourceType.

Описание:

Источником таблиц может быть локальная папка на компьютере, псевдоним BDE, источник данных ODBC DSN или соединение ADO(OLE DB), база данных Microsoft Access, SQL Server Express LocalDB или SQLite.

Параметры SourceType и SourceString выбираются в соответствии с таблицей:

Тип источника

SourceType

SourceString

Локальная папка

zbstFolderAlias

Путь к локальной папке. Используется для работы с локальными таблицами Paradox.

Псевдоним BDE

zbstBDEAlias

Имя псевдонима (alias). Используется для доступа к данным через сервис BDE.

ODBC DSN

zbstDSNAlias

Имя источника ODBC DSN.

Соединение ADO(OLEDB)

zbstADOConnection

Строка соединения OLE DB.

База данных Microsoft Access

zbstAccess

Путь к файлу базы данных Microsoft Access.

База данных SQL Server Express LocalDB

zbstSQLLocalDb

Путь к файлу базы данных SQL Server Express LocalDB.

База данных SQLite

zbstSQLite

Путь к файлу базы данных SQLite.


Count property (IZbSources)

Возвращает количество элементов в коллекции.

Применяется к:

IZbSources

Синтаксис:

Visual Basic:

Property Count As Long

read-only


CreateNew method (IZbSources)

Создает новый локальный источник таблиц и добавляет соответствующий ему объект IZbSourceInfo в базу данных.

Применяется к:

IZbSources

Синтаксис:

Visual Basic:

Function CreateNew(SourceType As zbSourceType, SourceString As String, nCreOpt As Long) As IZbSourceInfo

SourceType - тип источника.

SourceStr - параметры источника в засисимости от SourceType.

nCreOpt - зарезервировано, д.б. 0.

Описание:

Создает локальный источник данных. Это может быть локальная папка на компьютере для таблиц Paradox, либо база данных Microsoft Access, SQL Server Express LocalDB или SQLite. В ходе выполнения метода создается новая база данных указанного типа и, в случае успеха, добавляется источник в колекцию IZbSources и возвращается объект IZbSourceInfo. В случае неудачи, метод возвращает NULL.

Параметры SourceType и SourceString выбираются в соответствии с таблицей:

Тип источника

SourceType

SourceString

Локальная папка

zbstFolderAlias

Путь к локальной папке. Используется для работы с локальными таблицами Paradox.

База данных Microsoft Access

zbstAccess

Путь к файлу базы данных Microsoft Access.

База данных SQL Server Express LocalDB

zbstSQLLocalDb

Путь к файлу базы данных SQL Server Express LocalDB.

База данных SQLite

zbstSQLite

Путь к файлу базы данных SQLite.


FindItemByName method (IZbSources)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbSources

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbSourceInfo) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbSources)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbSources

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbSources)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbSources

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbSourceInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


Remove method (IZbSources)

Удаляет источник таблиц из базы.

Применяется к:

IZbSources

Синтаксис:

Visual Basic:

Function Remove(Item) As Boolean

Item - элемент коллекции.

Описание:

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

Если в базу данных добавлены таблицы из этого источника, то эти таблицы также будут удалены из базы. Также будут удалены запросы и справочники, которые эти таблицы используют.

В случае успеха метод возвращает True, иначе - False.


IZbSqlParams object

Объект, задающий параметры SQL запроса. Может использоваться для задания значений параметров SQL запроса в методах ZbDatabase.ExecSQLEx и ZbDatabase.OpenSQLEx

Входит в состав ZuluGIS 2021 Database Connection Library.

Регистрационная информация:

PROGID:

Zb.ZbSqlParams

CLSID:

{125073B1-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Count

AddParam

GetParamValue

SetParam

SetParamValue

Примеры создания:

'Visual Basic:
Dim params As Zb.ZbSqlParams
Set params = New Zb.ZbSqlParams
//Delphi:
params: IZbFieldDef;
params := CoZbSqlParams.Create;
'VBScript:
Set params = CreateObject("Zb.ZbSqlParams")


AddParam method (IZbSqlParams)

Добавляет параметр в коллекцию IZbSqlParams.

Применяется к:

IZbSqlParams

Синтаксис:

Visual Basic:

Function AddParam(Type As zbFieldType, Value) As Boolean

Type - тип параметра.

Value - значение параметра.

Описание:

Метод добавляет параметр в коллекцию. Параметр Type задает тип данных добавляемого параметра. Если Type имеет значение zbftUnknown, тип параметра определяется по значению Value.

В случае успеха метод вернет True, иначе False.


Count property (IZbSqlParams)

Возвращает количество параметров, хранящихся в объекте IZbSqlParams.

Применяется к:

IZbSqlParams

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetParamValue method (IZbSqlParams)

Возвращает значение параметра из коллекции IZbSqlParams.

Применяется к:

IZbSqlParams

Синтаксис:

Visual Basic:

Function GetParamValue(Index As Long)

Index- индекс элемента (начиная с 0).

Описание:

Метод возвращает значение параметра из коллекции. Элемент коллекции задается индексом Index, начиния с 0.

В случае успеха метод вернет True, иначе False.


SetParam method (IZbSqlParams)

Задает тип и значение параметра в коллекции IZbSqlParams.

Применяется к:

IZbSqlParams

Синтаксис:

Visual Basic:

Function SetParam(Index As Long, Type As zbFieldTypezbFieldType enum, Value) As Boolean

Index- индекс элемента (начиная с 0).

Type- тип параметра.

Value- значение параметра.

Описание:

Метод задает тип и значение параметра в коллекции. Элемент коллекции задается индексом Index, начиния с 0.

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

В случае успеха метод вернет True, иначе False.


SetParamValue method (IZbSqlParams)

Задает новое значение параметра в коллекции IZbSqlParams.

Применяется к:

IZbSqlParams

Синтаксис:

Visual Basic:

Function SetParamValue(Index As Long, Value) As Boolean

Index- индекс элемента (начиная с 0).

Value - - значение параметра.

Описание:

Метод задает новое значение параметра в коллекции. Элемент коллекции задается индексом Index, начиния с 0.

В случае успеха метод вернет True, иначе False.


IZbStdBrowseForm object

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

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

FormInfo

GetFieldValue

SetFieldValue

SetFieldValueAndText


FormInfo property (IZbStdBrowseForm)

Возвращает описатель текущей активной формы.

Применяется к:

IZbStdBrowseForm

Синтаксис:

Visual Basic:

Property FormInfo As IZbFormInfo

read-only


GetFieldValue method (IZbStdBrowseForm)

Возвращает значение указанного поля, заполненное в форме.

Применяется к:

IZbStdBrowseForm

Синтаксис:

Visual Basic:

Property GetFieldValue(iIndex As Long)

read-only

iIndex - индекс поля в форме.


SetFieldValue method (IZbStdBrowseForm)

Заполняет значение указанного поля в форме.

Применяется к:

IZbStdBrowseForm

Синтаксис:

Visual Basic:

Property SetFieldValue(iIndex As Long, Val)

read-only

iIndex - индекс поля в форме.

Val - значение поля в виде VARIANT.


SetFieldValueAndText method (IZbStdBrowseForm)

Задает значение указанного поля в форме и его отображаемый текст.

Применяется к:

IZbStdBrowseForm

Синтаксис:

Visual Basic:

Property SetFieldValueAndText(iIndex As Long, Val,Text As String)

read-only

iIndex - индекс поля в форме.

Val - значение поля в виде VARIANT.

Text - текст, который будет отображаться в строке формы.


IZbStdBrowseParam object

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

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Database

Form

hParentWnd

nField

GetActionRect


Database property (IZbStdBrowseParam)

Возвращает текущую базу данных, открытую в браузере.

Применяется к:

IZbStdBrowseParam

Синтаксис:

Visual Basic:

Property Database As ZbDatabase

read-only


Form property (IZbStdBrowseParam)

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

Применяется к:

IZbStdBrowseParam

Синтаксис:

Visual Basic:

Property Form As IZbStdBrowseForm

read-only


GetActionRect method (IZbStdBrowseParam)

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

Применяется к:

IZbStdBrowseParam

Синтаксис:

Visual Basic:

Sub GetActionRect(Left As Long, Top As Long, Right As Long, Bottom As Long)


hParentWnd property (IZbStdBrowseParam)

Возвращает дескриптор окна (HWND) браузера в виде числа Long.

Применяется к:

IZbStdBrowseParam

Синтаксис:

Visual Basic:

Property hParentWnd As Long

read-only


nField property (IZbStdBrowseParam)

Возвращает номер поле в форме, к которому относится событие (напр. событие evBrowserCustomBrowse при нажатии на кнопку «многоточие» поля).

Применяется к:

IZbStdBrowseParam

Синтаксис:

Visual Basic:

Property nField As Long

read-only


Элемент управления ZbStdBrowser

Элемент управления ZbStdBrowser — окно семантической информации, в котором можно получить информацию по выделенному на карте объекту (Текущая запись), сформировать запрос для выборки группы записей (Запрос/Ответ), просмотреть все записи в базе данных (База). Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства, методы и события:

Свойства

Методы

События

Active

ActivePage

Browser

Caption

DatabaseName

Enabled

Flat

Font

HasToolbar

ReadOnly

Visible

SetVisiblePages

OnActivate

OnCaptionChanged

OnClick

OnCreate

OnDblClick

OnDeactivate

OnDestroy-

OnKeyDown

OnKeyPress

OnKeyUp

OnSetCurObject

Пример:

'Установить связь между картой и элементом управления базой данной
MapCtrl1.Browser = ZbStdBrowser1.Browser


Active property (IZbStdBrowser)

Определяет, является ли окно семантической информации активным.

Применяется к:

ZbStdBrowser

Синтаксис:

Visual Basic:

Property Active As Boolean

read-only

Описание:

Возвращает True, если окно семантической информации активно и имеет фокус ввода.


ActivePage property (IZbStdBrowser)

Возвращает/устанавливает активную страницу браузера.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property ActivePage As zbStdBrowserPages


Browser property (IZbStdBrowser)

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

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property Browser As IZbBrowser

read-only

Пример:

'Связывает браузер с окном карты
MapCtrl1.Browser = ZbStdBrowser1.Browser


Caption property (IZbStdBrowser)

Возвращает/устанавливает заголовок окна семантической информации.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property Caption As String:


DatabaseName property (IZbStdBrowser)

Возвращает/устанавливает полный путь к текущей просматриваемой базе данных (файл описателя .zb).

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property DatabaseName As String


Enabled property (IZbStdBrowser)

Блокирует или разблокирует пользовательский интерфейс браузера.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property Enabled As Boolean


Flat property (IZbStdBrowser)

Не используется. Сохранено для совместимости с предыдущими версиями элемента.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property Flat As Boolean

Описание:

В предыдущих версиях свойство определяло внешний вид кнопок панели инструментов.


Font property (IZbStdBrowser)

Возвращает / устанавливает шрифт интерфейсных элементов браузера.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property Font As StdFont


HasToolbar property (IZbStdBrowser)

Включает / отключает панель инструментов браузера.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property HasToolbar As Boolean


OnActivate event (IZbStdBrowser)

Возникает при активизации браузера.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnActivate()


OnCaptionChanged event (IZbStdBrowser)

Возникает при смене заголовка окна семантической информации.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnCaptionChanged()


OnClick event (IZbStdBrowser)

Возникает при щелчке мыши на окне семантической информации.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnClick()


OnCreate event (IZbStdBrowser)

Возникает при создании окна браузера.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnCreate()


OnDblClick event (IZbStdBrowser)

Возникает при двойном щелчке на окне семантической информации.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnDblClick()


OnDeactivate event (IZbStdBrowser)

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnDeactivate()


OnDestroy event (IZbStdBrowser)

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnDestroy()


OnKeyDown event (IZbStdBrowser)

Возникает при нажатии клавиши на клавиатуре.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnKeyDown(KeyCode As Integer, Shift As Integer)

KeyCode - код нажатой клавиши.

Shift - параметр, определяющий состояние клавиш Shift, Ctrl и Alt.


OnKeyPress event (IZbStdBrowser)

Возникает при нажатии символьной клавиши на клавиатуре.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnKeyPress(KeyAscii As Integer)

KeyAscii - ASCII-код нажатой клавиши.


OnKeyUp event (IZbStdBrowser)

Возникает при отпускании клавиши на клавиатуре.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnKeyUp(KeyCode As Integer, Shift As Integer)

KeyCode - код клавиши.

Shift - параметр, определяющий состояние клавиш Shift, Ctrl и Alt.


OnSetCurObject event (IZbStdBrowser)

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Event OnSetCurObject(ElemID As Long)

ElemID - ключ выделенного объекта.


ReadOnly property (IZbStdBrowser)

Установить/снять признак вывода информации только для чтения (без возможности изменения записей).

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property ReadOnly As Boolean

Описание:

True - информацию в браузере можно только просматривать, редактирование информации запрещено.

False - редактирование информации в браузере разрешено.

Свойство доступно как в процессе дизайна формы, так и программно.


SetVisiblePages method (IZbStdBrowser)

Устанавливает, какие закладки отображаются в окне семантической информации.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Sub SetVisiblePages(nPages As Long, bVisible As Boolean)

nPages - набор флагов из набора констант zbStdBrowserPages, определяющий какие закладки нужно показать или скрыть.

bVisible - признак отображения (True - показать, False - скрыть).

Описание:

Метод служит для установки видимости определенных закладок браузера базы данных («Текущая запись», «Запрос», «База», «Ответ»).

Закладки задаются параметром nPages через логическое ИЛИ (OR).

Пример:

'Скрыть закладки «Запрос» и «База»:
IZbStdBrowser1.SetVisiblePages zbBroPageQuery OR zbBroPageBase, False


Visible property (IZbStdBrowser)

Свойство позволяет показать или скрыть окно браузера.

Применяется к:

IZbStdBrowser

Синтаксис:

Visual Basic:

Property Visible As Boolean


IZbTableDef object

Объект, описывающий структуру таблицы. Объект может быть создан как новый, либо получен по имеющейся таблице (см. IZbTableInfo.TableDef или ZbDatabase.GetTableDef).

Объект используется для создания и реструктурирования таблиц. (см. CreateTable, CreateTableEx, AlterTable).

Входит в состав ZuluGIS 2021 Database Connection Library.

Регистрационная информация:

PROGID:

Zb.ZbTableDef

CLSID:

{1250737F-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

FieldCount

FieldDisplayLength

FieldLength

FieldName

FieldPrecision

FieldType

KeyField

LangDriver

Level

AddField

AddFieldDef

Clone

DeleteField

FindItemByName

GetFieldDef

GetIndexByName

InsertField

InsertFieldDef

Примеры создания:

'Visual Basic:
Dim tbldef As Zb.ZbTableDef
Set tbldef = New Zb.ZbTableDef
//Delphi:
tbldef: IZbTableDef;
tbldef := CoZbTableDef.Create;
'VBScript:
Set tbldef = CreateObject("Zb.ZbTableDef")


AddField method (IZbTableDef)

Добавляет поле в описатель таблицы.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Sub AddField(Name As String, Type As zbFieldType, Size As Integer, Prec As Integer, Key As Boolean)

Name - имя поля.

Type - тип поля, задается из набора констант zbFieldType.

Size - размер поля (имеет значение для строковых полей, для нестроковых полей - 0).

Prec - точность (для числовых полей), количество знаков после запятой.

Key - признак ключевого поля. Если параметр задан как True, то добавляемое поля будет ключевым.


AddFieldDef method (IZbTableDef)

Добавляет описатель поля с список полей.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Sub AddFieldDef(Info As ZbFieldDef)


Clone method (IZbTableDef)

Возвращает копию объекта IZbTableDef. Новый объект можно редактировать, например для изменения структуры таблицы с помощью метода AlterTable.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Function Clone() As IZbTableDef

Описание

Обычно для изменения структуры таблицы необходимо получить её текущую структуру (объект IZbTableDef), внести необходимые изменения и выполнить метод AlterTable объекта ZbDatabase.

Объект IZbTableDef может быть получен либо через метод GetTableDef объекта ZbDatabase, либо через свойство TableDef объекта IZbTableInfo. Во втором случае возвращаемый объект является read-only, отражает текущее состояние структуры таблицы и не может быть изменён. Чтобы изменить структуру таблицы можно выполнить метод Clone, чтобы получить копию объекта, внести в неё изменения и потом выполнить AlterTable.

Пример

'Пример Visual Basic
Dim OldTableDef As IZbTableDef
Dim NewTableDef As IZbTableDef

'Получаем текущую структуру таблицы
OldTableDef = TableInfo.TableDef

'Создаём копию структуры таблицы
NewTableDef = OldTableDef.Clone

'Добавляем новое поле
NewTableDef.AddField "NewField", zbftInteger, 0, 0, False

'Выполняем реструктуризацию
Db.AlterTable TableInfo.Source, TableInfo.Name, NewTableDef


DeleteField method (IZbTableDef)

Удалить поле по указанному индексу.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Sub DeleteField(Index As Long)

Index - индекс удаляемого поля, считая от нуля.


FieldCount property (IZbTableDef)

Возвращает количество полей в описателе таблицы.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property FieldCount As Long

read-only


FieldDisplayLength property (IZbTableDef)

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

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property FieldDisplayLength(Index As Long) As Integer

Index - индекс поля.


FieldLength property (IZbTableDef)

Возвращает/устанавливает длину поля.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property FieldLength(Index As Long) As Integer

Index - индекс поля.


FieldName property (IZbTableDef)

Возвращает/устанавливает имя поля.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property FieldName(Index As Long) As String

Index - индекс поля.


FieldPrecision property (IZbTableDef)

Возвращает/устанавливает точность для числового поля (кол-во знаков после запятой).

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property FieldPrecision(Index As Long) As Integer

Index - индекс поля.


FieldType property (IZbTableDef)

Возвращает/устанавливает тип поля.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property FieldType(Index As Long) As zbFieldType

Index - индекс поля.


FindItemByName method (IZbTableDef)

Возвращает описатель поля по указанному имени.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Function FindItemByName(Name As String, Item As ZbFieldDef) As Boolean

Name - имя, по которому ищется описатель поля.

Index - ссылка на возвращаемый объект описателя поля.

Описание:

Метод ищет элемент в коллекции описателей полей с указанным именем Name. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

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


GetFieldDef method (IZbTableDef)

Возвращает описатель поля по индексу.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Function GetFieldDef(Index As Long) As ZbFieldDef

Index - индекс поля.


GetIndexByName method (IZbTableDef)

Возвращает индекс поля по указанному имени.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Function GetIndexByName(Name As String) As Long

Name - имя поля.

Описание:

Метод возвращает индекс поля с указанным именем считая от нуля. Если поля с таким именем не найдено метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


InsertField method (IZbTableDef)

Вставить поле в описатель таблицы по указанной позиции.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Sub InsertField(nBefore As Long, Name As String, Type As zbFieldType, Size As Integer, Prec As Integer, Key As Boolean)

nBefore - номер поля, перед которым вставляется поле.

Name - имя поля.

Type - тип поля из набора констант zbFieldType.

Size - размер поля (для строковых полей).

Prec

Key - признак ключевого поля.


InsertFieldDef method (IZbTableDef)

Вставляет описатель поля по указанной позиции.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Sub InsertFieldDef(nBefore As Long,Info As ZbFieldDef)

nBefore - номер поля, перед которым всавляется поле.

Info - объект, задающий описание поля таблицы.


KeyField property (IZbTableDef)

Возвращает/устанавливает признак ключевого поля.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property KeyField(Index As Long) As Boolean

Index - индекс поля.


LangDriver property (IZbTableDef)

Задает имя языкового драйвера (для таблиц Paradox и dBase).

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property LangDriver As String


Level property (IZbTableDef)

Задает параметр Level для таблиц Paradox или dBase.

Применяется к:

IZbTableDef

Синтаксис:

Visual Basic:

Property Level As Long


IZbTableInfo object

Объект-таблица семантической базы данных. Входит как образующий элемент в коллекцию IZbTables.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

ModelName

Name

Source

TableDef

TableType

Tags


ModelName property (IZbTableInfo)

Задает внутреннее имя в модели данных.

Применяется к:

IZbTableInfo

Синтаксис:

Visual Basic:

Property ModelName As String

Описание:

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


Name property (IZbTableInfo)

Возвращает/устанавливает имя таблицы.

Применяется к:

IZbTableInfo

Синтаксис:

Visual Basic:

Property Name As String


Source property (IZbTableInfo)

Возвращает источник таблицы.

Применяется к:

IZbTableInfo

Синтаксис:

Visual Basic:

Property Source As IZbSourceInfo

read-only


TableDef property (IZbTableInfo)

Возвращает объект, описывающий структуру таблицы.

Применяется к:

IZbTableInfo

Синтаксис:

Visual Basic:

Property TableDef As ZbTableDef

read-only

Описание:

Метод возвращает объект ZbTableDef, описывающий структуру таблицы.


TableType property (IZbTableInfo)

Возвращает тип таблицы из набора констант zbTableType.

Применяется к:

IZbTableInfo

Синтаксис:

Visual Basic:

Property TableType As zbTableType

read-only


Tags property (IZbTableInfo)

Возвращает коллекцию тегов IZbTags, связанных с данным объектом.

Применяется к:

IZbTableInfo

Синтаксис:

Visual Basic:

Property Tags As IZbTags

read-only


IZbTableRef object

Таблица - участница визуального запроса. Основной элемент коллекции IZbTableRefs.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства:

Свойства

NickName

Table


NickName property (IZbTableRef)

Задает псевдоним таблицы в запросе.

Применяется к:

IZbTableRef

Синтаксис:

Visual Basic:

Property NickName As String


Table property (IZbTableRef)

Возвращает объект-таблицу семантической базы данных.

Применяется к:

IZbTableRef

Синтаксис:

Visual Basic:

Property Table As IZbTableInfo

read-only


IZbTableRefs collection

Коллекция таблиц визуального запроса. Входит как свойство Tables в объект IZbVisualQuery.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

Item

Add

FindItemByName

GetIndexByName

Remove


Add method (IZbTableRefs)

Добавляет таблицу в визуальный запрос.

Применяется к:

IZbTableRefs

Синтаксис:

Visual Basic:

Function Add(Table As IZbTableInfo, bUnique As Boolean) As IZbTableRef

Table - таблица, входящая в базу данных.

bUnique - если True и такая таблица уже есть в запросе, то возвращать ссылку на имеющуюся таблицу.

Описание:

Метод добавляет ссылку на таблицу Table в запрос и возвращает объект IZbTableRef, который может быть использован для дальнейшего добавления полей в запрос.

Одна и та же таблица может несколько раз входить в запрос. Параметр bUnique задает поведение в случае, если такая таблица уже есть в запроса. Если параметр bUnique указан True, то возвращается ссылка на уже имеющуюся таюлицу, если False, то в запрос будет добавлена еще одна ссылка на эту же таблицу.

Пример:

Dim VisQry As IZbVisualQuery
Dim TblRef As IZbTableRef
Dim Field As IZbFieldInfo

' Добавляем таблицу в запрос
Set TblRef = VisQry.Tables.Add(db.Tables(0), True)

' Добавляем поле связи с картой
VisQry.SetBaseField(TblRef, "Sys")

' Добавляем поля запроса
Set Field = VisQry.AddField(TblRef, "Name")
Field.UserName = "Название"
Set Field = VisQry.AddField(TblRef, "Code")
Field.UserName = "Код объекта"
...


Count property (IZbTableRefs)

Возвращает количество элементов в коллекции.

Применяется к:

IZbTableRefs

Синтаксис:

Visual Basic:

Property Count As Long

read-only


FindItemByName method (IZbTableRefs)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbTableRefs

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbTableRef) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbTableRefs)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbTableRefs

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbTableRefs)

Возвращает элемент коллекции по индексу.

Применяется к:

IZbTableRefs

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbTableRef

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


Add method (IZbTableRefs)

Удаляет таблицу из визуального запроса.

Применяется к:

IZbTableRefs

Синтаксис:

Visual Basic:

Function Remove(Item) As Boolean

Item - элемент коллекции, который нужно удалить.

Описание:

Метод удаляет таблицу из запроса. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя ссылки на таблицу, либо сам объект IZbTableRef. При успешном выполнении метод возвращает True, иначе False.


IZbTables collection

Коллекция таблиц, входящих в семантическую базу данных. Входит как свойство Tables объекта ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

Count

Item

Add

AddLocal

FindItemByName

GetIndexByName

Remove


Add method (IZbTables)

Добавляет таблицу в базу данных.

Применяется к:

IZbTables

Синтаксис:

Visual Basic:

Function Add(Source, TableName As String) As IZbTableInfo

Source - источник таблицы (может быть пусто).

TableName - имя таблицы или полный путь к файлу таблицы.

Описание:

Метод добавляет таблицу в базу данных и возвращает объект IZbTableInfo.

Для добавления локальной таблицы Paradox или dBase параметр Source может быть пустым, а TableName содержать полный путь к файлу таблицы, включая расширение (.db или .dbf).

Для добавления таблицы на сервере ZuluServer, параметр Source может быть пустым, а TableName содержать имя таблицы (напр. "Table1").

Если в базу добавлены источники данных ADO или BDE/ODBC, то в параметре Source можно указывать либо объект IZbSourceInfo, либо имя источника данных в базе (напр. "Источник ADO 1"). TableName в этом случае содержит просто имя таблицы (напр. "Table1").


AddLocal method (IZbTables)

Добавляет локальную таблицу Paradox или dBase в базу данных.

Применяется к:

IZbTables

Синтаксис:

Visual Basic:

Function AddLocal(TablePath As String) As IZbTableInfo

TablePath - путь к файлу таблицы (.db или .dbf).

Описание:

Метод добавляет локальную таблицу Paradox или dBase в базу данных и возвращает объект IZbTableInfo.


Count property (IZbTables)

Возвращает количество элементов в коллекции.

Применяется к:

IZbTables

Синтаксис:

Visual Basic:

Property Count As Long

read-only


FindItemByName method (IZbTables)

Возвращает элемент коллекции с указанным именем.

Применяется к:

IZbTables

Синтаксис:

Visual Basic:

Function FindItemByName(NameType As zbNameType, Name As String, Item As IZbTableInfo) As Boolean

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Item - ссылка на возвращаемый элемент коллекции.

Описание:

Метод ищет элемент в коллекции с указанным именем Name. По какому имени искать элемент указывает параметр NameType. В случае успеха метод заполняет параметр ссылкой на найденный элемент и возвращает True, иначе False.

Для поиска элемента также можно использовать метод GetIndexByName, который возвращает индекс найденного элемента.


GetIndexByName method (IZbTables)

Возвращает индекс элемента коллекции с указанным именем.

Применяется к:

IZbTables

Синтаксис:

Visual Basic:

Function GetIndexByName(NameType As zbNameType, Name As String) As Long

NameType - указывает на то, по какому имени искать элемент (см. zbNameType).

Name - имя искомого элемента.

Описание:

Метод возвращает индекс элемента с указанным именем считая от нуля. По какому имени искать элемент указывает параметр NameType. Если элемент не найден метод вернет -1.

Для получения объекта из коллекции по указанному имени также можно воспользоваться методом FindItemByName.


Item property (IZbTables)

Возвращает элемент из коллекции по индексу.

Применяется к:

IZbTables

Синтаксис:

Visual Basic:

Property Item(Index As Long) As IZbTableInfo

read-only

Index - индекс элемента в коллекции.

Описание:

Метод возвращает элемент коллекции по индексу, считая от нуля.


Remove method (IZbTables)

Удаляет таблицу из базы данных.

Применяется к:

IZbTables

Синтаксис:

Visual Basic:

Function Remove(Item) As Boolean

Описание:

Метод удаляет таблицу из базы данных. Если эта таблица входила в запросы или справочники, то ссылки на таблицу также будут удалены из этих запросов и справочников.

В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя ссылки на таблицу, либо сам объект IZbTableRef. При успешном выполнении метод возвращает True, иначе False.


IZbTags object

Объект-список тегов, ассоциированных с каким-либо объектом базы данных.

Входит в состав ZuluGIS 2021 Database Connection Library.

Методы:

Методы

AppendTag

ContainsTag

EnumTags

GetTag

PutTag

RemoveAllTags

RemoveTag


AppendTag method (IZbTags)

Добавляет новый тег в конец списка.

Применяется к:

IZbTags

Синтаксис:

Visual Basic:

Function AppendTag(Name As String, Value As String) As Boolean

Name - имя тега.

Value - значение тега.


ContainsTag method (IZbTags)

Возвращает True, если указанный тег присутствует в списке.

Применяется к:

IZbTags

Синтаксис:

Visual Basic:

Function ContainsTag(Name As String) As Boolean

Name - имя тега.


EnumTags method (IZbTags)

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

Применяется к:

IZbTags

Синтаксис:

Visual Basic:

Function EnumTag() As IZbEnumTags


GetTag method (IZbTags)

Ищет значение указанного тега.

Применяется к:

IZbTags

Синтаксис:

Visual Basic:

Function GetTag(Name As String, Value As String) As Boolean

Name - имя тега.

Value - возвращаемое значение тега.

Описание:

Если указанный тег присутствует в списке, метод запишет его значение в параметр Value и вернет True, иначе - False.


PutTag method (IZbTags)

Записывает тег в списке.

Применяется к:

IZbTags

Синтаксис:

Visual Basic:

Function PutTag(Name As String, Value As String) As Boolean

Name - имя тега.

Value - значение тега.

Описание:

Если тег с именем Name присутствует в списке, то метод меняет его значение на Value, иначе, новый тег добавляется в конец списка.

В случае успеха метод вернет True.


RemoveAllTags method (IZbTags)

Удаляет все теги из списка.

Применяется к:

IZbTags

Синтаксис:

Visual Basic:

Sub RemoveAllTags()


RemoveTag method (IZbTags)

Удаляет тег с указанным именем из списка.

Применяется к:

IZbTags

Синтаксис:

Visual Basic:

Function RemoveTag(Name As String) As Boolean

Name - имя тега.


IZbVisualQuery object

Объект - визуальный запрос системы Zulu. Входит как свойство VisualQuery в объекты IZbQueryInfo и IZbBookInfo.

Входит в состав ZuluGIS 2021 Database Connection Library.

Свойства и методы:

Свойства

Методы

BaseField

DisplayFields

Fields

Links

QueryTree

SubQueries

Tables

AddField

AddLink

MoveField

RemoveField

RemoveLink


AddField method (IZbVisualQuery)

Добавляет поле в визуальный запрос.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Function AddField(Source As Object, Field) As IZbFieldInfo

Source - объект IZbTableRef или IZbQueryRef, откуда берется поле.

Field - имя поля в таблице или поле из подзапроса.

Описание:

Метод добавляет поле в запрос и возвращает объект IZbFieldInfo. Если такое поле уже есть в запросе, то метод возвращает уже имеющийся объект IZbFieldInfo.

Поле может браться из таблицы, входящей в запрос, тогда в качестве Source нужно указать объект IZbTableRef, а в качестве Field указать имя поля в этой таблице. Также можно добавить поля из подзапроса, тогда в Source передается объект IZbQueryRef, соответствующий подзапросу, а параметр Field идентифицирует поле в этом подзапросе - либо индекс поля в коллекции полей подзапроса, либо пользовательское название поля, либо непосредственно объект IZbFieldInfo из коллекции полей подзапроса.

Пример 1:

Dim VisQry As IZbVisualQuery
Dim Field As IZbFieldInfo

' Добавляем поле из таблицы
Set Field = VisQry.AddField(VisQry.Tables(0), "Name")
Field.UserName = "Название"

Пример 2:

Dim VisQry As IZbVisualQuery
Dim AnotherQryInf As IZbQueryInfo ' другой запрос
Dim QryRef As IZbQueryRef

' Добавляем подзапрос
Set QryRef = VisQry.SubQueries.Add(AnotherQryInf)

' Добавляем поле из подзапроса
Set Field = VisQry.AddField(QryRef, "Название")


AddLink method (IZbVisualQuery)

Добавляет связь между двумя таблицами или таблицей и подзапросом в визуальный запрос.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Function AddLink(Source As IZbTableRef, SourceField As String, Target As Object, TargetField As String, Type As zbLinkType) As IZbLinkInfo

Source - таблица, откуда проводится связь.

SourceField - имя поля, откуда проводится связь.

Target - таблица или подзапрос, куда проводится связь.

TargetField - имя поля, куда проводится связь.

Type - тип связи.

Описание:

Метод добавляет связь между двумя таблицами или таблицей и подзапросом.

Для добавление связи между двумя таблицами:

В параметрах Source и Target указывается ссылки на таблицы (объект IZbTableRef), а в параметрах SourceField и TargetField указываются физические имена полей, откуда и куда проводится связь.

Для добавление связи между таблицей и подзапросом:

В параметрах Source указывается ссылка на таблицу (объект IZbTableRef) и физическое имя поля откуда исходит связь. В параметре Target указывается ссылка на подзапрос (объект IZbTableRef). Параметр TargetField при этом игнорируется.

Параметр Type задает тип связи, выбирается из набора констант zbLinkType.


BaseField property (IZbVisualQuery)

Возвращает «базовое поле» - поле связи с картой.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Property BaseField As IZbFieldInfo

read-only


DisplayFields property (IZbVisualQuery)

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

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Property DisplayFields As IZbFields

read-only


Fields property (IZbVisualQuery)

Возвращает коллекцию полей запроса.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Property Fields As IZbFields

read-only


Links property (IZbVisualQuery)

Возвращает коллекцию связей между таблицами запроса.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Property Links As IZbLinks

read-only


MoveField method (IZbVisualQuery)

Меняет положение поля в визуальном запросе.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Function MoveField(Item, Pos, Relative As Boolean) As Boolean

Item - элемент коллекции Fields, который нужно переместить.

Pos - новая позиция поля или элемент коллекции Fields, относительно которого нужно расположить поле.

Relative - флаг, определяющий каким образом обрабатывать параметр Pos (см. раздел Описание).

Описание:

Метод меняет положение указанного поля в списке полей Fields визуального запроса.

В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя поля, либо непосредственно объект IZbFieldInfo.

Параметр Pos может принимать целой значение. Если параметр Relative при этом имеет значение True, то Pos задаёт количество элементов, на которое нужно сдвинуть поле (положительное или отрицательное). Если параметр Relative имеет значение False, то в этом случае Pos задаёт новое положение в списке Fields (начиная с 0).

Если в параметре Pos указано имя поля или объект IZbFieldInfo, то он задает то поле, относительно которого нужно разместить элемент Item. При этом если в Relative указано True, то поле Item размещается сразу после поля Pos, иначе непосредственно перед этим полем.

Если при выполнении метода действительно произошло изменения положения поля относительно других, метод возвращает True, иначе False.


QueryTree property (IZbVisualQuery)

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Property QueryTree As IZbQueryTree

read-only


RemoveField method (IZbVisualQuery)

Удаляет поле из визуального запроса.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Function RemoveField(Item) As Boolean

Item - элемент коллекции Fields, который нужно удалить.

Описание:

Метод удаляет запрос из базы данных. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо имя поля, либо непосредственно объект IZbFieldInfo. При успешном выполнении метод возвращает True, иначе False.


RemoveLink method (IZbVisualQuery)

Удаляет связь из запроса.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Function RemoveLink(Item) As Boolean

Item - элемент коллекции Links, который нужно удалить.

Описание:

Метод удаляет связь из запроса. В качестве Item может быть указан порядковый номер элемента в коллекции (начиная с 0), либо непосредственно объект IZbLinkInfo. При успешном выполнении метод возвращает True, иначе False.


SubQueries property (IZbVisualQuery)

Возвращает коллекцию подзапросов, входящих в данный запрос.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Property SubQueries As IZbQueryRefs

read-only


Tables property (IZbVisualQuery)

Возвращает коллекцию таблиц, участвующих в запросе.

Применяется к:

IZbVisualQuery

Синтаксис:

Visual Basic:

Property Tables As IZbTableRefs

read-only


IZEnumElements object

Итератор, предоставляющий последовательный доступ к ряду свойств объектов слоя Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Area

CurrentElemStyle

ElemID

ElemStyle

GraphType

ModeId

Perimeter

TypeID

IsEOF

IsSelected

MoveFirst

MoveNext


Area property (IZEnumElements)

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

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property Area As Double

read-only


CurrentElemStyle property (IZEnumElements)

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

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property CurrentElemStyle As ElemStyle

read-only


ElemID property (IZEnumElements)

Возвращает ID текущего элемента итератора.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property ElemID As Long

read-only


ElemStyle property (IZEnumElements)

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

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property ElemStyle As ElemStyle

read-only


GraphType property (IZEnumElements)

Возвращает графический тип текущего элемента итератора.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property GraphType As eElemGraphType

read-only


IsEOF method (IZEnumElements)

Возвращает True, если последовательный перебор элементов методами MoveFirst и MoveNext завершен и текущий элемент итератора отсутствует. В противном случае возвращает False.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Function IsEOF() As Boolean


IsSelected method (IZEnumElements)

Возвращает True, если текущий элемент итератора входит в группу слоя. В противном случае возвращает False.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Function IsSelected() As Boolean


ModeId property (IZEnumElements)

Возвращает номер режима текущего элемента итератора.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property ModeId As Long

read-only


MoveFirst method (IZEnumElements)

Делает текущим элементом первый из элементов слоя. Если такого элемента не существует, метод IsEOF() вернет True.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Sub MoveFirst()


MoveNext method (IZEnumElements)

Делает текущим следующий элемент слоя. Если такого элемента не существует, метод IsEOF() вернет True. До первого вызова MoveNext() обязательно должен быть вызван метод MoveFirst().

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Sub MoveNext()


Perimeter property (IZEnumElements)

Возвращает периметр текущего элемента итератора в метрах.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property Perimeter As Double

read-only


TypeID property (IZEnumElements)

Возвращает ID типа текущего элемента итератора.

Применяется к:

IZEnumElements

Синтаксис:

Visual Basic:

Property TypeID As Long

read-only


IZEnumFiles object

Интерфейс для получения списка файлов заданной папки по заданной маске. Возвращается методом ZuluTools.EnumFiles

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

GetFileName

GetFilePath

IsEOF

MoveFirst

MoveNext

Пример:

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

    Dim zrg As ZRasterGroup
    Set zrg = New ZRasterGroup

    Dim Tools As ZuluTools
    Set Tools = New ZuluTools

    Dim Ef As IZEnumFiles

    'Получаем интерфейс IZEnumFiles для доступа в папке "d:\ZuluData\Raster\"
    'к списку файлов с расширением ZRS
    Set Ef = Tools.EnumFiles("d:\ZuluData\Raster\*.zrs", 0)

    Ef.MoveFirst
    'Перебираем все файлы папки, удовлетворяющие заданной маске
    Do
    If Ef.IsEOF Then Exit Do

    'Добавляем в растровую группу очередной файл
    zrg.AddItem Ef.GetFilePath

    Ef.MoveNext
    Loop

    'Сохраняем накопленную растровую группу
    zrg.SaveAs "d:\ZuluData\Raster\TestRasterGroup.zrg"


GetFileName method (IZEnumFiles)

Возвращает имя текущего файла итератора (без пути).

Применяется к:

IZEnumFiles

Синтаксис:

Visual Basic:

Sub GetFileName() As String


GetFilePath method (IZEnumFiles)

Возвращает полное имя текущего файла итератора с путем.

Применяется к:

IZEnumFiles

Синтаксис:

Visual Basic:

Sub GetFilePath() As String


IsEOF method (IZEnumFiles)

Возвращает True, если последовательный перебор элементов методами MoveFirst и MoveNext завершен и текущий элемент итератора отсутствует. В протвном случае возвращает False.

Применяется к:

IZEnumFiles

Синтаксис:

Visual Basic:

Function IsEOF() As Boolean


MoveFirst method (IZEnumFiles)

Делает текущим элементом первый файл, удовлетворяющий маске. Если такого файла не существует, метод IsEOF() вернет True.

Применяется к:

IZEnumFiles

Синтаксис:

Visual Basic:

Sub MoveFirst()


MoveNext method (IZEnumFiles)

Делает текущим следующий файл, удовлетворяющий маске. Если такого файла не существует, метод IsEOF() вернет True. До первого вызова MoveNext() обязательно должен быть вызван метод MoveFirst().

Применяется к:

IZEnumFiles

Синтаксис:

Visual Basic:

Sub MoveNext()


IZSqlResult object

Объект, представляющий результат пространственного SQL запроса.

Возвращается методами Layer.ExecSQL, MapDoc.ExecSQL, ZuluTools.ExecSQL.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

DataSet

ErrorString

RetCode


DataSet property (IZSqlResult)

Возвращает результат выборки данных в виде объекта IZbDataset.

Применяется к:

IZSqlResult

Синтаксис:

Visual Basic:

Property DataSet As Object

read-only


ErrorString property (IZSqlResult)

Возвращает строку, содержащую сообщение об ошибке, если таковая произошла при выполнении SQL запросаIZbDataset object.

Применяется к:

IZSqlResult

Синтаксис:

Visual Basic:

Property ErrorString As String

read-only


RetCode property (IZSqlResult)

Возвращает код возврата при выполнении SQL запроса.

Применяется к:

IZSqlResult

Синтаксис:

Visual Basic:

Property RetCode As Long

read-only

Описание:

В вслучае успешного выполнения запроса, RetCode возвращает 0. В случае ошибки RetCode возвращает ненулевой код ошибки, а свойство ErrorString содержит текст сообщения об ошибке.


IZSwitchStates collection

Является коллекцией элементов, содержащих ID объекта и его состояние. Возвращается методом Layer.NetworkSwitchAnalyze.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

GetCount

GetID

GetState


GetCount method (IZSwitchStates)

Возвращает количество элементов коллекции.

Применяется к:

IZSwitchStates

Синтаксис:

Visual Basic:

Function GetCount() As Long


GetID method (IZSwitchStates)

Возвращает ID элементa коллекции по индексу.

Применяется к:

IZSwitchStates

Синтаксис:

Visual Basic:

Function Function GetID(nIndex As Long) As Long

Описание:

Нумерация индексов начинается с нуля.


GetState method (IZSwitchStates)

Возвращает состояние элементa коллекции по индексу.

Применяется к:

IZSwitchStates

Синтаксис:

Visual Basic:

Function Function GetState(nIndex As Long) As eSwitchState

Описание:

Нумерация индексов начинается с нуля.


LabelField object

Объект, определяющий параметры поля шаблона надписи. Входит как образующий элемент в коллекцию LabelFields.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

FieldNum

Font

FontBackColor

FontBackStyle

FontColor

LineBreak

NumDigits

Postfix

Prefix

RoundValuesFlag

UnicodeFlag


FieldNum property (LabelField)

Возвращает номер поля в семантической базе даных..

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property FieldNum As Long

read-only


Font property (LabelField)

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

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property Font As StdFont


FontBackColor property (LabelField)

Возвращает/устанавливает цвет фона текста данного поля.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property FontBackColor As Long


FontBackStyle property (LabelField)

Возвращает\устанавливает режим отображение фона поля надписи.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property FontBackStyle As Long

1 - без фона (прозрачный).

2 - в залитом цветом фона прямоугольние (бокс).

3 - окантовка цветом фона вокруг каждой буквы (ореол).


FontColor property (LabelField)

Возвращает\устанавливает цвет текста данного поля.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property FontColor As Long


LineBreak property (LabelField)

Возвращает\устанавливает признак переноса на новую строку после данного поля.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

PropertyLineBreak As Boolean

Описание:

Если данное свойство имеет значение True, то признак переноса установлен.


NumDigits property (LabelField)

Возвращает\устанавливает точность выводимых чисел (кол-во знаков после запятой) данного поля.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

PropertyNumDigits As Integer


Postfix property (LabelField)

Возвращает\устанавливает строку-постфикс данного поля.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property Postfix As String


Prefix property (LabelField)

Возвращает\устанавливает строку-префикс для данного поля.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property Prefix As String


RoundValuesFlag property (LabelField)

Возвращает\устанавливает опцию округления числовых значений.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

PropertyRoundValuesFlag As Boolean

Описание:

Если данное свойство имеет значение True, то поля бирок, содержащие числа, будут округлятся в соответствии с параметром NumDigits.


UnicodeFlag property (LabelField)

Возвращает\устанавливает признак поддержки полем набора символов Unicode.

Применяется к:

LabelField

Синтаксис:

Visual Basic:

Property UnicodeFlag As long

Описание:

Если данное свойство имеет значение 1, то признак поддержки Unicode установлен.


LabelFields collection

Коллекция полей файла надписи типа LabelField. Входит как свойство LabelFields в объект LabelLayer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

AddItem

InsertItem

MoveItem

RemoveItem

UpdateItem


AddItem method (LabelFields)

Добавляет новое поле в коллекцию полей варианта надписей.

Применяется к:

LabelFields

Синтаксис:

Visual Basic:

Sub AddItem(Field As LabelField)

Field - объект, с описанием параметров поля надписи


Count property (LabelFields)

Возвращает число элементов, входящих в коллекцию.

Применяется к:

LabelFields

Синтаксис:

Visual Basic:

Property Count As Long


InsertItem method (LabelFields)

Добавляет в коллекцию новое поле на указанное место в списке полей.

Применяется к:

LabelFields

Синтаксис:

Visual Basic:

Sub InsertItem(Index As Long, Field As LabelField)

Index - индекс, номер позиции, которую займет добавляемое поле (нумерация с нуля)

Field - объект, с описанием параметров поля надписи

Описание:

Если значение индекса меньше нуля или больше Count, поле добавится в конец списка полей, аналогично методу AddItem


Item property (LabelFields)

Возвращает элемент из коллекции по индексу.

Применяется к:

LabelFields

Синтаксис:

Visual Basic:

Property Item(Index As Long) As LabelField

read-only

Index - номер элемента в коллекции.


MoveItem method (LabelFields)

Изменяет положение поля в списке полей.

Применяется к:

LabelFields

Синтаксис:

Visual Basic:

Sub MoveItem(Index As Long, NewIndex As Long)

Index - номер текущей позиции поля (нумерация с нуля)

NewIndex - номер новой позиции поля (нумерация с нуля)


RemoveItem method (LabelFields)

Удаляет поле из списка полей коллекции.

Применяется к:

LabelFields

Синтаксис:

Visual Basic:

Sub RemoveItem(Index As Long)

Index - номер позиции удаляемого поля (нумерация с нуля)


UpdateItem method (LabelFields)

Заменяет указанное поле новым объектом.

Применяется к:

LabelFields

Синтаксис:

Visual Basic:

Sub UpdateItem(Index As Long, Field As LabelField)

Index - номер позиции заменяемого поля (нумерация с нуля)

Field - объект, с описанием параметров поля надписи


LabelLayer object

Объект, представляющий файл надписи слоя. Является основным объектом коллекции LabelLayers.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.LabelLayer

CLSID:

{125070C6-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Align

Auto

BaseID

BaseName

BaseQueryName

BasicScale

Enable

FrameColor

FrameStyle

Id

LabelFields

Labels

LineColor

Name

ScaleLimited

ShortLines

TypeId

UseCache

UseMaxScale

UseMinScale

UserName

GetMinScale

GetMaxScale

Open

SetMaxScale

SetMinMaxScale

SetMinScale

Update

WriteToLayer

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.LabelLayer
Set obj = New ZuluLib.LabelLayer
//Delphi:
obj: ILabelLayer;
obj := CoLabelLayer.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.LabelLayer")


Align property (LabelLayer)

Возвращает/устанавливает ориентацию надписей относительно точки привязки.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property Align As eLabelPosition


Auto property (LabelLayer)

Возвращает/устанавливает способ вывода надписей для линейных объектов.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property Auto As Boolean

False - надпись выводится в соответствии с точкой привязки.

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


BaseId property (LabelLayer)

Возвращает/устанавливает значение ID базы данных по которой выводятся надписи

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property BaseID As Long


BaseName property (LabelLayer)

Возвращает имя базы данных по которой выводятся надписи.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property BaseName As String

read-only


BaseQueryName property (LabelLayer)

Возвращает/устанавливает имя запроса из базы данных по которому выводятся надписи

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property BaseQueryName As String


BasicScale property (LabelLayer)

Возвращает/устанавливает значение масштаба 1:1 при выводе надписей.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property BasicScale As Double

Значение равное 0 соответствует отсутствию масштабирования при выводе надписей.


Enable property (LabelLayer)

Возвращает/устанавливает признак подключения варианта надписей к слою при выводе на карту.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property Enable As Boolean


FrameColor property (LabelLayer)

Возвращает/устанавливает цвет заливки рамки надписи.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property FrameColor As Long


FrameStyle property (LabelLayer)

Возвращает/устанавливает стиль рамки.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

PropertyFrameStyle As eLabelFrameStyle


GetMaxScale method (LabelLayer)

Возвращает максимальный масштаб отображения слоя бирок на карте.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Function GetMaxScale() As Double


GetMinScale method (LabelLayer)

Возвращает минимальный масштаб отображения слоя бирок на карте.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Function GetMinScale() As Double


Id property (LabelLayer)

Возвращает ключ файла надписи.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

PropertyId As Long

read-only

Описание:

Файлы надписей имеют следующие ключи: 0 - *.L00, 1 - *.L01 и т. д.


LabelFields property (LabelLayer)

Возвращает коллекцию полей файла надписей LabelFields.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property LabelFields As LabelFields

read-only


Labels property (LabelLayer)

Возвращает коллекцию меток слоя ZLabels.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property Labels As ZLabels

read-only


LineColor property (LabelLayer)

Возвращает/устанавливает цвет рамки и вносной линии.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property LineColor As Long


Name property (LabelLayer)

Возвращает полный путь к файлу надписей слоя.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property Name As String

read-only


Open method (LabelLayer)

Открывает файл надписи.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Function Open(pVal As String, LabelID As Long) As Boolean

pVal - полный путь к файлу слоя.

LabelID - ключ файла надписи.

Описание:

Данный метод позволяет получить доступ к параметрам файла надписи слоя, не открывая при этом сам слой. В случае успешного выполнения метод вернет True, в противном случае - False.


ScaleLimited property (LabelLayer)

Возвращает/устанавливает признак ограничения увеличения бирки при масштабе большем заданного (в BasicScale).

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property ScaleLimited As Boolean

Значение False соответствует пропорциональному масштабированию при всех масштабах карты.

Данное свойство работает только когда установлен масштаб 1:1 (BasicScale).


SetMaxScale method (LabelLayer)

Устанавливает максимальный масштаб отображения слоя бирок на карте.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Sub SetMaxScale(Scale As Double)

Scale - значение максимального масштаба.

Описание:

Значение максимального масштаба будет учтено при построении карты, если свойство UseMaxScale равно True.


SetMinMaxScale method (LabelLayer)

Устанавливает минимальный и максимальный масштабы отображения слоя бирок на карте.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Sub SetMinMaxScale(MinScale As Double, MsxScale As Double, flags as Long)

MinScale - значение минимального масштаба

MaxScale - значение максимального масштаба

flags - флаги:

0x1 - задает свойство UseMinScale

0x2 - задает свойство UseMaxScale


SetMinScale method (LabelLayer)

Устанавливает минимальный масштаб отображения слоя бирок на карте.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Sub SetMinScale(Scale As Double)

Scale - значение минимального масштаба.

Описание:

Значение минимального масштаба будет учтено при построении карты, если свойство UseMinScale равно True.


ShortLines property (LabelLayer)

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

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property ShortLines As Boolean

True - надпись ыводится всегда, независимо от размеров объекта.

False - надпись не выводится для слишком коротких линий.


TypeId property (LabelLayer)

Возвращает тип объектов слоя, к которым подключена надпись.

Для примитивов TypeId = -1.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property TypeId As Long

read-only


Update method (LabelLayer)

Обновляет данный вариант надписей.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Function Update() As Boolean


UseCache property (LabelLayer)

Возвращает/устанавливает признак кэширования данных из базы для отрисовки.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property UseCache As Boolean

True - данные кэшируются.

False - при каждой отрисовке данные всегда берутся по запросу к базе.


UseMaxScale property (LabelLayer)

Возвращает/устанавливает признак использования значения максимального масштаба при отрисовке бирок на карте.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property UseMaxScale As Boolean


UseMinScale property (LabelLayer)

Возвращает/устанавливает признак использования значения минимального масштаба при отрисовке бирок на карте.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property UseMinScale As Boolean


UserName property (LabelLayer)

Возвращает пользовательское название файла надписей.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Property UserName As String


WriteToLayer method (LabelLayer)

Записывает данный вариант надписей в указанный слой.

Применяется к:

LabelLayer

Синтаксис:

Visual Basic:

Function WriteToLayer(pLayer As Layer, Scale As Double, Flags As Long) As Long

pLayer - слой для записи

Scale - масштаб 1:1

Flags - флаги: 0x01 - создавать новый типы для текстовых объектов, 0x02 - искать среди существующих типов

Описание:

Запись надписей производится в существующий (предварительно созданный) слой, который должен быть представлен объектом Layer. Масштаб Scale применяется только для тех надписей, для которых не задан собственный масштаб BasicScale

Пример:

'Visual Basic:
'Создать слой и записать в него первый слой надписей активного слоя карты
 Dim Tools As ZuluTools
 Set Tools = New ZuluTools

 'Создаем слой для записи
 Tools.LayerCreate "d:\test\labels", "labels", eMixedLayer

 Dim L As Layer
 Set L = New Layer
 'Открываем слой для записи
 L.Open "d:\a\labels"

 'Записываем первый по порядку (нумерация с нуля) слой надписей
 Dim LL As LabelLayer
 Set LL = MapCtrl1.Map.Layers.Active.LabelLayers.Item(0)

 If TypeName(LL) = "ILabelLayer" Then
    LL.WriteToLayer L, 100, 3
 End If


LabelLayers collection

Коллекция файлов надписей слоя. Входит как свойство LabelLayers в объект Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

ItemById

AddItem

EnableAll

GetIdByIndex

GetIndexById

RemoveItem

SetLabelLayer

UpdateCache


AddItem method (LabelLayers)

Добавляет в коллекцию описатель варианта надписей с указанным ID.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Function AddItem(LabelID As Long, Labels As LabelLayer) As Long

LabelID - ID варианта надписей.

Labels - описатель варианта надписей.


Count property (LabelLayers)

Возвращает число элементов, входящих в коллекцию.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

PropertyCount As Long

Описание:

Это свойство позволяет определить количество файлов надписей, подключенных к слою (файлы с расширением *.L0*).


EnableAll method (LabelLayers)

Включает или отключает все варианты надписей данного слоя.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Sub EnableAll(bState As Boolean

bState - True или False.


GetIdByIndex method (LabelLayers)

Возвращает идентификатор варианта надписей по указанному индексу в коллекции.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Function GetIdByIndex(Index As Long) As Long

Index - номер варианта надписи в коллекции (нумерация с нуля).


GetIndexById method (LabelLayers)

Возвращает номер варианта надписей в коллекции по указанному идентификатору.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Function GetIndexById(LabelID As Long) As Long

LabelID - идентификатор варианта надписи в слое.


Item property (LabelLayers)

Возвращает элемент из коллекции по индексу.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Property Item(Index As Long) As LabelLayer

read-only

Описание:

Осуществляет доступ к конкретному файлу надписи, подключенной к слою по индексу.


ItemById property (LabelLayers)

Возвращает элемент из коллекции по ключу.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Property ItemById(LabelID As Long) As LabelLayer

read-only

LabelID - ключ элемента коллекции.

Описание:

Осуществляет доступ к конкретному файлу надписи, подключенной к слою по ключу. Для файлов надписей нумерация по ключу следующая: 0 - *.L00, 1 - *.L01 и т. д.


RemoveItem method (LabelLayers)

Удаляет вариант надписей из коллекции по индексу.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Function RemoveItem(Index As Long) As Boolean


SetLabelLayer method (LabelLayers)

Создает (пересоздает) вариант надписей c указанным ID.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Function SetLabelLayer(LabelID As Long, Labels As LabelLayer, Overwrite As Boolean, AlongLines As Boolean, Angle As Double, Direction As Double, Shift As Double) As Long

LabelID - ID варианта надписей.

Labels - описатель варианта надписей.

Overwrite - опция, указывающая, переписывать существующие местоположения бирок или нет.

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

Angle - угол поворота надписей в градусах.

Direction - направление смещения надписей в градусах.

Shift - величина смещения надписи на местности.


UpdateCache method (LabelLayers)

Обновляет состояние кэша для варианта надписей с заданным ID.

Применяется к:

LabelLayers

Синтаксис:

Visual Basic:

Function UpdateCache(LabelID As Long, UseCache As Boolean) As Boolean

LabelID - идентификатор варианта надписи в слое.

UseCache - наличие кэша для данного варианта надписей .

True - кэш будет создан или пересоздан.

False - кэш будет удален.


Layer object

Представляет слой системы ZuluGIS. Является основным объектом коллекции Layers.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.Layer

CLSID:

{12507025-0B01-11d2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Active

BaseID

BaseName

Bases

ChangedElements

CommonFillStyleEnabled

CommonLineStyleEnabled

CommonStyle

CurrentID

CustomData

EditState

Elements

FillStyles

ElementKeys

InMemory

InMemoryLayer

LabelsID

LabelLayers

LineStyle

LineStyles

LoginName

Map

MaxScale

MinScale

Name

NetworkObjects

NetworkTools

NetworkWeightSets

ObjectTypes

Printable

ReliefLayer

Selection

ShowDirections

Symbols

TargetSelection

ThemeFilters

ThemeId

ThemeName

Themes

TileLayer

TrackingLayer

Type

Units

Type

UserLabel

UserName

Visible

WmsLayer

AddBufferZone

AddBufferZoneEx

AddContour

AddElement

AddElementEx

AddElementFromRaw

AddEnumElement

AddEnumElementEx

AddFromWKT

AddGeoObject

AddPolyContour

AddPolyLine

AddPolyPolyLine

AddSimpleSymbol

AddSymbol

AddSymbolEx

AddText

AddTextByType

ApplyDefaultSettings

AttachToNodes

ChangeElemID

ConvertPrimitiveToType

ConvertTypeToPrimitive

CopyLayer

Create

CreateLabels

CreatePolygonsFromLines

CreateTheme

CreateVoronoi

CutSelectedElementsFromTarget

DecombineElement

DeleteElement

DeleteSelectedElements

DrawElemIDLabel

DrawLabelsClose

DrawLabelsInit

EditStructure

EditSymbol

ElemIDByXY

EnumElements

EraseInsidePolygon

EraseInsideRegion

EraseOutsidePolygon

EraseOutsideRegion

EraseSelection

ExcludeSymbol

ExecSQL

FinishSequentialWriteMode

GetBounds

GetBoundsCRS

GetBoundsCRSRectangle

GetBoundsRectangle

GetClosestElementByXY

GetCRS

GetCuttingNodes

GetDrawOrder

GetEditFlags

GetElementsByPoint

GetIncidentElements

GetKeyByUserID

GetKeysByDrawHandle

GetLabelsID

GetLargestID

GetLastChangesTime

GetLastErrorCode

GetLayerNetworkModel

GetMaxScale

GetMinScale

GetModeVisible

GetSelection

GetShortWay

GetShortWayTree

GetShortWayTreeEx

GetTypeMaxScale

GetTypeMinScale

GetTypeVisible

GetWebParams

GetWebParamsCount

InsertSymbol

IntersectByContour

IntersectByPolyContour

IntersectByLayer

IntersectByRadius

IsInCircle

IsRemote

JoinSelectedElements

LockForRead

LockForWrite

MoveSelection

NetWorkDataPrepare

NetWorkRecalc

NetworkSwitchAnalyze

Open

OpenDatabase

PublishForWeb

ReadData

RotateSelection

SaveDefaultSettings

SaveTemporaryRaster

ScaleSelection

SelectByType

SelectByTypes

SetCRS

SetDrawOrder

SetEditFlags

SetElemsModes

SetElemStyle

SetElemsTypes

SetInputCRS

SetInputCRSProjection

SetLabelsID

SetMaxScale

SetMinScale

SetModeMinMaxScale

SetModesByElemsStates

SetModeVisible

SetModified

SetSymbolOrientation

SetTemporaryTheme

SetTypeMinMaxScale

SetTypeVisible

ShortWay

ShortWayFinish

ShortWayStart

SimplifySelectionGeometry

SplitByPolygon

SplitByPolyline

SplitByRegion

StartEdit

StartSequentialWriteMode

StopEdit

SynchronizeDatabase

TakeCRS

ThemeCreate

UnlockForRead

UnlockForWrite

UpdateFromAscii

WriteData

WriteElement

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.Layer
Set obj = New ZuluLib.Layer
//Delphi:
obj: ILayer;
obj := CoLayer.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.Layer")


Active property (Layer)

Возвращает/устанавливает признак активного слоя.

Применяется к:

Layer

Синтаксис:

Property Active As Boolean

Описание:

Активный слой - это слой, к которому в данный момент осуществляются запросы, выделение группы элементов, привязка к его узлам курсора мыши в процессе ввода и редактирования.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


AddBufferZone method (Layer)

Создает буферную зону и записывает в слой.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddBufferZone(SourceLayer As Layer,Style As ElemStyle,Value As Double,ZbName As String,FieldName As String,koeff As Double, UseDefault As Boolean) As Boolean

SourceLayer - слой источник

Style - стиль контурных объектов буферной зоны

Value - ширина буфера (в см)

ZbName, FieldName - имя базы данных и название поля из этой базы, откуда берутся значения ширины буфера

koeff - определяет единицы измерения значений в выбранном поле

UseDefault - устанавливается в значение True, если необходимо, чтобы значения буфера брались из таблицы, а при отсутствии этих данных брались из переменной Value

Описание:

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

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

Пример:

Для запуска примера на форме необходимо разместить элемент управления MapCtrl с именем MapCtrl1.

Dim tools As ZuluTools
Dim st As ElemStyleDim
Dim Ln As ZuluLib.PolyLine
Dim Id As Long

Set st = New ElemStyleSet
Set tools = New ZuluTools
Set Ln = New ZuluLib.PolyLine

'установка стиля элемента
st.BorderColor = 0
st.BorderStyle = 0
st.BorderWidth = 2
st.PatColor = 255
st.FillStyle = 2
st.LineColor = RGB(0, 0, 255)
st.LineWidth = 3

'создание линейного объекта
Ln.AddPoint 0, 0
Ln.AddPoint 30000, 20000
Ln.AddPoint 10000, 70000

'создания слоя Линии
tools.LayerCreate "e:\temp\bbb", "Линии", eMixedLayer

'создания слоя Буферные зоны
tools.LayerCreate "e:\temp\aaa", "Буферные зоны", eMixedLayer

'Слой Линии добавляется в список загруженных в карту слоев
MapCtrl1.Map.Layers.Add "e:\temp\bbb"

'в  активный слой добавляется линия с установленными координатами узлов и стилем
Id = MapCtrl1.Map.Layers.Active.AddPolyLine(Ln, st, -1, -1)
'выделение созданного элемента

MapCtrl1.Map.Layers.Active.Selection.Modify eSelCreate, 1, Id
'слой Буферные зоны добавляется в список загруженных в карту слоев
MapCtrl1.Map.Layers.Add "e:\temp\aaa"
MapCtrl1.Map.Layers.Item(MapCtrl1.Map.Layers.Count).AddBufferZone MapCtrl1.Map.Layers.Active, st, 2000, "", "", 1, True
MapCtrl1.Map.Layers.Active.Selection.Clear
'слой Буферные зоны перемещается вперед
MapCtrl1.Map.Layers.Move MapCtrl1.Map.Layers.Count, eMoveBackOne
'карта рисуется по размерам слоя
MapCtrl1.DrawInMapExtents


AddBufferZoneEx method (Layer)

Создает и записывает в слой буферную зону.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddBufferZoneEx(SourceLayer As Layer, ElemIDs, Style As ElemStyle, Value As Double, BaseID As Long, Reserved As String, FieldName As String, koeff As Double, Flags As Long) As ElementKeys

SourceLayer - слой источник

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

Style - стиль контурных объектов буферной зоны

Value - ширина буфера (в см)

BaseID, FieldName - ID базы данных и название поля из этой базы, откуда берутся значения ширины буфера

Если ID базы равно -1, значения для ширины буфера будут всегда браться из переменной Value

Reserved - значение зарезервировано, должно быть нулём.

koeff - определяет единицы измерения значений в выбранном поле

Flags - битовые флаги

0x1 устанавливается, если необходимо, чтобы значения буфера брались из таблицы, а при отсутствии этих данных брались из переменнойбит

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

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

0x8 прямое окончание линий.

0x16 квадратное окончание линий.

Описание:

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

Метод возвращает коллекцию ключей созданных в слое буферных объектов.

Пример:

Для запуска примера на форме необходимо разместить элемент управления MapCtrl с именем MapCtrl1.

Dim tools As ZuluTools
Dim st As ElemStyleDim
Dim Ln As ZuluLib.PolyLine
Dim Id As Long

Set st = New ElemStyleSet
Set tools = New ZuluTools
Set Ln = New ZuluLib.PolyLine

'установка стиля элемента
st.BorderColor = 0
st.BorderStyle = 0
st.BorderWidth = 2
st.PatColor = 255
st.FillStyle = 2
st.LineColor = RGB(0, 0, 255)
st.LineWidth = 3

'создание линейного объекта
Ln.AddPoint 0, 0
Ln.AddPoint 30000, 20000
Ln.AddPoint 10000, 70000

'создания слоя Линии
tools.LayerCreate "e:\temp\bbb", "Линии", eMixedLayer

'создания слоя Буферные зоны
tools.LayerCreate "e:\temp\aaa", "Буферные зоны", eMixedLayer

'Слой Линии добавляется в список загруженных в карту слоев
MapCtrl1.Map.Layers.Add "e:\temp\bbb"

'в  активный слой добавляется линия с установленными координатами узлов и стилем
Id = MapCtrl1.Map.Layers.Active.AddPolyLine(Ln, st, -1, -1)
'слой Буферные зоны добавляется в список загруженных в карту слоев
MapCtrl1.Map.Layers.Add "e:\temp\aaa"
'Создаем буферные зоны для каждого объекта слоя
MapCtrl1.Map.Layers.Item(MapCtrl1.Map.Layers.Count).AddBufferZoneEx MapCtrl1.Map.Layers.Active, MapCtrl1.Map.Layers.Active.ElementKeys, st, 2000, -1, "", "", 1, 2
'слой Буферные зоны перемещается вперед
MapCtrl1.Map.Layers.Move MapCtrl1.Map.Layers.Count, eMoveBackOne
'карта рисуется по размерам слоя
MapCtrl1.DrawInMapExtents


AddContour method (Layer)

В слой добавляется контурный элемент.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddContour(Region As Contour, Style As ElemStyle, ElemType As Long,ElemMode As Long) As Long

Region - контурный объект с установленными параметрами.

Style - объект-стиль отображения контура.

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта.

В противном случае метод вернет -1.


AddElement method (Layer)

Добавляет в слой заданный элемент.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddElement(Elem As Element) As Long

Elem - добавляемый элемент.

Описание:

Если добавление элемента выполнено успешно, метод возвращает ID добавленного элемента. В противном случае метод возвращает -1.


AddElementEx method (Layer)

Добавляет в слой заданный элемент c присвоением ему заданного ID.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddElementEx(Elem As Element, ElemID As Long, Flags As Long) As Long

Elem - добавляемый элемент

ElemID - ID добавляемого элемента

Flags - признак необходимости проверки на существование указанного ElemID ( 0 - не проверять, 1 - проверять).

Описание:

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

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

Если такой уверенности нет, то нужно задавать флаг проверки Flags равным 1. Тогда, есл ключ с указанным ElemID в слое уже существует, в добавлении нового элемента будет отказано.

Если добавление элемента выполнено успешно, метод возвращает ID добавленного элемента. В противном случае метод возвращает -1.


AddElementFromRaw method (Layer)

Добавляет в слой элемент, заданный переменной, в которой содержится объект во внутреннем формате системы.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddElementFromRaw(Elem, ElemID As Long ) As Long

Elem - добавляемый элемент

ElemID - ID добавляемого элемента

Описание:

Добавляемый объект содержится в переменной типа VARIANT, которая может быть получена, например, как результат пространственного SQL запроса к слою. Если добавление элемента выполнено успешно, метод возвращает ID добавленного элемента. В противном случае метод возвращает -1.

Пример:

Пример демонстрирует получение графических данных во внутреннем формате Zulu через SQL запрос и запись полученных данных в новый слой.

    Dim Src As Layer 'Слой источник
    Set Src = MapCtrl1.Map.Layers.Active 'Aктивный слой карты

    Dim Dest As Layer 'Слой для записи

    Dim Res As IZSqlResult
    'Запрос на выборку геометрии во внутреннем формате Zulu
    'для выделенных объектов активного слоя карты
    Set Res = Src.ExecSQL("SELECT Sys, Geometry.AsRaw() WHERE Geometry.Selected() = 1")

    Dim ds As IZbDataset

    If TypeName(Res.DataSet) = "IZbDataset" Then
    'Если ответ получен
        Set ds = Res.DataSet

        Dim Tools As ZuluTools

        Set Tools = New ZuluTools

        'Создаем новый пустой слой с копированием графической структуры слоя источника
        Tools.LayerCopyEx MapCtrl1.Map.Layers.Active.Name, "d:\a\test.b00", "Test Layer", 4

        Set Dest = New Layer

        Dest.Open "d:\a\test.b00"

        'Идем по ответу
        ds.MoveFirst

        Do
            If ds.EOF Then Exit Do

            Dim Sys As Long

            'Получаем ID объекта
            Sys = ds.GetFieldValueVar(0)

            Dim val As Variant
            'Получаем геометрию объекта во внутреннем формате Zulu
            val = ds.GetFieldValueVar(1)

            'Добавляем объект в новый слой с тем же ID
            Dest.AddElementFromRaw val, Sys

            ds.MoveNext
        Loop
    Else
        MsgBox Res.ErrorString
    End If


AddEnumElement method (Layer)

Добавляет в слой текущий элемент итератора EnumElements другого слоя c присвоением ему заданного ID.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddEnumElement(Elems As IZEnumElements, ElemID As Long, Flags As Long) As Long

Elems - итератор EnumElements слоя источника.

ElemID - ID добавляемого элемента.

Flags - признак необходимости проверки на существование указанного ElemID ( 0 - не проверять, 1 - проверять),

Описание:

Если значение ElemID равно -1, то записываемому элементу ID присваивается автоматически.

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

Если такой уверенности нет, то нужно задавать флаг проверки Flags равным 1. Тогда, если ключ с указанным ElemID в слое уже существует, в добавлении нового элемента будет отказано.

Если добавление элемента выполнено успешно, метод возвращает ID добавленного элемента. В противном случае метод возвращает -1.

Пример:

'Создаем новый слой и переписываем в него все объекты другого слоя
Private Sub CopyLayerGraphics( SrcLayer As Layer, DestLayerName As String, DestLayerTitle As String)

    Dim DestLayer As Layer
    Dim En As IZEnumElements
    Dim Tools As ZuluTools
    Set Tools = New ZuluTools  'Создаем новый слой

    Tools.LayerCreate DestLayerName, DestLayerTitle, eMixedLayer
    'Открываем созданный слой
    Set DestLayer = New Layer
    DestLayer.Open DestLayerName
    'Получаем итератор для слоя источника
    Set En = SrcLayer.EnumElements

    En.MoveFirst 'Встали на первый элемент
    Do
        If En.IsEOF Then Exit Do 'Если элементы кончились, выходим
        'Записываем очередной объект в новый слой
        'без проверки на уникальность ключа, т.к.
        'в качестве ключа берем ключ слоя источника
        'а до начала записи слой для записи объектов не 'содержал
        DestLayer.AddEnumElement En, En.ElemID, 0
        En.MoveNext 'Встаем на следующий элемент

    Loop
End Sub


AddEnumElementEx method (Layer)

Добавляет в слой текущий элемент итератора EnumElements другого слоя c присвоением ему заданного ID.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddEnumElementEx(Elems As IZEnumElements, ElemID As Long, TypeID As Long, nMode As Long, Flags As Long) As Long

Elems - итератор EnumElements слоя источника

ElemID - ID добавляемого элемента

TypeID - тип добавляемого элемента

nMode - режим добавляемого элемента

Flags - признак необходимости проверки на существование указанного ElemID ( 0 - не проверять, 1 - проверять)

Описание:

Если значение ElemID равно -1, то записываемому элементу ID присваивается автоматически.

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

Если такой уверенности нет, то нужно задавать флаг проверки Flags равным 1. Тогда, если ключ с указанным ElemID в слое уже существует, в добавлении нового элемента будет отказано.

Если добавление элемента выполнено успешно, метод возвращает ID добавленного элемента. В противном случае метод возвращает -1.


AddFromWKT method (Layer)

Создает объект слоя по геометрии, записанной в строке в формате WKT

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddFromWKT(sWKT As String, inCRS As CRS, Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long

sWKT - сторока WKT, содержащая объект

inCRS - проекция, в которой хранятся координаты WKT

Style - объект, задающий стиль отображения ломаной

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

Если параметр inCRS - не задан (nothing), по умолчанию принимается проекция WGS84


AddGeoObject method (Layer)

Добавляет в слой элемент, геометрия которого описана в объекте ZGeoObject.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddGeoObject(GeoObject As ZGeoObject, ElemType As Long, ElemMode As Long) As Long

GeoObject - объект с геометрией элемента.

ElemType - тип добавляемого элемента.

ElemMode - режим добавляемого элемента.

Описание:

Если добавление элемента выполнено успешно, метод возвращает ID добавленного элемента. В противном случае метод возвращает -1.


AddPolyContour method (Layer)

Добавляет в слой составной площадной объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddPolyContour(Region As PolyContour, Style As ElemStyle,ElemType As Long,ElemMode As Long) As Long

Region - комбинированный контурный объект с установленными параметрами.

Style - объект, задающий стиль отображения объекта.

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.


AddPolyLine method (Layer)

Добавляет в слой линейный объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddPolyLine (Pline As PolyLine, Style As ElemStyle, ElemType As Long,ElemMode As Long) As Long

Pline - линейный объект

Style - объект, задающий стиль отображения ломаной

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.


AddPolyPolyLine method (Layer)

Добавляет в слой составной линейный элемент.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddPolyPolyLine(PPLine As PolyPolyLine, Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long

PPLine - объект - комбинированная ломаная

Style - объект, задающий стиль отображения объекта

ElemType - ID типа объекта, если объект является типовым. В противном случае -1

ElemMode - номер режима (нумерация с единицы), если объект является типовым. В противном случае -1

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.


AddSimpleSymbol method (Layer)

Добавляет в слой простой символьный объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddSimpleSymbol(X As Double, Y As Double, Angle As Double, SymbolID As Long, SymbolSize As Long, Scalable As Long) As Long

X, Y - координаты символа

Angle - угол поворота от трех часов против часовой стрелки в градусах

SymbolID - ID символа из библиотеки символов слоя (посмотреть ID символа можно через вызов окна структуры слоя, где на закладке "Символы" указывается название и ID каждого символа из библиотеки символов)

SymbolSize - размер символа, целое число, задающее тот масштаб карты, при котором символ отображается 1:1

Scalable - признак масштабируемости символа

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.


AddSymbol method (Layer)

Добавляет в слой типовой символьный объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddSymbol(X As Double, Y As Double, ElemType As Long, ElemMode As Long) As Long

X, Y - координаты добавляемого символа

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.


AddSymbolEx method (Layer)

Добавляет в слой типовой символьный объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddSymbolEx(X As Double, Y As Double, Angle As Double, ElemType As Long, ElemMode As Long) As Long

X, Y - координаты добавляемого символа

Angle - угол поворота символа от трех часов против часовой стрелки в градусах

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.


AddText method (Layer)

Добавляет в слой текстовый объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddText(X As Double, Y As Double, text As String, Style As ElemStyle) As Long

X, Y - координаты объекта.

text - текст.

Style - объект, задающий стиль отображения текствового объекта.

Описание:

В случае успеха метод возвращает ключ (ID) добавленного в слой объекта.

В противном случае метод вернет -1.

Пример VbScript:

'Запишем в активный слой текстовый объект
Sub AddText

   Set Map = Zulu.ActiveMapDoc

   Set L = Map.Layers.Active

   Set Style = CreateObject("ZuluLib.ElemStyle")

   'Высота текста на местности в сантиметрах
   Style.TextHeight = 100

   'Цвет красный
    Style.FontColor = 255

   'Получаем текущий шрифт стиля
    Set Font = Style.Font

    'Изменяем
    Font.Italic = True
    Font.Bold = True
    Font.Name = "Times New Roman"

   'Назначаем текущий шрифт стиля
    Style.Font = Font

   'Записываем в слой текстовый объект
    L.AddText 0, 0, "АБВГД", style

End Sub


AddTextByType method (Layer)

Добавляет в слой типовой текстовый объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AddTextByType(X As Double, Y As Double, Angle As Double, text As String, TypeID As Long, ModeNum As Long) As Long

X, Y - координаты точки привязки объекта

Angle - угол поворота текста в градусах

text - текст

TypeID- ID типа текстового объекта

ModeNum - номер режима данного типа

Описание:

В случае успеха метод возвращает ключ (ID) добавленного в слой объекта.

В противном случае метод вернет -1.


ApplyDefaultSettings method (Layer)

Применяет к данному объекту слоя значения слоя по умолчанию.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ApplyDefaultSettings(flags As Long) As Boolean

flags - зарезервирован, должен быть 0

Описание:

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


AttachToNodes method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function AttachToNodes(Delta As double, Flags As Long ) As Long

Delta - окрестность для поиска ближайшего узла в метрах

Flags - параметр зарезервирован, должен быть равен 0

Описание:

Если метод выполнен успешно, метод возвращает 0. В противном случае метод возвращает -1.


BaseID property (Layer)

Возвращает/устанавливает для слоя текущую базу данных, подключенную к примитивам по ID базы данных из списка баз данных слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property BaseID As String

Описание:

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

Пример:

'Подключить к примитивам слоя первую по списку
'базу данных из списка баз данных слоя
Layer1.BaseID  = Layer1.Bases.Item(0).Id


BaseName property (Layer)

Возвращает/устанавливает для слоя текущее имя семантической базы данных примитивов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property BaseName As String

Описание:

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

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

Если база данных с указанным именем отсутствует в списке баз данных слоя ( Bases ), то она будет в список добавлена.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

'К контурному слою Здания подключаем семантическую БД
Layer1.BaseName = "d:\zulu 5.0\examples\termo\doma.zb"


Bases collection (Layer)

Возвращает коллекцию баз данных слоя Bases.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Bases As Bases

read-only


ChangedElements property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ChangedElements As ChangedElementKeys

read-only


ChangeElemID method (Layer)

Изменяет ID (ключ) объекта.

Применяется к:

Layer

Синтаксис:

Visual Basic: Function ChangeElemID (CurrentID As Long, NewID As Long, KeyViolationCheck As Boolean) As Boolean

CurrentID - текущий ID объекта.

NewID - новый ID объекта.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'изменить ID объекта с 102 на 300
MapCtrl1.Map.Layers.Active.ChangeElemID(102, 300, True)


CommonFillStyleEnabled property (Layer)

Устанавливает/отменяет общий стиль отображения для всех простых (не типовых) площадных объектов слоя. Общий стиль изображения задается свойством CommonlStyle.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property CommonFillStyleEnabled As Boolean


CommonLineStyleEnabled property (Layer)

Устанавливает/отменяет общий стиль отображения для всех простых (не типовых) линейных объектов слоя. Общий стиль изображения задается свойством CommonlStyle.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property CommonLineStyleEnabled As Boolean


CommonStyle property (Layer)

Устанавливает/возвращает общий стиль отображения для всех простых (не типовых) объектов.

Стиль применяется к простым площадным объектам, если значение свойства CommonFillStyleEnabled равно True и к простым линейным объектам, если значение свойства CommonLineStyleEnabled равно True.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property CommonStyle As ElemStyle


ConvertPrimitiveToType method (Layer)

Преобразует примитивы в типовые объекты.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ConvertPrimitiveToType(Elems, TypeID, ModeNum) As Boolean

Elems - переменная типа VARIANT, содержащий набор ключей объектов, подлежащих преобразованию. Множество ключей может быть задано коллекцией ElementKeys или массивом VT_ARRAY. Одиночный объект может быть задан просто числом (VT_I4)

TypeID - ID типа, в который преобразуется примитив.

ModeNum - номер режима, в который преобразуется примитив.

Описание:

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


ConvertTypeToPrimitive method (Layer)

Преобразует типовые объекты в примитивы.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ConvertTypeToPrimitive(Elems, ElemStyle As ElemStyle, GraphType As GraphType) As Boolean

Elems - переменная типа VARIANT, содержащий набор ключей объектов, подлежащих преобразованию. Множество ключей может быть задано коллекцией ElementKeys или массивом VT_ARRAY. Одиночный объект может быть задан просто числом (VT_I4).

ElemStyle - стиль примитива.

GraphType - графический тип примитива.


CopyLayer method (Layer)

Копирует информацию слоя в новый слой.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function CopyLayer(NewLayerPath As String, NewLayerUsername As String, Flags As Long) As Boolean

NewLayerPath - имя нового слоя (путь или URL).

NewLayerUsername - пользовательское название нового слоя.

Flags - флаги, определяющие параметры копирования:

0x0 - копируется вся информация слоя (структура, графика, табличные базы, тематические раскраски, бирки)

0x1 - наследовать ключи графических объектов.

0x4 - копировать структуру графической базы.

0x8 - копировать графическую базу.

0x10 - копировать структуру семантической базы.

0x20 - копировать семантические базы.

0x40 - копировать фильтры тематических раскрасок.

0x80 - копировать тематические раскраски.

0x100 - копировать шаблоны бирок.

0x200 - копировать варианты бирки.

0x80000000 - копировать только выделенные объекты (при копировании графики).

0x4+0x10+0x40+0x100 - копировать только структуру слоя.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


Create method (Layer)

Создает и открывает новый векторный слой.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function Create(Path As String, UserName As String) As Boolean

Path - имя файла или URL создаваемого слоя.

UserName - пользовательское название слоя.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
512 Слой уже открыт.

Пример:

Private Sub Command2_Click()

'создать векторный слой на ZuluServer, c названием файла "test/teplo"
'и пользовательским названием "тепло"

Dim L as Layer

Set L = new Layer

If L.Create("zulu://zs.zulugis.ru:6473/test/teplo.zl", "тепло") = True Then
    MsgBox "Слой создан '" +  L.UserName + "'"
Else: MsgBox "Слой не создан"
End If

End Sub


CreateLabels method (Layer)

Создает вариант надписей слоя по шаблону.

Синтаксис:

Visual Basic:

Function CreateLabels(LableTemplateName As String, LabelLayerUserName As String, TypeID As Long, LabelID As Long, align As eLabelPosition, AlongLines As Boolean,

Overwrite As Boolean, ShortLines As Boolean, Angle As Double, Scale As Double, Auto As Boolean, shiftX As Double, shiftY As Double) As Boolean

LableTemplateName - имя шаблона.

LabelLayerUserName - имя файла бирок.

TypeID - для какого типа создаются бирки (-1 для примитивов).

LabelID - ID файла (-1 по умолчанию создаст сам).

align - ориентация бирок относительно точки привязки к объекту.

AlongLines - флаг выводить вдоль линий.

Overwrite - переписывать существующие (если уже есть) положения бирок.

ShortLines - строить бирки для коротких линий (в которые надпись не помещается).

Angle - угол поворота бирок.

Scale - масштаб 1:1 (0 - без масштаба).

Auto - позиционировать бирку по линии в зависимости от видимой части линии.

shiftX, shiftY - сдвиг в пикселях по x и y.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


CreatePolygonsFromLines method (Layer)

Создает полигоны по группе линейных объектов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function CreatePolygonsFromLines(inLayer As Layer,Style As ElemStyle,Options As long) As Long

inLayer - исходный слой с группой линейных объектов

Style - стиль для создаваемых полигональных объектов

Options - зарезервирован, должен быть нулем

Описание:

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

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


CreateTheme method (Layer)

Создает тематическую раскраску слоя по указанному тематическому фильтру.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function CreateTheme(FilterID As Long, ThemeId As Long, ThemeDisplayName As String) As Long FilterID - идентификатор тематического фильтра

ThemeId - идентификатор создаваемой раскраски (-1 для новой).

ThemeDisplayName - пользовательское названи е варианта раскраски.

Описание:

Если в качестве идентификатора темы задан идентификатор уже существующего варианта раскраски, он будет заменен на новую раскраску под тем же идентификатором.

Метод возвращает ID созданной раскраски, если операция прошла успешно, в противном случае метод возвращает -1.


CreateVoronoi method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function CreateVoronoi(Elems, nFlags As Long, Path As String, UserName As String) As Boolean

Elems - список ключей объектов исходного слоя.

nFlags - зарезервирован (должен быть 0).

Path - путь или URL нового слоя.

UserName - пользовательское название слоя.

Описание:

Параметр Elems это переменная типа VARIANT, которая может содержать либо коллекцию ключей слоя ElementKeys, либо массив ключей типа long VT_BYREF|VT_I4, где первый элемент массива содержит количество ключей.

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

Пример:

'Создаем ячейки Вороного для всех типовых символьных объектов активного слоя карты
Dim L As Layer
Dim Keys As ElementKeys

'Активный слой карты
Set L = MapCtrl1.Map.Layers.Active

'Очищаем группу слоя
L.Selection.Clear
'Отключаем отрисовку изменений группы
L.Selection.Visible = False

'По всем типам слоя
Dim i As Long
For i = 0 To L.ObjectTypes.Count - 1

    'Если тип символьный
    If L.ObjectTypes.GetItemByIndex(i).GraphicType = eSymbol Then

        'Получаем коллекцию элементов данного типа
        Set Keys = L.SelectByType(L.ObjectTypes.GetItemByIndex(i).Id, 0)

        'Добавляем коллекцию элементов данного типа в группу слоя
        L.Selection.ModifyByKeys eSelAppend, Key

    End If

Next i

'Создаем ячейки Вороного по группе слоя
L.CreateVoronoi L.Selection.ElementKeys, 0, "D:\Test\Voronoi", "Зоны близости"

'Добавляем созданный слой в карту
MapCtrl1.Map.Layers.Add "D:\Test\Voronoi"

'Очищаем группу слоя
L.Selection.Clear
'Возвращаем отрисовку изменений группы
L.Selection.Visible = False

End If


CurrentID property (Layer)

Возвращает или устанавливает значение ключа (ID) объекта слоя, который в данный момент выделен (мигает на карте).

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property CurrentID As Long

Описание:

При присвоении CurrentID какого-то значения произойдет поиск объекта в слое карты, с ключом, имеющим такое значение и, если такой объект найден, он начнет мигать. Если найденный объект находится за пределами видимой части карты, карта (MapCtrl) изменит свойства MapX и MapY таким образом, что найденный объект после автоматического перестроения окажется в центре окна карты.

Чтобы погасить мигающий объект, нужно присвоить CurrentID-1.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Примечание:

Слой, объект которого переводится в режим мигания не обязательно должен быть активным. Если мигает объект неактивного слоя, то свойство CurrentID данного слоя будет содержать значение ключа, в то время как свойство MapCtrl.CurrentID, содержащего этот слой будет равно -1.


CustomData property (Layer)

Возвращает объект CustomData, для работы с дополнительной информацией слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property CustomData As Object

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


CutSelectedElementsFromTarget method (Layer)

Вырезает элементы, входящие в группу слоя из элементов, входящих в мишень этого же слоя.

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub CutSelectedElementsFromTarget


DecombineElement method (Layer)

Разбивает составной объект на несколько элементов из составляющих его частей.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function DecombineElement(ElemID As Long, Flags As Long) As Boolean

ElemID - ID объекта слоя.

Flags - опции.

Описание:

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

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

Например, составной объект из двух бубликов (четыре полигона, попарно один в другом) в случае Flags = 0 разобъется на четыре объекта, а в случае Flags = 1, на два бублика.

Один из вновь образованных объектов наследует ID исходного объекта. Остальные получают новые ID.

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

Если исходный объект не составной, метод никаких действий не производит.


DeleteElement method (Layer)

Удаляет из слоя объект с указанным ID.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function DeleteElement(ElemID As Long) As Long

ElemID - ID удаляемого элемента.

Описание:

Если удалось найти и удалить элемент с заданным ключом, метод вернет 0, в противном случае метод вернет -1.


DeleteSelectedElements method (Layer)

Удаляет из слоя все объекты, входящие в группу.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function DeleteSelectedElements() As Boolean


DrawElemIDLabel method (Layer)

Выводит пользовательский текст в надписи для указанного элемента.

Применяется к:

Layer

Синтаксис:

Visual Basic:

FunctionDrawElemIDLabel(ElemID As Long, text As String) As Boolean

ElemID - ключ объекта слоя, для которого выводится надпись.

text - текст, выводимый на карту вместо стандартной надписи.

Описание:

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

Private Sub MapCtrl1_OnDrawUserLabels(ByVal DrawHandle As Long, ByVal LayerIndex As Long)

Dim i As Long
Dim els As ElementKeys

'если к слою не подключены надписи, то выход из процедуры
If MapCtrl1.Map.Layers.Item(LayerIndex).LabelsID = -1 Then Exit Sub

'получение ключей объектов, для которых подключены надписи и которые видны на карте
Set els = MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsInit(DrawHandle, -1)

For i = 1 To els.Count
'вместо стандартной надписи выводится ключ объекта (ID)
MapCtrl1.Map.Layers.Item(LayerIndex).DrawElemIDLabel els.Item(i), Str(els.Item(i))

Next i

MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsClose

End Sub


DrawLabelsClose method (Layer)

Завершает процесс вывода пользовательской надписи.

Применяется к:

Layer

Синтаксис:

Visual Basic:

FunctionDrawLabelsClose() As Boolean

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

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

Private Sub MapCtrl1_OnDrawUserLabels(ByVal DrawHandle As Long, ByVal LayerIndex As Long)

    Dim i As Long
    Dim els As ElementKeys

    'если к слою не подключены надписи, то выход из процедуры
    If MapCtrl1.Map.Layers.Item(LayerIndex).LabelsID = -1 Then Exit Sub
    'получение ключей объектов, для которых подключены надписи и которые видны на карте
    Set els = MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsInit(DrawHandle, -1)

    For i = 1 To els.Count
        'вместо стандартной надписи выводится ключ объекта (ID)
        MapCtrl1.Map.Layers.Item(LayerIndex).DrawElemIDLabel els.Item(i), Str(els.Item(i))
    Next i

    MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsClose

End Sub


DrawLabelsInit method (Layer)

Инициализация процесса вывода пользовательской надписи.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function DrawLabelsInit(DrawHandle As Long, TypeId As Long) As ElementKeys

TypeId - ID типа типового символа (для примитивов = -1).

Описание:

Метод возвращает список ключей объектов, к которым подключены надписи и которые в данный момент видны на карте.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

Private Sub MapCtrl1_OnDrawUserLabels(ByVal DrawHandle As Long, ByVal LayerIndex As Long)

    Dim i As Long
    Dim els As ElementKeys

    'если к слою не подключены надписи, то выход из процедуры
    If MapCtrl1.Map.Layers.Item(LayerIndex).LabelsID = -1 Then Exit Sub

    'получение ключей объектов, для которых подключены надписи и которые видны на карте
    Set els = MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsInit(DrawHandle, -1)

    For i = 1 To els.Count
        'вместо стандартной надписи выводится ключ объекта (ID)
        MapCtrl1.Map.Layers.Item(LayerIndex).DrawElemIDLabel els.Item(i), Str(els.Item(i))
    Next i

    MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsClose

End Sub


EditState property (Layer)

Возвращает признак текущего состояния редактирования слоя из набора констант eEditState.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property EditState As Long

read-only

Описание:

Свойство может возвращать следующие значения:

Значение Описание

editNone = 0

слой никто не редактирует.

editByOwner = 1

слой редактирует данный объект Layer.

editByPeople = 2

слой редактируется кем-то со стороны.

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

If Cells.EditState = editNone Then

    MapCtrl1.Map.Layers.EditLayer = Cells
Else

    MsgBox "Слой редактировать нельзя!"
End If


EditStructure method (Layer)

Вызывает окно редактора структуры слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function EditStructure() As Boolean

Описание:

В том случае, если слоя не существует или слой указан неверно, окно структуры не вызывается и метод возвращает False.

Пример:

Dim tools As ZuluTools

'открыть структуру активного слоя
MapCtrl1.Map.Layers.Active.EditStructure

В результете на экране появляется окно редактора структуры слоя.


EditSymbol method (Layer)

Вызывает окно редактора символа.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function EditSymbol(SymbolID As Long) As Long

Описание:

Если задан ключ объекта (SymbolID), то окно редактора символов открывается с уже загруженным символом, если указан ключ = 0, то редактор символов открывается в режиме создания нового символа.

Пример:

MapCtrl1.Map.Layers.Active.EditSymbol(3)


ElementKeys property (Layer)

Возвращает список всех ключей (ID) элементов слоя в форме коллекции ElementKeys.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ElementKeys As ElementKeys

read-only

Описание:

Список ключей в возвращаемой коллекции не сортирован.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

' Переменная типа ElementKeys
Dim Keys As ElementKeys

Получаем коллекцию ключей активного слоя карты
Set Keys = MapCtrl1.Map.Layers.Active.ElementKeys

'Выводим значения ключей по всем элементам слоя
For i = 1 To Keys.Count
    MsgBox Keys.Item(i)
Next i


Elements property (Layer)

Возвращает коллекцию типа Elements объектов слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Elements As Elements

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


ElemIDByXY method (Layer)

Находит элемент слоя по указанным координатам местности, если такой существует.

Применяется к:

Layer

Синтаксис:

Visual Basic:

FunctionElemIDByXY(X As Double, Y As Double) As Long

X, Y - координаты точки на местности.

Синтаксис:

Метод возвращает ключ найденного элемента.


EnumElements method

Возвращает объект IZEnumElements, являющийся итератором, предоставляющим последовательный доступ к ряду свойств объектов слоя.

Синтаксис:

Visual Basic:

Function EnumElements() As IZEnumElements

Описание:

Возвращаемый объект предоставляет буферизованный доступ к свойствам элементов слоя. Его удобно использовать, когда в цикле нужно перебрать много объектов. В этом случае доступ гораздо быстрее чем при использовании Layer.Elements.Item(ElemID).

Пример:

'Выписываем в список List1 ID элементов активного слоя карты,
'у которых ID типа равно 6 и номер режима равен 2
Private Sub Command2_Click()

    Dim En As IZEnumElements
    List1.Clear

   'Получаем итератор для активного слоя
    Set En = MapCtrl1.Map.Layers.Active.EnumElements

    En.MoveFirst 'Встали на первый элемент

    Do
    If En.IsEOF Then Exit Do 'Если элементы кончились, выходим

        If En.TypeID = 6 And En.ModeId = 2 Then
            List1.AddItem En.ElemID
        End If

        En.MoveNext 'Встаем на следующий элемент
Loop

End Sub


EraseInsidePolygon method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function EraseInsidePolygon(polygon As Contour, Options As Long) As Long

polygon - контур, пересекаемый со слоем.

Options - параметр, определяющий, какие объекты слоя участвуют в операции:

0 - все объкеты слоя.

1 - только объекты мишени (TargetSelection).

2 - только выделенные объекты (Selection).

Примечание:

Объекты, целиком попавшие в контур, удаляются полностью.

Объекты, не имеющие пересечения с контуром, остаются без изменения.


EraseInsideRegion method (Layer)

Удаляет у объектов слоя области пересечения с заданным регионом (поликонтуром).

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function EraseInsideRegion(Region As PolyContour, Options As Long) As Long

polygon - контур, пересекаемый со слоем

Options - параметр, определяющий, какие объекты слоя участвуют в операции:

0 - все объкеты слоя.

1 - только объекты мишени (TargetSelection).

2 - только выделенные объекты (Selection).

Примечание:

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

Объекты, не имеющие пересечения с регионом, остаются без изменения.


EraseOutsidePolygon method (Layer)

Удаляет у объектов слоя области, не имеющие пересечения с заданным контуром.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function EraseOutsidePolygon(polygon As Contour, Options As Long) As Long

polygon - контур, пересекаемый со слоем.

Options - параметр, определяющий, какие объекты слоя участвуют в операции:

0 - все объкеты слоя.

1 - только объекты мишени (TargetSelection).

2 - только выделенные объекты (Selection).

Примечание:

Объекты, целиком попавшие в контур, остаются без изменения.

Объекты, не имеющие пересечения с контуром, удаляются полностью.


EraseOutsideRegion method (Layer)

Удаляет у объектов слоя области, не имеющие пересечения с заданным регионом (поликонтуром).

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function EraseOutsideRegion(Region As PolyContour, Options As Long) As Long

polygon - контур, пересекаемый со слоем.

Options - параметр, определяющий, какие объекты слоя участвуют в операции:

0 - все объкеты слоя.

1 - только объекты мишени (TargetSelection).

2 - только выделенные объекты (Selection).

Примечание:

Объекты, целиком попавшие в регион, остаются без изменения.

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


EraseSelection method (Layer)

Удаляет из слоя все объекты, входящие в группу.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function EraseSelection() As Long


ExcludeSymbol method (Layer)

Из слоя удаляется символьный объект с указанным ElemID, если он соединен с двумя участками. Участки объединяются в один объект.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ExcludeSymbol(ElemID As Long) As Long

ElemID - ID удаляемого символьного объекта.

Описание:

Удаление символа происходит, если он связан с двумя участками. При этом участки объединяются в один участок, тем самым сохраняя связность сети. Объединенный участок получает ID одного из исходных участков. Если узел не может быть удален, метод возвращает -1.


ExecSQL method (Layer)

Выполняет произвольный SQL запрос в контексте данного слоя.

Применяется к:

Layer

Синтаксис:

Function ExecSQL(SqlText As String, [Context]) As IZSqlResult

SqlText - текст SQL запроса.

Context - необязательный параметр в виде объекта ZSqlContext, задающий дополнительный контекст запроса.

Описание:

Метод выполняет указанный в SqlText запрос и возвращает результат в виде объекта IZSqlResult. В параметре Context можно задать дополнительный контекс запроса.

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

'Возвращает максимальную площадь у объектов слоя
Set Rslt = Layer.ExecSQL("SELECT MAX(geometry.STArea())")

Если нужно сделать выборку с пересечением двух слоев, то можно воспользоваться параметром Context:

Set Context = New ZSqlContext
'Добавляем в контекст слой с названием Кварталы
Context.AddSource LayerQuart
'Выполняем выборку у слоя Здания тех объектов, которые попали в квартал с Sys=3
Set Rslt = LayerDoma.ExecSQL("SELECT D.Sys FROM [Здания] AS D _
           INNER JOIN [Кварталы] AS Q ON D.geometry.STWithin(Q.geometry) _
           WHERE Q.Sys=3", Context)


FillStyles property (Layer)

Возвращает коллекцию стилей заливок слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property FillStyles As FillStyles

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


FinishSequentialWriteMode method (Layer)

Завершает режим буферизованной записи объектов в слой, инициированный методом StartSequentialWriteMode.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function FinishSequentialWriteMode() As Boolean

Описание:

В режиме буферизованной записи не допускаются никакие операции со слоем, кроме операций по добавлению объектов в слой.

Вызов метода FinishSequentialWriteMode завершает режим буферизованной записи объектов в слой, инициированный методом StartSequentialWriteMode.

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


GetBounds method (Layer)

Возвращает габариты слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub GetBounds(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double)

X1, Y1 - координаты левого верхнего угла объекта.

X2, Y2 - координаты правого нижнего угла.


GetBoundsCRS method (Layer)

Возвращает габариты слоя в системе координат, заданной строковым кодом.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetBoundsCRS(sCRS As String, X1 As Double, Y1 As Double, X2 As Double, Y2 As Double) As Long

sCRS - код системы координат, в которой определяются габариты слоя.

X1, Y1 - координаты левого верхнего угла слоя.

X2, Y2 - координаты правого нижнего угла слоя.

Описание:

Если метод выполнен успешно, он вернет 0, а в переменные X1, Y1, X2, Y2 будут записаны координаты углов слоя. В противном случае метод вернет -1.

Пример:

Dim X1 As Double
Dim Y1 As Double
Dim X2 As Double
Dim Y2 As Double

'Получаем габариты активного слоя карты для сферического Меркатора WGS 84
MapCtrl1.Map.Layers.Active.GetBoundsCRS "EPSG:3857", X1, Y1, X2, Y2


GetBoundsCRSRectangle method (Layer)

Возвращает габариты слоя в заданной системе координат.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetBoundsCRSRectangle(inCRS As CRS) As ZRectangle

inCRS - система координат, в которой возвращаются габариты слоя

Пример печати карты по габаритам активного слоя:

'VBScript:
' ActiveX enumeration values definitions start (do not change!)
Const ePrintFitToPage = 2
Const ePrintExplicitRect = 64
' ActiveX enumeration values definitions end

'Пример печати карты на одной странице по габаритам активного слоя
Sub PrintTest

'Получаем активную карту
Set doc = zulu.ActiveMapDoc

'Создаем объект для настройки печати
Set P = CreateObject("ZuluLib.PrintInfo")

'Получаем габариты слоя в проекции карты
Set rect = doc.Layers.Active.GetBoundsCRSRectangle(doc.GetCRS)

'Задаем область печати, с указанием, к какой проекции относится этот прямоугольник
P.SetAreaRectangle doc.GetCRS, rect

'Печать на одну страницу заданной области
P.Options = ePrintFitToPage + ePrintExplicitRect

'Запускаем процесс печати
doc.PrintOut P

End Sub


GetBoundsRectangle method (Layer)

Возвращает объект ZRectangle, содержащий габариты слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


GetClosestElementByXY method (Layer)

Осуществляет поиск ближайшего к заданной точке объекта слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetClosestElementByXY(X As Double, Y As Double, R As Double, SelectedOnly As Boolean, retPoint As ZPoint) As Long

X,Y - координаты точки.

R - радиус поиска ближайшего к точке объекта ( 0 - поиск без учета радиуса).

SelectedOnly - поиск только для выделенных объектов.

retPoint - объект, содержащий точку найденного объекта, ближайшую к заданной.

Описание:

Метод возвращает ID найденного объекта слоя или -1, если объект не найден.


GetCRS method (Layer)

Метод возвращает объект CRS, описывающий систему координат в которой хранятся данные слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetCRS() As CRS


GetCuttingNodes method (Layer)

Осуществляет поиск ближайших отсекающих узлов для выделенного линейного объекта и возвращает их ключи в виде коллекции ElementKeys.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetCuttingNodes(ElemID As Long, Flags As Long) As ElementKeys

ElemID — ключ объекта слоя, для которого ищутся отсекающие объекты.

Flags — задает режим поиска изолирующих/отключающих устройств.

Параметр Flags может принимать следующие значения:

Значение

Описание

0

Поиск изолирующих устройств.

Возвращается список устройств, который полностью отключают указанный участок от остальной сети.

1

Поиск отключающих устройств.

Возвращается список устройств, который отключают указанный участок от источника(ов).


GetDrawOrder method (Layer)

Метод возвращает признак, определяющий последовательность вывода объектов слоя на карту.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetDrawOrder() As eElemDrawOrder


GetEditFlags method (Layer)

Возвращает значения флагов, используемых при редактировании слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetEditFlags() As Long

Описание:

На данный момент задействованы следующие флаги:

Флаг

Значение

1

Перемещать бирки при перемещении объекта

2

Создавать бирки при создании новых объектов

4

Дублировать атрибуты при дублировании объектов


GetElementsByPoint method (Layer)

Возвращает коллекцию объектов, содержащих в числе своих вершин указанную точку.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetElementsByPoint(ElemID As Long, X As Double, Y As Double) As Elements ElemID- зарезервирован, должен быть -1

X,Y - координаты точки, для которой в слое ищутся соответствия.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


GetIncidentElements method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetIncidentElements(Key As Long, Relationship As eIncidentRelationship) As Elements

Key - ключ объекта слоя, для которого ищутся инцидентные объекты.

Relationship - критерий связи имеет смысл только для узла и принимает значение из набора eIncidentRelationship.

Описание:

Элементы возвращаемой коллекции имеют доступ по порядковому номеру, то есть значение Elements.Count больше или равно нулю.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

Dim layer1 As Layer
Dim elems  As Elements

' Создаем объект Layer
Set layer1= New Layer

'Открываем слой с заданным именем
layer1.Open( 'e:\zulumaps\piter\metro_s.b00' )
'Получаем все инцидентные элементы для объекта слоя с ключом 1
Set elems = layer1.GetIncidentElements( 1, eIncidentAll)

'Если такие элементы есть, вывести имя типа первого элемента
If elems.Count > 0 Then MsgBox elems.Item(1).Type.Name


GetKeyByUserID method (Layer)

Зарезервирован. В данный момент не задействован


GetKeysByDrawHandle method (Layer)

Возвращает коллекцию ElementKeys объектов, видимых на экране и участвующих в редактировании.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetKeysByDrawHandle(DrawHandle As Long, TypeId As Long) As ElementKeys

DrawHandle - параметр для рисования.

TypeId - ID типа для типовых объектов слоя.

Описание:

Если задан ID типа типового объекта слоя, то коллекция ключей содержит только ключи объектов заданного типа.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


GetLabelsID method (Layer)

Возвращает ID файла надписей (0 - *.L00, 1 - *.L01 и т.д.) слоя для заданного типа объектов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetLabelsID(Type) As Integer

Type - это либо ID (As Long) типа объектов, либо пользовательское название типа объектов (As String).

Описание:

Значение -1 указывает на то, что надписи к данному типу не подключены.

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

Для проверки состояния подключения бирок следует получить свойство LabelLayer.Enable.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

Private Sub Command4_Click()

'Выводим значение ID надписей для 6-го типа активного слоя
MsgBox MapCtrl1.Map.Layers.Active.GetLabelsID(6)

'Выводим значение ID надписей для типа "Участки" активного слоя
MsgBox MapCtrl1.Map.Layers.Active.GetLabelsID("Участки")

End Sub


GetLargestID method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetLargestID() As Long

Описание:

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

Следует помнить, что при добавлении объектов в слой величнина, возвращаемая методом будет изменяться (увеличиваться).


GetLastChangesTime method (Layer)

Возвращает время в секундах, прошедшее с 1601 года. Удобно использовать для анализа последних изменений.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub GetLastChangesTime(dwLowDateTime As Long,dwHighDateTime As Long)

Пример:

Dim dword1 As Long
Dim dword2 As Long

MapCtrl1.Map.Layers(LayerIndex).GetLastChangesTime dword1, dword2

Text2.Text = Str(dword1) & " " & Str(dword2)


GetLastErrorCode method (Layer)

Возвращает код последней ошибки, связанной с данным объектом слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetLastErrorCode() As Long

Описание:

На данный момент далеко не все неудачные операции со слоем устанавливают код ошибки.

Константа

Описание

0

Ошибки нет

-1

Общая ошибка

-2

Ошибка преобразования координат

-3

Несоответствие пространственному фильтру

-4

Неверный графический тип

-5

Пустой объект

-6

Недостаточно памяти

-7

Таймаут при попытке записи

-8

Таймаут при попытке чтения

-9

Редактор слоя занят другим процессом

-10

Редактор занят локальной версией

-11

Нет лицензии на редактирование

-12

Ошибка записи объета в слой


GetLayerNetworkModel method (Layer)

Возвращает тип модели слоя, если слой является слоем инженерной сети.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetLayerNetworkModel() As Long

Описание:

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

Возвращаемые значения:

0 - модель не определена

1 - модель тепловой сети ZuluThermo

2 - модель водопроводной сети ZuluHydro

3 - модель паровой сети ZuluSteam

4 - модель газовой сети ZuluGaz

5 - модель сети водоотведения ZuluDrain


GetMaxScale property (Layer)

Возвращает максимальный масштаб отображения объектов слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetMaxScale() As Double


GetMinScale property (Layer)

Возвращает минимальный масштаб отображения объектов слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetMinScale() As Double


GetModeMaxScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetModeMaxScale(TypeID As Long, ModeNum As Long) As Double

TypeID - ID типа.

ModeNum - номер режима.

Описание:

Если максимальный масштаб не установлен, метод вернет 0.


GetModeMinScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetModeMinScale(TypeID As Long, ModeNum As Long) As Double

TypeID - ID типа.

ModeNum - номер режима.

Описание:

Если минимальный масштаб не установлен, метод вернет 0.


GetModeVisible property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetModeVisible(TypeIDAs Long, ModeNum As Long) As Boolean

TypeID - ID типа.

ModeNum - номер режима.

Описание:

Если свойство равно False, это означает, что все объекты слоя с таким типом и режимом не отображаются на карте.


GetSelection method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetSelection() As String

Описание:

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

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

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

262

Ошибка создания/записи файла.


GetShortWay method (Layer)

Возвращает набор ключей, составляющий кратчайший путь с участием указанных точек (waypoints).

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetShortWay(Waypoints) As ElementKeys

Waypoints - массив (safearray) ID точек, через которые должен проходить путь.

Описание:

Метод возвращает кратчайший путь, проходящий через указанные точки (waypoints). Точки задаются параметром Waypoints в виде массива (safearray) элементов типа long (VT_I4), содержащего ключи объектов слоя.

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


GetShortWayTree method (Layer)

Возвращает объект NetworkTree,содержащий дерево кратчайших путей от указанного узла.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetShortWayTree(StartNodeID As Long) As NetworkTree

StartNodeID - ID корневого узла.


GetShortWayTreeEx method (Layer)

Возвращает объект NetworkTree, содержащий дерево кратчайших путей от указанного узла.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetShortWayTreeEx(StartNodeID As Long, Flags As Long) As NetworkTree

StartNodeID - узел, задаваемый в качестве корня дерева.

Flags - битовые флаги построения дерева:

0 - строит дерево с учетом состояний отсекающих устройств.

1 - считает все состояния отсекающих устройств выключенными. Без этого флага строит дерево с учетом состояний отсекающих устройств.

2 - строит дерево от узла по направлению участков от начала к концу.

4 - строит дерево от узла против направлений участков (от конца к началу).

8 - учитывает только направления участков, связанных с начальным узлом (начальное направление).

16 - строит дерево минимальной высоты (путь наименьший не по длине, а по количеству узлов пути).


GetTypeMaxScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetTypeMaxScale(TypeID As Long) As Double

TypeID - ID типа.

Описание:

Если максимальный масштаб не установлен, метод вернет 0.


GetTypeMinScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetTypeMinScale(TypeID As Long) As Double

TypeID - ID типа.

Описание:

Если минимальный масштаб не установлен, метод вернет 0.


GetTypeVisible property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetTypeVisible(TypeID As Long) As Long

TypeID - ID типа.

Описание:

Возвращаемое значение равное 0, означает, что все режимы данного типа невидимы.

Возвращаемое значение равное 1, означает, что все режимы данного типа видимы.

Возвращаемое значение равное 2, означает, что часть режимов данного типа видимы, часть нет.

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


GetWebParams method (Layer)

Возвращает объект с параметрами опубликованного слоя в веб-службах.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetWebParams(Index As Long) As ZWebParams

Index - индекс опубликованного слоя.

Описание:

В случае удачи, метод вернет объект с параметрами опубликованного слоя, иначе значение NULL.

Пример:

Sub Layer_GetWebParams
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'для проверки получим имя по протоколу ZWS и выведем в отдельное окно
    output = param.GetWebLayerName
    MsgBox(output)
End Sub


GetWebParamsCount method (Layer)

Возвращает число публикаций слоя в веб-службах.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function GetWebParamsCount() As Long

Описание:

Метод считает только опубликованные слои с расширением .zl.

Пример:

Sub Layer_GetWebParamsCount
   Set L = Zulu.ActiveMapDoc.Layers.Active
   output = L.GetWebParamsCount
   MsgBox(output)
End Sub


InMemory property (Layer)

Определяет, что слой является слоем в памяти.

Применяется к:

Layer

Синтаксис:

Property InMemory As Boolean

Описание:

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

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

MapCtrl1.Map.Layers.Active.InMemory = Not MapCtrl1.Map.Layers.Active.InMemory

If MapCtrl1.Map.Layers.Active.InMemory Then
    SymID = MapCtrl1.Map.Layers.Active.AddSimpleSymbol(MapCtrl1.MapX, MapCtrl1.MapY, 0, 12, 500, 0)
End If


InMemoryLayer property (Layer)

Объект, предоставляющий набор дополнительных методов для работы со слоем в памяти.

Применяется к:

Layer

Синтаксис:

Property InMemoryLayer As InMemoryLayer


InsertSymbol method (Layer)

В слой добавляется типовой символьный объект, который разбивает линейный участок с указанным ElemID на два участка.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function InsertSymbol(ElemID As Long, Num As Long, InsType As Long, X As Double, Y As Double, TypeID As Long, ModeNum As Long) As Long

ElemID - ID разбиваемого участка.

Num - номер элемента ломаной по которому происходит разбиение (нумерация с нуля).

InsType - способ разбиения участка:

0 - разбивается отрезок ломаной с номером Num

1 - разбивается в точке перелома с номером Num

X, Y - координаты добавляемого символа (только для InsType = 0)

ElemType - ID типа

ElemMode - номер режима (нумерация с единицы)

Описание:

В случае успеха метод возвращает ID добавленного в слой объекта. В противном случае метод возвращает -1.


IntersectByContour method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function IntersectByContour(Contour As Contour, Crit As eCrossCriteria, Reserved As Long) As ElementKeys

Contour - контур для пересечения с объектами слоя.

Crit - критерий пересечения может принимать значения из набора eCrossCriteria.

Reserved - значение зарезервировано, должно быть нулём.


IntersectByLayer method (Layer)

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

Ответ содержит набор пар ключей, где первый ключ - это ключ объекта исходного слоя, а второй ключ - объекта второго слоя, в который попал объект исходного слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function IntersectByLayer(Layer object As Layer, Crit As eCrossCriteria enum, SelectedOnly As Boolean, CrossType As Long, nMode As Long, Reserved As Long) As ElementKeyPairs

Layer - слой для пересечения с данным слоем.

Crit - критерий пересечения может принимать значения из набора eCrossCriteria.

SelectedOnly - анализировать только выделенные объекты исходного слоя.

CrossType - ID типа объектов исходного слоя, участвующих в анализе:

-1 - все объекты

-2 - только площадные

-3 - только символьные

-4 - только линейные

-5 - только текстовые

-6 - все типизированные.

nMode - номер режима объектов, участвующих в анализе ( -1 для любых режимов).

Flags - флаги.

1 - пересекать только с выделенными объектами второго слоя.


IntersectByPolyContour method (Layer)

Возвращает коллекцию ElementKeys ключей объектов слоя, удовлетворивших заданным критериям пересечения с объектом PolyContour.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function IntersectByPolyContour(PolyContour As PolyContour, Crit As eCrossCriteria, Reserved As Long) As ElementKeys

PolyContour - поликонтур для пересечения с объектами слоя

Crit - критерий пересечения может принимать значения из набора eCrossCriteria.

Reserved - значение зарезервировано, должно быть нулём.


IntersectByRadius method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function IntersectByRadius(X As Double, Y As Double, R As Double, Crit As eCrossCriteria, Reserved As Long) As ElementKeys

X, Y - координаты центра круга

R - радиус круга

Crit - критерий пересечения может принимать значения из набора eCrossCriteria

Reserved - значение зарезервировано, должно быть нулём.


IsConnected method (Layer)

Проверяет, находится ли слой в рабочем состоянии.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function IsConnected() As Boolean

Описание:

Если слой локальный, метод всегда возвращает True.

Если слой серверный и соединение с сервером было разорвано, метод возвращает False.

Если подключение слоя к серверу в норме, метод возвращает True.


IsInCircle method (Layer)

Проверяет, находится ли элемент сети слоя в кольце.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function IsInCircle(ElemID As Long, flags As Long) As Boolean

ElemID - ID объекта слоя

flags - зарезервирован, должен быть 0


IsRemote method (Layer)

Возвращает признак, является ли слой слоем ZuluServer.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function IsRemote() As Boolean

Описание:

Если слой локальный, метод вернет False. Если слой серверный, метод вернет True.


JoinSelectedElements method (Layer)

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

Вызов этого метода аналогичен выполнению команды системы Zulu Правка\Объединить объекты.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub JoinSelectedElements(param as long)

param - параметр, определяющий характер площадный объединения объектов:

0 - удалять найденные общие границ полигонов.

1 - оставлять найденные общие границ полигонов.

-1 - спрашивать пользователя о принятии решения по поводу найденных общих границ.


LabelLayers property (Layer)

Возвращает коллекцию меток LabelLayers для работы с надписями данного слоя .

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property LabelLayers As LabelLayers

read-only


LabelsID property (Layer)

Возвращает/устанавливает ID файла надписей (0 - *.L00, 1 - *.L01 и т.д.) слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property LabelsID As Integer

Описание:

Значение -1 указывает на то, что надписи к слою не подключены. При попытке присвоить ID несуществующего файла надписей, свойство LabelsID принимает значение -1.

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

Private Sub Command4_Click()

'Пытаемся подключить к активному слою надписи из 'файла'<layername>.L08
MapCtrl1.Map.Layers.Active.LabelsID = 8

'Проверяем результат
If MapCtrl1.Map.Layers.Active.LabelsID = -1 Then
    MsgBox "Надписи к слою подключить не удалось"
End If

End Sub


LineStyle property (Layer)

Возвращает/устанавливает стиль линейных объектов слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property LineStyle As LineStyle


LineStyles property (Layer)

Возвращает коллекцию стилей линий слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property LineStyles As LineStyles

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


LockForRead method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function LockForRead(Options As Long, Timeout As Long) As Long

Options - зарезервировано, должно быть 0.

Timeout - зарезервировано, должно быть 0.

Каждый вызов метода увеличивает счетчик блокировки слоя на единицу. Метод возвращает текущее значение счетчика.

Примечание:

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

После завершения транзакции обязательно следует вызвать метод UnlockForRead столько раз, сколько был вызван метод LockForRead.


LockForWrite method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function LockForWrite(Options As Long, Timeout As Long) As Long

Options - зарезервировано, должно быть 0.

Timeout - зарезервировано, должно быть 0.

Каждый вызов метода увеличивает счетчик блокировки слоя на единицу. Метод возвращает текущее значение счетчика.

Примечание:

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

После завершения транзакции обязательно следует вызвать метод UnlockForWrite столько раз, сколько был вызван метод LockForWrite.


LoginName property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property LoginName As String

read-only

Описание:

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


Map property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Map As MapDoc

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


MaxScale property (Layer)

Возвращает/устанавливает для слоя значение максимального масштаба (см/пиксел), при котором слой еще будет отображаться на карте.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property MaxScale As Double

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


MinScale property (Layer)

Возвращает/устанавливает для слоя значение минимального масштаба (см/пиксел), при котором слой еще будет отображаться на карте.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property MinScale As Double

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


MoveSelection method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function MoveSelection(shiftX As Double, shiftY As Double, KeepLink As Boolean, Clone As Boolean) As Long

shiftX - смещение по X.

shiftY - смещение по Y.

KeepLink - признак сохранения связности (если такая была) перемещаемых объектов с объектами, оставшимися на месте.

Clone - признак копирования эелементов группы на новом месте, определяемом заданным смещением.


Name property (Layer)

Возвращает полное имя файла (b00) данного слоя, определяющее имена всего семейства файлов слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Name As String

read-only

Пример:

'Получаем имена всех слоев, загруженных в карту MapCtrl1,
'и добавляем эти слои в карту MapCtrl2
Dim i As Integer
For i = 1 To MapCtrl1.Map.Layers.Count
MapCtrl2.Map.AddLayer MapCtrl1.Map.Layers.Item(counter).Name
Next i


NetWorkDataPrepare method (Layer)

Подготовка сетевых данных для дальнейшего анализа.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function NetWorkDataPrepare(xy_flag As Boolean) As Boolean

xy_flag - зарезервирован, должен быть False.


NetworkObjects property

Возвращает коллекцию сетевых объектов по специальному критерию.

Применяется к:

Layer

Синтаксис:

Property NetworkObjects(What As eNetworkObjectFilter) As NetworkObjects

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


NetWorkRecalc method (Layer)

Обновляет состояние сети и возвращает коллекцию ключей элементов, режим которых изменился.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function NetWorkRecalc() As ElementKeys

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


NetworkSwitchAnalyze method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function NetworkSwitchAnalyze(States As ZElemsStates, nFlags As Long) As IZSwitchStates

States - коллекция переключаемых объектов

nFlags - флаги определяющие, какие типы объектов должны попадать в ответ: 1 - потребители, 2 - все узловые объекты, 4 - участки

Описание:

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

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

Пример:

Private Sub Command1_Click()

If MapCtrl1.CurrentID = -1 Then Exit Sub

Dim elems As ZElemsStates
Dim states As IZSwitchStates

Set elems = New ZElemsStates

'Добавляем во входную коллекцию текущий элемент слоя с переводом его в режим 2
elems.AddItem MapCtrl1.CurrentID, 2

'Выполняем анализ переключения текущего объекта слоя с выводом
'в результат всех узлов и участков, которые изменят свое состояние
Set states = MapCtrl1.Map.Layers.Active.NetworkSwitchAnalyze(elems, 2 + 4)

Dim i As Long

MapCtrl1.Map.Layers.Active.Selection.Clear

List1.Clear

For i = 0 To states.GetCount - 1

'Выделяем результат на карте
    MapCtrl1.Map.Layers.Active.Selection.AddElem states.GetID(i)

'Выводим результат в список
    List1.AddItem Str(states.GetID(i)) + "   " + Str(states.GetState(i))

Next i

End Sub


NetworkTools property (Layer)

Возвращает объект для топологического анализа сети.

Применяется к:

Layer

Синтаксис:

Property NetworkTools As NetworkTools


NetworkWeightSets property (Layer)

Возвращает коллекцию NetworkWeightSets весовых коэффициентов графа сети данного слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property NetworkWeightSets As NetworkWeightSets

read-only


ObjectTypes property (Layer)

Возвращает коллекцию типов структуры слоя ObjectTypes.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ObjectTypes As ObjectTypes

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

517 Слой не является векторным слоем.


Open method (Layer)

Открывает слой с указанным именем или URL.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub Open(Name As String)

Name - имя слоя.

Описание:

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
512 Слой уже открыт.

513

Слой не удалось открыть.

Пример:

' Переменная типа Layer
Dim Layer1 As Layer

'Создаем объект типа Layer
Set Layer1 = New Layer

'Открываем слой с нужным именем
Layer1.Open "c:\zulu\data\plan1"

'Выводим его пользовательское название
MsgBox Layer1.UserName

'Открытие слоя с сервера
Layer1.Open "zulu://zs.zulugis.ru:6473/map1/plan1.zl"

'Открытие слоя с сервера с авторизацией по имени пользователя и паролю
Layer1.Open "zulu://login:password@zs.zulugis.ru:6473/map1/plan1.zl"

'Открытие слоя с сервера с авторизацией по учетным сведениям Windows
Layer1.Open "zulu://$winnt$@zs.zulugis.ru:6473/map1/plan1.zl"


OpenDatabase method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function OpenDatabase(BaseID As Long, QueryName As String) As ZbDatabase

BaseID - ID базы слоя

QueryName - имя запроса базы

Описание:

Метод возвращает объект ZbDatabase.


Printable property (Layer)

Возвращает/устанавливает для слоя, загруженного в карту, признак вывода его на печать.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Printable As Boolean

True - слой выводится при печати на карту.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


PublishForWeb method (Layer)

Метод публикует слой в веб-службах ZuluServer.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function PublishForWeb(Params As IZWebParams, bRemoveFlag As Boolean) As Long

Params - объект IZWebParams, описывающий параметры публикуемого слоя.

bRemoveFlag :

True - убирает слой из пространства имен.

False - добавляет/изменяет слой в пространстве имен.

Описание:

При успехе публикации слоя в веб-службах ZuluServer метод вернет 0, в противном случае вернет -1.

Пример:

Sub Layer_PublishForWeb
'задаем активный слой
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект ZWebParams
Set webParams = CreateObject("ZuluLib.ZWebParams")
'указываем интервал обновления
webParams.SetInterval 10
'указываем отображение
webParams.SetDisplayOptions 0
'указываем параметр доступа
webParams.SetWebAccessFlag true
'указываем ZWS наименование слоя
webParams.SetWebLayerName "Elekto"
'указываем пространство имен
webParams.SetWebNamespace "ElektoSeti_Vologda"
'указываем правило редактирование через веб службы
webParams.SetWebEditingDisabled false
'указываем расчетную модель
webParams.SetModel 0
'указываем правило редактирование только через GPS в ZuluGIS Mobile
webParams.SetMobileEditingGPSOnly false
'Публикуем слой в веб-службах
output = L.PublishForWeb(webParams, false)
MsgBox(output)
End Sub


ReadData method (Layer)

Чтение из слоя дополнительных пользовательских данных в указанный поток.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ReadData(Name As String, Stream As Unknown, Code As Long) As Boolean

Name - строковый идентификатор набора данных.

Stream - интерфейс IStream, передаваемый как IUnknown.

Code - зарезервировано, должно быть 1.

Описание:

Действие метода Layer.ReadData эквивалентно сценарию:

Dim Data As CustomData
Set Data = Layer.CustomData
Data.GetItemData( GetIndexByName(Name), Stream)


ReliefLayer property (Layer)

Возвращает интерфейс IReliefLayer для работы со слоем рельефа.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ReliefLayer As IReliefLayer

read-only

Описание:

Свойство возвращается всегда, независимо от того, является ли слой слоем рельефа или нет. Если слой не является слоем рельефа, то методы возвращаемого интерфейса не будут выполнять со слоем никаких действий.


RotateSelection method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function RotateSelection(Xc As Double, Yc As Double, AngleAs Double, Flags As Long) As Long

Xc, Yc - координаты центра поворота

Angle - угол поворота в градусах против часовой стрелки

Flags - флаги, зарезервирован, должен быть 0


SaveDefaultSettings method (Layer)

Сохраняет текущие настройки слоя как значения по умолчанию.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SaveDefaultSettings(flags As Long) As Long

flags - зарезервирован, должен быть 0

Описание:

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


SaveTemporaryRaster method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SaveTemporaryRaster(ZrsName As String, BmpName As String, Flags As Long) As Boolean

ZrsName - имя создаваемого файла-описателя растрового объекта

BmpName - имя для создания файла BMP (если установлен соответствующий бит в параметре Flags). Если имя - пустая строка или null, имя BMP файла будет то же, что и у файла ZrsName , но с расширением bmp

Flags - битовые флаги

бит 0x01 - создание нового BMP файла вместо исходного растра

бит 0x02 - задание признака постоянного кэша для BMP файла

бит 0x08 - создание области отображения растрового объекта по точкам привязки

бит 0x16 - принудительное пересоздание кэша

Описание:

Растровый слой, который был открыт не через описатель растрового объекта ZRS, воспринимается системой как временный слой. Через объектную модель или в Zulu временный растровый слой может быть открыт как файл в форматах TAB MapInfo, MAP OziExplorer, WorldFile ArcGIS. Кроме того, через Zulu временными растровыми слоями будут слои открытые непосредственно как растровые файлы: jpg, png, tiff и т.д.

Для таких временных слоев метод SaveTemporaryRaster и создает описатель ZRS. В частности, это позволяет конвертировать файлы привязки растров из разных форматов в форматов в формат Zulu.

Пример:

'Создаем описатель Zulu ZRS на основе описателя MAP OziExplorer
Private Sub Command1_Click()

Dim L As Layer
'Создаем объект для слоя
Set L = New Layer

'Открываем временный слой в формате OziExplorer
L.Open "d:\maps\Simpele.map"

'Создаем описатель ZRS
L.SaveTemporaryRaster "d:\maps\Simpele.zrs", "", 0

End Sub


ScaleSelection method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ScaleSelection(Xc As Double, Yc As Double, KxAs Double, Ky As Double, KeepLink As Boolean) As Long

Xc, Yc - координаты центра масштабирования

Kx, Ky - коэффициенты масштабирования по осям X и Y

KeepLink - признак сохранения связности (если такая была) масштабируемых объектов с объектами, оставшимися на месте


SelectByType method (Layer)

Возвращает коллекцию ключей объектов слоя с заданным типом и режимом.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SelectByType(TypeID As Long, nMode As Long) As ElementKeys

TypeID - ID типа.

nMode - номер режима.

Описание:

Выбранные по заданному типу и режиму ключи объектов возвращаются в виде коллекции ElementKeys.

Если номер режима равен 0, то в коллекцию войдут все объекты заданного типа, независимо от их режима.

Если ID типа равен 0, то в коллекцию войдут все объекты с заданным режимом, независимо от их типа.

Как следствие, вызов Layer.SelectByType(0, 0) эквивалентен вызову Layer.ElementKeys.


SelectByTypes method (Layer)

Возвращает коллекцию объектов слоя по заданному списку типов и режимов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SelectByTypes(sTypesModes As String) As ElementKeys

sTypesModes - строка содержащая список пар тип+режим.

Описание:

Выбранные по заданному списку типов и режимов ключи объектов возвращаются в виде коллекции ElementKeys.

Значения пар тип+режим в строке sTypesModes идут одна за другой. Все значения разделяются между собой пробелами или табуляцией.

Если номер режима равен 0, то в коллекцию войдут все объекты заданного типа, независимо от их режима.

Если ID типа равен 0, то в коллекцию войдут все объекты с заданным режимом, независимо от их типа.

Примеры:

    Private Sub SelectKeys( InputLayer As Layer)

        Dim Keys As ElementKeys

        'Получить коллекцию объктов с типом 6 и режимом 1
        Set Keys = InputLayer.SelectByTypes("6 1")

        'Для одной пары тип+режим это эквивалентно вызову
        Set Keys = SelectByType(6, 1)

        'Получить коллекцию объктов с типом 6 и режимом 1 и типом 8 и режимом 2
        Set Keys = InputLayer.SelectByTypes("6 1 8 2")

        'Получить коллекцию из для всех режимов с типом 6 и типом 8 и режимом 2
        Set Keys = InputLayer.SelectByTypes("6 0 8 2")

    End Sub


Selection property (Layer)

Возвращает для данного слоя объект Selection для работы с группой выделенных объектов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Selection As Selection

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


SetCRS method (Layer)

Метод назначает данным, хранящимся в слое, систему координат, описанную в объекте CRS.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetCRS(inCRS As CRS) As Long

inCRS - объект, описывающий систему координат.

Описание:

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


SetDrawOrder method (Layer)

Метод задает последовательность вывода объектов слоя на карту.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetDrawOrder(eOrder As eElemDrawOrder) As Boolean

eOrder - способ вывода объектов.


SetEditFlags method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetEditFlags(flags As Long)

Описание:

На данный момент задействованы следующие флаги:

Флаг

Значение

1

Перемещать бирки при перемещении объекта

2

Создавать бирки при создании новых объектов

4

Дублировать атрибуты при дублировании объектов


SetElemsModes method (Layer)

Изменяет режимы указанных элементов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetElemsModes(nElemCount As Long, pElemIDs As Long, pModeIDs As Long) As Boolean

nElemCount - количество изменяемых элементов.

pElemIDs - массив ключей объектов (в Visual Basic - первый элемент массива).

pModeIDs - массив номеров режимов для каждого объекта (в Visual Basic - первый элемент массива).

Пример:

'Сменить режим у трех объектов по заданным ключам.
Dim m1(3) As Long
Dim m2(3) As Long

m1(0) = 24
m1(1) = 132
m1(2) = 130
m2(0) = 1
m2(1) = 2
m2(2) = 1
MapCtrl1.Map.Layers.Active.SetElemsModes 3, m1(0), m2(0)
MapCtrl1.Redraw


SetElemStyle method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetElemStyle(Elems, Style As ElemStyle, GraphType As eElemGraphType) As Boolean

Elems - параметр VARIANT со списком ключей объектов, для которых изменяется стиль, содержащий либо целочисленный массив VT_ARRAY ключей , либо коллекцию ключами IElementKeys.

Style - новый стиль объектов.

GraphType - графический тип объектов, к которым применяется новый силь.

Пример:

'Покрасить все площадные объекты активного слоя в красный цвет
Dim St As ElemStyle
Dim L1 As Layer

Set  Layer = MapCtrl1.Map.Layers.Active

Set St = New ElemStyle
St.PatColor = 255

L1.SetElemStyle L1.ElementKeys, St, eGraphTypePrimSquare


SetElemsTypes method (Layer)

Изменяет типы и режимы указанных элементов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetElemsTypes(nElemCount As Long, pElemIDs As Long, pTypeIDs As Long, pModeIDs As Long) As Boolean

nElemCount - количество изменяемых элементов.

pElemIDs - массив ключей объектов (в Visual Basic - первый элемент массива).

pTypeIDs - массив ID типов для каждого объекта (в Visual Basic - первый элемент массива).

pModeIDs - массив номеров режимов для каждого объекта (в Visual Basic - первый элемент массива).

Значение типа равное -1 означает, что у заданного элемента изменяется только режим, а тип остается прежним.

Пример:

'Сменить типы у трех объектов по заданным ключам.

Dim m1(3) As Long
Dim m2(3) As Long
Dim m3(3) As Long

m1(0) = 24
m1(1) = 132
m1(2) = 130

m2(0) = 1
m2(1) = 2
m2(2) = -1

m3(0) = 1
m3(1) = 2
m3(2) = 1

MapCtrl1.Map.Layers.Active.SetElemsTypes 3, m1(0), m2(0), m3(0)
MapCtrl1.Redraw


SetInputCRS method (Layer)

Метод назначает систему координат для входных данных, участвующих в опреациях со слоем, таких как IntersectByContour.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetInputCRS(inCRS As CRS) As Long

inCRS - объект, описывающий задаваемую систему координат


SetInputCRSProjection method (Layer)

Метод назначает систему координат для входных данных, участвующих в опреациях со слоем, таких как IntersectByContour.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetInputCRSProjection(sCRS As String) As Long

sCRS - строковый код системы координат.

Описание:

Строковый код системы координат представляет собой код по классификатору EPSG (European Petroleum Survey Group). Строка формируется из префикса EPSG: и числового кода, например EPSG:3785. Если заданный код распознается системой, то входящие данные будут восприниматься как данные в указанной системе координат.


SetLabelsID method (Layer)

Возвращает ID файла надписей (0 - *.L00, 1 - *.L01 и т.д.) слоя для заданного типа объектов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

SubSetLabelsID(Type, Id As Integer)

Type - это либо ID (As Long) типа объектов, либо пользовательское название типа объектов (As String).

Id - идентификатор подключаемого файла надписей.

Описание:

Значение для типа -1 указывает на то, что надписи для данного типа отключаются. Если файл с указанным идентификатором не найден или не относится к заданному типу объектов, ID надписей для данного типа принимает значение -1.

Пример:

Private Sub Command4_Click()

'Пытаемся подключить к активному слою надписи из 'файла <layername>.L08 для шестого типа объектов
MapCtrl1.Map.Layers.Active.SetLabelsID 6, 8
' Проверяем результат
If MapCtrl1.Map.Layers.Active.GetLabelsID(6)  = -1 Then
MsgBox "Надписи к слою подключить не удалось"
End If

End Sub


SetMaxScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetMaxScale(Scale As Double)

Scale - максимальный масштаб отображения.

Описание:

Метод задает геодезический масштаб M (1:M) в отличии от свойства MaxScale (см/пиксел).


SetMinScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetMinScale(Scale As Double)

Scale - минимальный масштаб отображения.

Описание:

Метод задает геодезический масштаб M (1:M) в отличии от свойства MinScale (см/пиксел).


SetModeMinMaxScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetModeMinMaxScale(TypeID As Long, ModeNum As Long, minScale As Double, maxScale As Double, flags As Long)

TypeID - ID типа.

ModeNum - номер режима.

minScale - минимальный масштаб отображения.

maxScale - максимальный масштаб отображения.

flags - зарезервирован, должен быть 0.

Описание:

Если значение масштаба равно -1, то данный масштаб исключается из анализа при отображении слоя на карте.


SetModesByElemsStates method (Layer)

Изменяет типы и режимы элементов слоя, список ID и состояния которых заданы коллекцией ZElemsStates.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetModesByElemsStates(States As ZElemsStates) As Boolean

States - коллекция ID элементов и их типов и режимов.


SetModeVisible property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetModeVisible(TypeID As Long, ModeNum As Long, bVisible As Boolean)

TypeID - ID типа.

ModeNum - номер режима.

bVisible - признак отображения.


SetModified method (Layer)

Увеличивает счетчик изменений слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetModified() As Long


SetSymbolOrientation method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SetSymbolOrientation(Elems) As Long

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

VT_DISPATCH или VT_UNKNOWN - коллекция ключей ElementKeys

VT_BYREF|VT_I4 - массив чисел long, в первом элементе которого записано количество ключей

VT_I2 или VT_I4 - одиночный ключ конкретного объекта


SetTemporaryTheme method (Layer)

Подключает к слою файл раскраски с заданным именем в качестве временного варианта раскраски.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetTemporaryTheme(FileName As String)

FileName - имя подключаемого файла раскраски.

Описание:

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

Подключаемый файл раскраски может быть создан и заполнен через объект Theme.


SetTypeMinMaxScale property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetTypeMinMaxScale(TypeID As Long, minScale As Double, maxScale As Double, flags As Long)

TypeID - ID типа.

minScale - минимальный масштаб отображения.

maxScale - максимальный масштаб отображения.

flags - зарезервирован, должен быть 0.

Описание:

Если значение масштаба равно -1, то данный масштаб исключается из анализа при отображении слоя на карте.


SetTypeVisible property (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub SetTypeVisible(TypeID As Long, bVisible As Boolean)

TypeID - ID типа.

bVisible - признак отображения.


ShortWay method (Layer)

Находит кратчайший путь от узла до узла. Возвращает коллекцию ElementKeys, содержащую цепочку ключей объектов, вошедших в найденный путь.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ShortWay(BeginID As Long, EndID As Long) As ElementKeys

BeginID - ID начального узла.

EndID - ID конечного узла.


ShortWayFinish method (Layer)

Завершает буферизацию модели сети слоя вызванную методом ShortWayStart.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ShortWayFinish() As Long


ShortWayStart method (Layer)

Инициализирует модель сети слоя для многократных вызовов функций поиска пути (GetShortWay, ShortWay).

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ShortWayStart() As Long

Описание:

Вызов данного метода для буферизации модели сети, требует последующего завершения вызовом метода ShortWayFinish


ShowDirections property (Layer)

Устанавливает/возвращает признак отображения направлений для направленных линейных объектов. Свойство соответствует флажку Показ направлений диалога Настройка слоя системы ZuluGIS.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ShowDirections As Boolean

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


SimplifySelectionGeometry method (Layer)

Сокращает чило вершин полигонов и полилиний выделенных объектов слоя при помощи алгоритма Рамера — Дугласа — Пекера

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SimplifySelectionGeometry(Tolerance) As Double

Tolerance - допуск в см, параметр алгоритма


SplitByPolygon method (Layer)

Разрезает объекты слоя заданным контуром.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SplitByPolygon(polygon As Contour, Options As Long) As Long

polygon - контур, пересекаемый со слоем.

Options - параметр, определяющий, какие объекты слоя участвуют в операции:

0 - все объкеты слоя.

1 - только объекты мишени (TargetSelection).

2 - только выделенные объекты (Selection).

Примечание:

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

- Объекты, целиком попавшие в контур или не имеющие пересечения с контуром, остаются без изменения.


SplitByPolyline method (Layer)

Разрезает объекты слоя заданной ломаной линией.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SplitByPolyline(PolyLine As PolyLine, Options As Long) As Long

PolyLine - ломаная, разрезающая слой

Options - параметр, определяющий, какие объекты слоя участвуют в операции:

0 - все объкеты слоя.

1 - только объекты мишени (TargetSelection).

2 - только выделенные объекты (Selection).

Примечание:

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

- Объекты, не затронутые ломаной, остаются без изменения.


SplitByRegion method (Layer)

Разрезает объекты слоя заданным регионом (поликонтуром).

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SplitByRegion(Region As PolyContour, Options As Long) As Long

Region - поликонтур, пересекаемый со слоем

Options - параметр, определяющий, какие объекты слоя участвуют в операции:

0 - все объкеты слоя.

1 - только объекты мишени (TargetSelection).

2 - только выделенные объекты (Selection).

Примечание:

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

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


StartEdit method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function StartEdit() As Long

Описание:

Этот метод «захватывает» слой для редактирования, если его не редактирует другой пользователь. Если слой уже кто-то редактирует, метод вернет 0. В случае успеха метод вернет число больше единицы.

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

Данный метод не оказывает действия на серверный слой.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

Dim lay2 As Layer

Set lay2 = New Layer
'Создаем новый экземпляр активного слоя карты
lay2.Open MapCtrl1.Map.Layers.Active.Name

MsgBox MapCtrl1.Map.Layers.Active.StartEdit 'Результат будет 1
MsgBox MapCtrl1.Map.Layers.Active.StartEdit 'Результат будет 2
MsgBox MapCtrl1.Map.Layers.Active.StartEdit 'Результат будет 3
MsgBox lay2.StartEdit 'Результат будет 0 т.к. слой занят
MsgBox MapCtrl1.Map.Layers.Active.StopEdit 'Результат будет 2
MsgBox MapCtrl1.Map.Layers.Active.StopEdit 'Результат будет 1
MsgBox MapCtrl1.Map.Layers.Active.StopEdit 'Результат будет 0
MsgBox lay2.StartEdit 'Результат будет 1 т.к. слой освободился
MsgBox lay2.StopEdit 'Результат будет 0


StartSequentialWriteMode method (Layer)

Инициализирует режим буферизованной записи объектов в слой.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function StartSequentialWriteMode() As Boolean

Описание:

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

При добавлении объектов в этом режиме ядром системы не выполняется ряд внутренних операций по индексации добавляемых объектов, что существенно повышает скорость добавления объектов, но делает невозможным работу с данными слоя в полном объеме вплоть до завершения режима. Поэтому в режиме буферизованной записи не допускаются никакие операции со слоем, кроме операций по добавлению объектов в слой: AddContour, AddElement, AddElementEx, AddEnumElement, AddPolyContour, AddPolyLine, AddPolyPolyLine, AddSimpleSymbol, AddSymbol, AddText.

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

Пример:

'Создаем новый слой и переписываем в него все объекты другого слоя
Private Sub CopyLayerGraphics(SrcLayer As Layer, DestLayerName As String, DestLayerTitle As String)

Dim DestLayer As Layer
Dim En As IZEnumElements
Dim Tools As ZuluTools
Set Tools = New ZuluTools
'Создаем новый слой
Tools.LayerCreate DestLayerName, DestLayerTitle, eMixedLayer
'Открываем созданный слой
Set DestLayer = New Layer
DestLayer.Open DestLayerName
'Начинаем режим буферизованной записи
DestLayer.StartSequentialWriteMode
'Получаем итератор для слоя источника
Set En = SrcLayer.EnumElements

En.MoveFirst 'Встали на первый элемент
Do
    If  En.IsEOF Then Exit Do 'Если элементы кончились, выходим

'Записываем очередной объект в новый слой
    'без проверки на уникальность ключа, т.к.
    'в качестве ключа берем ключ слоя источника
    'а до начала записи слой для записи объектов не 'содержал
    DestLayer.AddEnumElement En, En.ElemID, 0

    En.MoveNext 'Встаем на следующий элемент
Loop

    'Завершаем режим буферизованной записи
    DestLayer.FinishSequentialWriteMode

End Sub


StopEdit method (Layer)

Прекращает редактирование слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function StopEdit() As Long

Описание:

Этот метод «высвобождает» слой из состояния редактирования ранее инициированного вызовом метода StartEdit. Если возвращаемое значение равно нулю, значит число вызовов метода StartEdit стало меньшим или равным числу вызовов метода StopEdit, и слой могут редактировать другие пользователи.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


Symbols property (Layer)

Возвращает для данного слоя коллекцию символов Symbols для работы с библиотекой символов.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Symbols As Symbols

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


SynchronizeDatabase method (Layer)

Метод приводит в соответствие записи базовой таблицы семантической базы данных, подключенной к слою, с графическими объектами слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function SynchronizeDatabase(BaseID As Long, Flags As Long) As Long

BaseID - ID базы данных слоя.

Flags - флаги:

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

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

3 - включает оба действия.

Описание:

Параметр BaseID - это идентификатор базы данных слоя, который присутствует в списке баз слоя - Layer.Bases. Для примитивов BaseID хранится в свойстве Layer.BaseID. Для типовых объектов - Layer.ObjectTypes.Item(TypeID).BaseID.


TakeCRS method (Layer)

Метод назначает слою, систему координат, описанную в другом слое.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function TakeCRS(SrcLayer As Layer) As Long

SrcLayer - слой с исходной системой координат

Описание:

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


TargetSelection property (Layer)

Возвращает для данного слоя объект TargetSelection для работы с мишенью.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property TargetSelection As TargetSelection

read-only

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


ThemeCreate method (Layer)

Создает тематическую раскраску слоя, сохраняемую в указанный файл.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function ThemeCreate(ThemeFileName As String, ThemeDisplayName As String,ThemeFilterName As String, BaseName As String) As Boolean

ThemeFileName - имя файла.

ThemeDisplayName - пользовательское название файла тематической; раскраски.

ThemeFilterName - имя фильтра.

BaseName - имя базы данных.


ThemeFilters collection (Layer)

Возвращает коллекцию фильтров тематических раскрасок слоя Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

GetIdByIndex

GetIndexById

GetItemById

GetItemByIndex

Remove

SetFilter


ThemeId property (Layer)

Возвращает\устанавливает значение ID текущей тематической раскраски слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ThemeId As long

Описание:

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

Для проверки подключения нескольких тем следует применять метод Themes.GetEnabled.

При задании ID раскраски, все текущие темы будут отключены и включится одна тема с указанным ID.

Для подключения нескольких тем следует применять метод Themes.SetEnabled.


ThemeName property (Layer)

Возвращает/устанавливает текущее имя тематического файла отрисовки слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property ThemeName As String

Описание:

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

Для проверки подключения нескольких тем следует применять метод Themes.GetEnabled.

При задании имени тематического файла, все текущие раскраски будут отключены, и включится одна тема с указанным именем.

Подключаемый тематический файл может быть создан и заполнен через объект Theme.

Для подключения нескольких тем следует применять метод Themes.SetEnabled.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


Themes property (Layer)

Возвращает коллекцию Themes тематических раскрасок слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Themes As Themes


TileLayer property (Layer)

Возвращает интерфейс ITileLayer для работы с тайловым слоем.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property TileLayer As ITileLayer

read-only

Описание:

Свойство возвращается всегда, независимо от того, является ли слой тайловым слоем. Если слой не является слоем тайлов, то методы возвращаемого интерфейса не будут выполнять над слоем никаких действий.


TrackingLayer property (Layer)

Возвращает интерфейс ITrackingLayer для работы со слоем трекинга.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property TrackingLayer As ITrackingLayer

read-only

Описание:

Свойство возвращается всегда, независимо от того, является ли слой слоем трекига. Если слой не является слоем трекига, то методы возвращаемого интерфейса не будут выполнять над слоем никаких действий.


Type property (Layer)

Возвращает тип данного слоя из набора констант eLayerType.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Type As eLayerType

read-only


Units property (Layer)

Возвращает единицы хранения координат графических данных слоя.

Применяется к:

Layer

Синтаксис:

Property Units As eUnits

read-only

Описание:

Для векторных слоев все элементы хранятся в каких-то одних единицах.

Если проекция слоя не задана (план-схема), единицы хранения - сантиметры.

Если проекция слоя географические-координаты (широта\долгота), единицы хранения - градусы.

Для остальных проекций единицы хранения - метры.

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

Пример:

'Подвинуть все объекты слоя L на 100 метров по горизонтали

'Выделяем все объекты слоя
L.Selection.SelectAll

If L.Units = eMetre Then
'Если данные слоя в метрах,  сдвигаем на 100
L.MoveSelection 0, 100, False,  False

ElseIf  f L.Units = eUnitCentimetre Then
'Если данные слоя в мсантиметрах,  сдвигаем на 10000
L.MoveSelection 0, 10000, False,  False

End If


UnlockForRead method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function UnlockForRead() As Long

Метод возвращает текущее значение счетчика блокировки. Слой будет доступен для редактирования другими пользователями только тогда, когда метод вернет 0.


UnlockForWrite method (Layer)

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

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function UnlockForWrite() As Long

Метод возвращает текущее значение счетчика блокировки. Слой будет доступен для редактирования и чтения другими пользователями только тогда, когда метод вернет 0.


UpdateFromAscii method (Layer)

Обновляет заданные поля базы данных значениями из текстового файла.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function UpdateFromAscii(iDb ZbDatabase, AsciiFile As String, Fields) As Long

iDb - объект базы данных

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

Fields - набор полей. Может быть задан как

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом номеров полей.

г) указателем на первый элемент массива, тогда необходимо задать параметр Count - число элементов массива.

Описание:

Метод возвращает объект ZbDatabase.

Пример VBScript:

'*********************************************************
'Процедура пакетного обновления записей через ASCII файл
'*********************************************************
Sub BeginEndFromASCII

'Объект для вывода в окно сообщений
Set Out = Zulu.OpenOutputChannel("")

'Очищаем окно сообщений
Out.Clear

'Фиксируем начало процесса
Out.Put "Start" + CHR(10)

'Создаем объект для работы с файлами
Set fc = CreateObject("Scripting.FileSystemObject")

'Открываем (создаем) файл на запись в формате UNICODE
Set File = fc.OpenTextFile("c:\temp\BeginEndFromASCII.tmp",ForWriting, true, TristateTrue)

'Получаем активный слой текущей карты
Set L = Zulu.ActiveMapDoc.Layers.Active

'Создаем объект для базы данных
Set db = CreateObject("Zb.ZbDatabase")

'Открываем базыу данных для типа с ID=2
db.Open L.ObjectTypes.Item(2).BaseName

'Получаем линейные объекты сети
Set NWObjects = L.NetworkObjects(eNetworkArcs)

'По всем участкам сети
For i = 1 To NWObjects.Count

'Получаем i-й участок
    Set NWObject = NWObjects.Item(i)

'Создаем строку для текущего участка через запятую ID участка, ID начального и ID конечного узла
    S = Cstr(NWObject.Key) + ",""" + CStr(NWObject.KeyBegin) + "人民共和"",""" + CStr(NWObject.KeyEnd) + "고려"""

'Записываем строку в файл
    File.WriteLine(S)
Next

'Закрываем файл
File.Close

'Запмсываем данные ASCII файла в указанные поля базы данных для указанных в файле ID
L.UpdateFromAscii db, "c:\temp\BeginEndFromASCII.tmp", "Begin_uch" + CHR(10) + "End_Uch"

'Фиксируем завершение процесс процесса
Out.Put "Finish" + CHR(10)

MsgBox "Finish"

End Sub


UserLabel property (Layer)

Возвращает/устанавливает статус вывода надписей пользователя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property UserLabel As Boolean

Описание:

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

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


UserName property (Layer)

Возвращает пользовательское название данного слоя.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property UserName As String

read-only

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

'Заполняем список List1 пользовательскими названиями
'слоев, загруженных в карту MapCtrl1
Dim i As Integer
List1.Clear
For i = 1 To MapCtrl1.Map.Layers.Count
    List1.AddItem (MapCtrl1.Map.Layers.Item(i).UserName)
Next i


Visible property (Layer)

Возвращает/устанавливает для слоя признак отображения слоя, загруженного в карту.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property Visible As Boolean

Описание:

Если свойство равно FALSE, это не означает, что слой выгружен из карты. Он просто не участвует в отображении.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

Пример:

' Проверяем перед каждой перерисовкой карты
Private Sub MapCtrl1_BeforePaint (ByVal DrawHandle As Long)
    If MapCtrl1.MapScale > 500 Then
        'Если текущий масштаб карты больше 500 см/пиксел,
        'активный слой не отображаем
        MapCtrl1.Map.Layers.Active.Visible = False
    Else
        ' В противном случае - отображаем
        MapCtrl1.Map.Layers.Active.Visible = True
    End If
End Sub


WmsLayer property (Layer)

Возвращает интерфейс IWmsLayer для работы со слоем WMS.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Property WmsLayer As IWmsLayer

read-only

Описание:

Свойство возвращается всегда, независимо от того, является ли слой слоем WMS. Если слой не является слоем WMS, то методы возвращаемого интерфейса не будут выполнять над слоем никаких действий.


WriteData method (Layer)

Запись в слой дополнительных пользовательских данных.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function WriteData(Name As String, Stream As Unknown, Code As Long) As Boolean

Name - строковый идентификатор набора данных.

Stream - интерфейс IStream, передаваемый как IUnknown.

Code - зарезервировано, должно быть 1.

Описание:

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


WriteElement method (Layer)

Записывает элемент в слой.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Sub WriteElement(Data)


Layers collection

Содержит коллекцию объектов типа Layer, загруженных в карту. Входит в виде свойства Layers в объект MapDoc.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Active

ActiveIndex

Count

EditIndex

EditLayer

Item

Activate

Add

AddInMemory

GetIndexByName

GetIndexByUserName

GetItemByName

GetItemByUserName

Move

MoveItem

Remove

SetEditLayer

StopEdit


Activate method (Layers)

Делает активным слой карты с указанным номером.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Sub Activate(Index)

Index - вариантная переменная:

1. Либо это порядковай номер слоя в коллекции. Число от 1 до Count, определяющее место конкретного объекта Layer в коллекции.

2. Либо это сам объект типа Layer, входящий в данную коллекцию.

3. Либо это имя слоя Layer.Name (строка).

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
512 Слой по значению Index не найден в коллекции.

Пример:

'По индексу
MapCtrl1.Map.Layers.Activate (2)

'По имени слоя
MapCtrl1.Map.Layers.Activate "d:\zulu 5.0\examples\termo\doma.b00"

'Объект типа Слой
Dim Layer1 As Layer

'создаем объект Layer
Set Layer1 = New Layer
Layer1.Open " d:\zulu 5.0\examples\termo\doma.b00"

'добавляем слой в карту
MapCtrl1.Map.Layers.Add Layer1

MapCtrl1.Map.Layers.Activate Layer1


Active property (Layers)

Возвращает/устанавливает активный слой.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Property Active As Layer

Описание:

Активный слой представлен объектом Layer, обязательно входящим в коллекцию, т.е. устанавливать это свойство можно только для какого-либо Layers.Item. Если необходимо сделать активным какой-то сторонний объект Layer, то сперва его нужно добавить в коллекцию методом Add, а уже затем сделать активным слоем коллекции.

Активный слой - это тот слой, CurrentID которого соответствует свойству CurrentID компонента MapCtrl.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
1 Слой, соответствующий объекту Layer не найден в коллекции.

513

Слой Layer не открыт или не загружен к карту.

Пример:

'Установить активный слой
MapCtrl1.Map.Layers.Active = Layer1

'Вывести имя активного слоя
MsgBox MapCtrl1.Map.Layers.Active.Name


ActiveIndex property (Layers)

Возвращает номер активного слоя в коллекции слоев (Layers ).

Делает активным слой с указанным номером.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Property ActiveIndex As Long

Пример: :

'сделать третий слой по списку активным
MapCtrl1.Map.Layers.ActiveIndex = 3

'сделать активный слой редактируемым
MapCtrl1.Map.Layers.EditIndex=MapCtrl1.Map.Layers.ActiveIndex


Add method (Layers)

Добавляет слой в карту.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Sub Add(Layer)

Layer - вариантная переменная. Либо это объект типа Layer (не входящий еще в данную коллекцию), либо строка с полным именем семейства файлов слоя.

Описание:

Этот метод противоположен методу Remove.

Добавление слоя в карту происходит путем добавления этого слоя в коллекцию Layers, являющуюся свойством карты MapDoc.Layers.

При этом происходит перестроение окна карты.

В случае неудачи возникает исключение (список кодов см. AddLayer ).

Пример:

Dim Layer1 as Layer

'Создаем новый объект
Set Layer1 = New Layer

'Открываем в нем слой
Layer1.Open "G:\Zulu\Data\cells.b00"

'Добавляем слой в карту, как объект
MapCtrl1.Map.Layers.Add Layer1

'Добавляем еще оди слой в карту, но уже прямо через имя слоя
MapCtrl1.Map.Layers.Add "G:\Zulu\Data\Streets.b00"


AddInMemory (Layers)

Создает объект Layer в памяти и добавляет в коллекцию слоев карты.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Function AddInMemory(UserName As String) As Long

UserName - пользовательское название слоя.

Описание:

В случае успеха возвращает индекс добавленного слоя в карте. В противном случае метод вернет -1.


Count property (Layers)

Возвращает число слоев (объектов Layer ) в коллекции.

Применяется к:

Layers

Синтаксис:

Visual Basic:

PropertyCount As Integer

read-only

Пример:

'вывести число слоев в коллекции
MapCtrl1.Map.Layers.Count


EditIndex property (Layers)

Возвращает номер редактируемого слоя в коллекции слоев (Layers ).

Делает редактируемым слой с указанным номером.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Property EditIndex As Long

Пример:

'сделать третий слой по списку редактируемым
MapCtrl1.Map.Layers.EditIndex = 3

'сделать редактируемый слой активным
MapCtrl1.Map.Layers.ActiveIndex = MapCtrl1.Map.Layers.EditIndex


EditLayer property (Layers)

Возвращает/устанавливает редактируемый в данный момент слой.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Property EditLayer As Layer

Описание:

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

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

Если нужно отменить редактирование редактируемого слоя, то свойству EditLayer следует присвоить значение 0 (Nothing для VB), либо вызвать метод Layers.StopEdit.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

Слой Layer не открыт или не загружен к карту.

Пример:

'Назначить редактируемым слой Кварталы
MapCtrl1.Map.Layers.EditLayer = Cells

'Выйти из режима редактирования слоя
MapCtrl1.Map.Layers.EditLayer  = Nothing


GetIndexByName method (Layers)

Возвращает номер слоя в списке слоев по указанному имени (нумерация с единицы).

Применяется к:

Layers

Синтаксис:

Visual Basic:

Function GetIndexByName(sName As String) As Long

sName - имя слоя (Layer.Name)

Если слой с указанным имени в списке не найден, метод вернет -1.


GetIndexByUserName method (Layers)

Возвращает номер слоя в списке слоев по указанному пользовательскому названию слоя (нумерация с единицы).

Применяется к:

Layers

Синтаксис:

Visual Basic:

Function GetIndexByUserName(sName As String) As Long

sName - пользовательское название (Layer.UserName)

Если слой с указанным пользовательским названием в списке не найден, метод вернет -1.


GetItemByName method (Layers)

Возвращает объект Layer из коллекции слоев по названию слоя.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Function GetIndexByUserName(sName As String) As Layer

sName - название (Layer.Name)

Если слой с указанным именем в списке не найден, метод вернет Nothing.


GetItemByUserName method (Layers)

Возвращает объект Layer из коллекции слоев по пользовательскому названию слоя.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Function GetIndexByUserName(sName As String) As Layer

sName - пользовательское название (Layer.UserName)

Если слой с указанным пользовательским названием в списке не найден, метод вернет Nothing.


Item property (Layers)

Возвращает объект Layer из коллекции слоев по порядковому номеру.

Применяется к:

Layers

Синтаксис:

Visual Basic:

PropertyItem(Index As Integer) As Layer read-only

Index - порядковый номер слоя в коллекции. Число от 1 до Count, определяющее место конкретного объекта Layer в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Значение Index выходит за границы диапазона 1..Count.


Move method (Layers)

Меняет порядок слоев в коллекции.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Sub Move(Index, Order As eLayerOrder)

Index - вариантная переменная:

Либо это порядковый номер слоя в коллекции. Число от 1 до Count, определяющее место конкретного объекта Layer в коллекции.

Либо это сам объект типа Layer, входящий в данную коллекцию.

Либо это имя слоя Layer.Name (строка).

Order - способ перемещения, может принимать значения из набора eLayerOrder.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

512

Слой по значению Index не найден.

Пример:

'Переместить слой Кварталы на самый верх
MapCtrl1.Map.Layers.Move Layer1, eMoveToFront


MoveItem method (Layers)

Перемещает указанный слойна новое место в коллекции.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Function MoveItem(Index, NewIndex As Long) as Long

Index - вариантная переменная:

Либо это порядковый номер слоя в коллекции. Число от 1 до Count, определяющее место конкретного объекта Layer в коллекции,

либо это сам объект типа Layer, входящий в данную коллекцию,

либо это имя слоя Layer.Name (строка)

NewIndex - новое местоположение слоя в списке слоев (нумерация от единицы)

Описание:

В случае успеха метод вернет значение нового индекса слоя в коллекции. В случае неудаче метод вернет -1.


Remove method (Layers)

Исключает из коллекции (выгружает из карты) указанный слой.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Sub Remove(Index)

Index - вариантная переменная.

1. Либо это порядковый номер слоя в коллекции. Число от 1 до Count, определяющее место конкретного объекта Layer в коллекции.

2. Либо это сам объект типа Layer, входящий в данную коллекцию.

3. Либо это имя слоя Layer.Name (строка).

Описание:

Этот метод противоположен методу Add.

Удаление слоя из коллекции не означает физического удаления слоя. Слой просто исключается из карты, что вызывает ее перестроение.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Слой по значению Index не найден.

Пример:

'Удалить слой через вызов диалога со списком загруженных слоев
MapCtrl1.Map.Layers.Remove MapCtrl1.Map.DoSelectLayer("")


SetEditLayer method (Layers)

Делает указанный слой редактируемым.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Sub SetEditLayer(Index)

Index - вариантная переменная.

1. Либо это порядковый номер слоя в коллекции. Число от 1 до Count, определяющее место конкретного объекта Layer в коллекции.

2. Либо это сам объект типа Layer, входящий в данную коллекцию.

3. Либо это имя слоя Layer.Name (строка).

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
512

Слой по значению Index не найден.

Описание:

Этот метод аналогичен присвоению значения свойству EditLayer, которое после выполнения этого метода изменяется.


StopEdit method (Layers)

Завершает редактирование слоя.

Применяется к:

Layers

Синтаксис:

Visual Basic:

Sub StopEdit()

Описание:

Метод действует аналогично присвоению свойству EditLayer значения 0 (Nothing для VB).


LineStyle object

Описывает стиль линий линейных и площадных объектов.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Color

ForEach

Name

PrintWidth

ShowDirections

Style

SwitchState

Tag

Transparent

Width


Color property (LineStyle)


ForEach property (LineStyle)


Name property (LineStyle)


PrintWidth property (LineStyle)


ShowDirections property (LineStyle)


Style property (LineStyle)


SwitchState property (LineStyle)


Tag property (LineStyle)


Transparent property (LineStyle)


Width property (LineStyle)


LineStyleDef object

Объект, содержащий описание и методы работы со стилем заливки полигонов. В частности, является элементом коллекции LineStyles стилей заливок слоя.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Id

Name

AddLineElement

AddSymbolElement

Draw

GetBLOB

SetBLOB

StyleElements


AddLineElement method (LineStyleDef)

Добавляет в объект описатель стиля линии новую линии.

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Sub AddLineElement(iElement As ILineStyleElement)

iElement - объект, описывающий стиль одиночной линии.

Описание:

LineStyles - является коллекцией стилей линий слоя. Через метод AddItem этой коллекции можно добавлять новые стили линий в слой. Для создания самого стиля линии, требуется использовать метод AddLineElement и/или AddSymbolElement, который в объект LineStyleDef добавляет описатель одиночной линии/символа LineStyleElement. В объект LineStyleDef можно добавлять множество одиночных линий и символов.

Пример:

'Добавляем в структуру слоя новый стиль линии. Получится две паралельные красные линии

sub LineStyleDef_AddLineElement
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваеваем lse описания стиля одиночной линии
lse.SetLineColor 255
lse.SetLineType 0
'добавляем в lsd описатель первой  одиночной линии lse
lsd.AddLineElement lse
Set lse = CreateObject ("ZuluLib.LineStyleElement")
lse.SetLineColor 255
lse.SetLineType 0
lse.SetLineShiftVer 5
'добавляем в lsd описатель второй  одиночной линии lse
lsd.AddLineElement lse
'добавляем в коллекцию слоя новый стиль линии
L.LineStyles.AddItem lsd, -1
end sub


AddSymbolElement method (LineStyleDef)

Добавляет в объект описатель стиля линии новый символ.

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Sub AddSymbolElement(iElement As ILineStyleElement)

iElement - объект, описывающий стиль одиночной линии.

Описание:

LineStyles - является коллекцией стилей линий слоя. Через метод AddItem этой коллекции можно добавлять новые стили линий в слой. Для создания самого стиля линии, требуется использовать метод AddLineElement и/или AddSymbolElement, который в объект LineStyleDef добавляет описатель одиночной линии/символа LineStyleElement. В объект LineStyleDef можно добавлять множество одиночных линий и символов.

Пример:

'Добавляем в структуру слоя новый стиль линии. Который состоит из точек.

Sub AddSymbolElement
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем  угол символу
lse.SetSymbolAngle 90.0
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем горизонтальный сдвиг
lse.SetSymbolShiftHor 10
'задаем вертикальный сдвиг
lse.SetSymbolShiftVer 20
'задаем линейные размеры
lse.SetSymbolSizeType 0
'задаем шаг между элементами
lse.SetSymbolStep 25
'задаем тип толщины
lse.SetSymbolWidthType 0
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


Draw method (LineStyleDef)

Отрисовывает полиполилинию с данным стилем линии.

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Sub Draw(hDC As Long, Line As PolyPolyLine, Scale As Double, LineColor As Long, LineWidth As Double)

hDC - контекст устройства.

Line - отображаемая полиполилиния.

Scale - масштаб отображения.

LineColor - цвет линии.

LineWidth - толщина линии.


GetBLOB method (LineStyleDef)

Возвращает стиль линии в виде бинарного объекта (от BLOB - binary large object).

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Function GetBLOB()

Описание:

Метод возвращает переменную типа VARIANT, которая содержит массив байт (VT_UI1 | VT_ARRAY).

Пример:

Dim Lsd1 As LineStyleDef
Dim Lsd2 As LineStyleDef

'Получаем первый по порядку стиль линии активного слоя карты
Set Lsd1 = MapCtrl1.Map.Layers.Active.LineStyles.Item(0)

'Создаем новый объект для стиля линии
Set Lsd2 = New LineStyleDef

'Копируем стиль из одного объекта в другой
Lsd2.SetBlob(Lsd1.GetBLOB)


Id property (LineStyleDef)

Возвращает ID стиля линии в коллекции стилей линий.

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Property Id As Long

read-only


Name property (LineStyleDef)

Возвращает/устанавливает название стиля линии.

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Property Name As String

Пример:

'Получаем стиль линии активного слоя карты с ID = 1
Dim Lsd As LineStyleDef
Set Lsd = MapCtrl1.Map.Layers.Active.LineStyles.ItemById(1)

If  Lsd.Id  <> -1 Then
'Переименовываем стиль
Lsd.Name = Lsd.Name + "_new"

'Обновляем стиль слоя
MapCtrl1.Map.Layers.Active.LineStyles.ReplaceItem 1, Lsd

End If


SetBLOB method (LineStyleDef)

Копирует стиль линии из массива двоичных данных (от BLOB - binary large object).

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Function SetBLOB(vBlob) As Boolean

vBlob - VARIANT с массивом байт.

Описание:

Переменная типа VARIANT должна содержать массив байт (VT_UI1 | VT_ARRAY). Если входные данные распознаны как содержащие стиль линии, они будут скопированы в объект, и метод вернет True. В противном случае метод вернет False.

Пример:

Dim Lsd1 As LineStyleDef
Dim Lsd2 As LineStyleDef

'Получаем первый по порядку стиль линии активного слоя карты
Set Lsd1 = MapCtrl1.Map.Layers.Active.LineStyles.Item(0)

'Создаем новый объект для стиля линии
Set Lsd2 = New LineStyleDef

'Копируем стиль из одного объекта в другой
Lsd2.SetBlob(Lsd1.GetBLOB)


StyleElements property (LineStyleDef)

Метод возвращает объект LineStyleElements, который описывает набор одиночных линий/символов класса LineStyleElement.

Применяется к:

LineStyleDef

Синтаксис:

Visual Basic:

Property StyleElements() As ILineStyleElements

read only

Пример:

Sub StyleElements
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
set lse = lses.Item(1)
' для проверки выводим вертикальный сдвиг объекта lse
MsgBox(lse.GetLineShiftVer)
End Sub


LineStyleElement object

Объект, содержащий описание и методы работы по созданию стиля одиночной линии/символа для добавления в объект LineStyleDef .

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

GetLineColor

GetLineDash

GetLineEndCap

GetLineShiftHor

GetLineShiftVer

GetLineSizeType

GetLineType

GetLineStep

GetLineWidth

GetLineWidthType

GetSymbol

GetSymbolAngle

GetSymbolScale

GetSymbolShiftHor

GetSymbolShiftVer

GetSymbolSizeType

GetSymbolStep

GetSymbolWidthType

SetLineDash

SetLineEndCap

SetLineShiftHor

SetLineShiftVer

SetLineSizeType

SetLineStep

SetLineType

SetLineWidth

SetLineWidthType

SetSymbol

SetSymbolAngle

SetSymbolScale

SetSymbolShiftHor

SetSymbolShiftVer

SetSymbolSizeType

SetSymbolStep

SetSymbolWidthType

Пример:

'Добавляем в структуру слоя новый стиль линии.

sub LineStyleElement
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
lse.SetLineColor 255
lse.SetLineType 0
lse.SetLineShiftVer 1
'добавляем в lsd описатель одиночной линии lse
lsd.AddLineElement lse
'добавляем в коллекцию слоя новый стиль линии
L.LineStyles.AddItem lsd, -1
end sub


GetLineColor method (LineStyleElement)

Метод возвращает цвет линии.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineColor() As Long

Пример:

Sub Color
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим цвет линии
MsgBox(lse.GetLineColor)
End Sub


GetLineDash method (LineStyleElement)

Метод возвразает длину штриха линии. (только для прерывистых линий)

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineDash() As Double

Пример:

Sub GetLineDash
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим длину штриха
MsgBox(lse.GetLineDash)
End Sub


GetLineEndCap method (LineStyleElement)

Метод возвращает тип конца линии.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineEndCap() As eEndCapType

0 - закругленный.

1 - квадратный.

2 - прямой.

Пример:

Sub GetLineEndCap
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим тип конца линии.
MsgBox(lse.GetLineEndCap)
End Sub


GetLineShiftHor method (LineStyleElement)

Метод возвращает сдвиг штриха вдоль направления линии. (только для прерывистых линий)

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineShiftHor() As Double

Пример:

Sub GetLineShiftHor
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим сдвиг штриха.
MsgBox(lse.GetLineShiftHor)
End Sub


GetLineShiftVer method (LineStyleElement)

Метод возвращает сдвиг линии по вертикали.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineShiftVer() As Double

Пример:

Sub GetLineShiftVer
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим сдвиг линии.
MsgBox(lse.GetLineShiftVer)
End Sub


GetLineSizeType method (LineStyleElement)

Метод возвращает тип линейных размеров.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineSizeType() As eLinearSizeType

0 - постоянные.

1 - пропорциональные.

Пример:

Sub GetLineShiftHor
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим тип
MsgBox(lse.GetLineShiftHor)
End Sub


GetLineStep method (LineStyleElement)

Метод возвращает шаг между штрихами линии. (только для прерывистых линий)

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineStep() As Double

Пример:

Sub GetLineStep
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим шаг
MsgBox(lse.GetLineStep)
End Sub


GetLineType method (LineStyleElement)

Метод возвращает тип линии. Сплошная или прерывистая.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineType() As eLineType

0 - постоянная.

1 - прерывистая.

Пример:

Sub GetLineType
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим тип линии
MsgBox(lse.GetLineType)
End Sub


GetLineWidth method (LineStyleElement)

Метод возвращает толщину линии в миллиметрах.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineWidth() As Double

Пример:

Sub GetLineWidth
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим толщину линии
MsgBox(lse.GetLineWidth)
End Sub


GetLineWidthType method (LineStyleElement)

Метод возвращает тип толщины линии.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetLineWidthType() As eThickType

0 - постоянная.

1 - равно общей толщине плюс.

2 - пропорциональная.

Пример:

Sub GetLineWidthType
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' выводим тип толщины линии
MsgBox(lse.GetLineWidthType)
End Sub


GetSymbol method (LineStyleElement)

Метод возвращает символ объект Symbol.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbol() As Symbol

Пример:

Sub GetSymbol
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
Set lse = lses.Item(1)
' присваеваем sym объект Symbol
set sym = lse.GetSymbol
End Sub


GetSymbolAngle method (LineStyleElement)

Метод возвращает угол поворота символа.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolAngle() As Double

Пример:

Sub GetSymbolAngle
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 0 из набора LineStyleElements
Set lse = lses.Item(0)
' выводим угол поворота символа
MsgBox(lse.GetSymbolAngle)
End Sub


GetSymbolScale method (LineStyleElement)

Метод задает масштаб символа.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolScale() As Double

Пример:

Sub GetSymbolScale
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 0 из набора LineStyleElements
Set lse = lses.Item(0)
' выводим масштаб символа
MsgBox(lse.GetSymbolScale)
End Sub


GetSymbolShiftHor method (LineStyleElement)

Метод возвращает горизонтальный сдвиг символа.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolShiftHor() As Double

Пример:

Sub GetSymbolShiftHor
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 0 из набора LineStyleElements
Set lse = lses.Item(0)
' выводим горизонтальный сдвиг
MsgBox(lse.GetSymbolShiftHor)
End Sub


GetSymbolShiftVer method (LineStyleElement)

Метод возвращает вертикальный сдвиг символа.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolShiftVer() As Double

Пример:

Sub GetSymbolShiftVer
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 0 из набора LineStyleElements
Set lse = lses.Item(0)
' выводим вертикальный сдвиг
MsgBox(lse.GetSymbolShiftVer)
End Sub


GetSymbolSizeType method (LineStyleElement)

Метод возвращает линейные размеры символа.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolSizeType() As eLinearSizeType

0 - постоянные.

1 - пропорциональные.

Пример:

Sub GetSymbolSizeType
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 0 из набора LineStyleElements
Set lse = lses.Item(0)
' выводим линейные размеры
MsgBox(lse.GetSymbolSizeType)
End Sub


GetSymbolStep method (LineStyleElement)

Метод возвращает шаг между символами.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolStep() As Double

Пример:

Sub GetSymbolStep
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 0 из набора LineStyleElements
Set lse = lses.Item(0)
' выводим шаг между символами
MsgBox(lse.GetSymbolStep)
End Sub


GetSymbolWidthType method (LineStyleElement)

Метод возвращает тип толщины символа.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Function GetSymbolWidthType() As eLinearSizeType

0 - постоянные.

1 - пропорциональные.

2 - плюс общая толщина.

Пример:

Sub GetSymbolWidthType
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 0 из набора LineStyleElements
Set lse = lses.Item(0)
' выводим тип толщины символа
MsgBox(lse.GetSymbolWidthType)
End Sub


SetLineColor method (LineStyleElement)

Метод присваивает цвет линии объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineColor(nColor As Long)

nColor - цвет линии.

Пример:

sub LineStyleElement_SetLineColor
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 0
'присваиваем тип линии объекту lse
lse.SetLineType 0
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineDash method (LineStyleElement)

Метод присваивает длину штриха линии. (только для прерывистых линий)

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineDash(dDash As Double)

dDash - длина штриха.

Описание:

Для создания прерывистой линии нужно указать SetLineType = 1 (тип линии прерывистый).

Пример:

sub LineStyleElement_SetLineDash
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 1
'присваиваем длину штриха объекту lse
lse.SetLineDash	 3
'присваиваем шаг штриха объекту lse
lse.SetLineStep 10
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineEndCap method (LineStyleElement)

Метод присваивает тип конца линии.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineEndCap(eType As eEndCapType)

eType - Тип конца линии:

0 - закругленный. (значение по умолчанию)

1 - квадратный.

2 - прямой.

Пример:

sub LineStyleElement_SetLineColor
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 0
'присваиваем прямой конца линии объекту lse
lse.SetLineEndCap 2
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineShiftHor method (LineStyleElement)

Метод присваивает сдвиг штриха вдоль направления линии. (только для прерывистых линий)

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineShiftHor(dShift As Double)

dShift - величина сдвига вдоль направления линии.

Описание:

Смещение может иметь как положительное, так и отрицательное значение.

Пример:

sub LineStyleElement_SetLineShiftHor
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 1
'смещаем штрихи вдоль линии
lse.SetLineShiftHor 5
'присваиваем длину штриха объекту lse
lse.SetLineDash	 3
'присваиваем шаг штриха объекту lse
lse.SetLineStep 10
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineShiftVer method (LineStyleElement)

Метод присваивает сдвиг линии по вертикали.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineShiftVer(dShift As Double)

dShift - величина сдвига по вертикали.

Описание:

Смещение может иметь как положительное, так и отрицательное значение.

Пример:

sub LineStyleElement_SetLineShiftVer
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 0
'смещаем линию по вертикали.
lse.SetLineShiftVer 5
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineSizeType method (LineStyleElement)

Метод присваивает тип линейных размеров.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineSizeType(eType As eLinearSizeType)

eType - тип линейных размеров:

0 - постоянные.

1 - пропорциональные.

Пример:

sub LineStyleElement_SetLineShiftVer
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 0
'задаем постоянные линейные размеры
lse.SetLineSizeType 0
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineStep method (LineStyleElement)

Метод присваивает шаг между штрихами линии. (только для прерывистых линий)

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineStep(dStep As Double)

dStep - длина шага.

Описание:

Для создания прерывистой линии нужно указать SetLineType = 1 (тип линии прерывистый).

Пример:

sub LineStyleElement_SetLineStep
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 1
'присваиваем длину штриха объекту lse
lse.SetLineDash	 3
'присваиваем шаг штриха объекту lse
lse.SetLineStep 10
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineType method (LineStyleElement)

Метод задает тип линии. Сплошная или прерывистая.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineType(eType As eLineType)

eType - тип линии:

0 - постоянная.

1 - прерывистая.

Описание:

Линии по умолчанию постоянная.

Пример:

sub LineStyleElement_SetLineType
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse - прерывистая
lse.SetLineType 1
'присваиваем длину штриха объекту lse
lse.SetLineDash	 3
'присваиваем шаг штриха объекту lse
lse.SetLineStep 10
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineWidth method (LineStyleElement)

Метод задает толщину линии в миллиметрах.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineWidth(dWidth As Double)

dWidth - толщина.

Пример:

sub LineStyleElement_SetLineWidth
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 0
'присваиваем толщину линии объекту lse
lse.SetLineWidth 3
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetLineWidthType method (LineStyleElement)

Метод задает тип толщины линии.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetLineWidthType(eType As eThickType)

eType - тип толщины линии:

0 - постоянная.

1 - равно общей толщине плюс.

2 - пропорциональная.

Пример:

sub LineStyleElement_SetLineWidthType
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'присваиваем цвет линии объекту lse
lse.SetLineColor 255
'присваиваем тип линии объекту lse
lse.SetLineType 0
'присваиваем толщину линии объекту lse
lse.SetLineWidth 3
'присваиваем тип толщины линии объекту lse
lse.SetLineWidthType 0
'добавляем lse в объект lsd
lsd.AddLineElement lse
'добавляем объект lsd в коллекцию стилей линий слоя
L.LineStyles.AddItem lsd, -1
end sub


SetSymbol method (LineStyleElement)

Метод присваивает символ объекту LineStyleElement по его ID.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbol(Symbol As Symbol)

Symbol - ID символа.

Пример:

Sub SetSymbol
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем шаг между элементами
lse.SetSymbolStep 25
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


SetSymbolAngle method (LineStyleElement)

Метод задает угол поворота символа объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolAngle(degAngle As Double)

degAngle - угол поворота символа.

Пример:

Sub SetSymbolAngle
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем угол символу
lse.SetSymbolAngle 90.0
'задаем шаг между элементами
lse.SetSymbolStep 25
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


SetSymbolScale method (LineStyleElement)

Метод задает масштаб символа объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolScale(Scale As Double)

Scale - масштаб.

Пример:

Sub SetSymbolScale
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем шаг между элементами
lse.SetSymbolStep 25
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


SetSymbolShiftHor method (LineStyleElement)

Метод задает горизонтальный сдвиг символа объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolShiftHor(dShift As Double)

dShift - горизонтальный сдвиг.

Пример:

Sub SetSymbolShiftHor
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем горизонтальный сдвиг
lse.SetSymbolShiftHor 10
'задаем шаг между элементами
lse.SetSymbolStep 25
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


SetSymbolShiftVer method (LineStyleElement)

Метод задает вертикальный сдвиг символа объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolShiftVer(dShift As Double)

dShift - вертикальный сдвиг.

Пример:

Sub SetSymbolShiftVer
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем вертикальный сдвиг
lse.SetSymbolShiftVer 10
'задаем шаг между элементами
lse.SetSymbolStep 25
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


SetSymbolSizeType method (LineStyleElement)

Метод задает линейные размеры символа объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolSizeType(eType As eLinearSizeType)

eType - линейные размеры:

0 - постоянные.

1 - пропорциональные.

Пример:

Sub SetSymbolSizeType
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем линейные размеры - пропорциональные.
lse.SetSymbolSizeType 1
'задаем шаг между элементами
lse.SetSymbolStep 25
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


SetSymbolStep method (LineStyleElement)

Метод задает шаг между символами объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolStep(dStep As Double)

dStep - шаг между символами.

Пример:

Sub SetSymbolStep
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем шаг между элементами
lse.SetSymbolStep 25
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


SetSymbolWidthType method (LineStyleElement)

Метод присваивает тип толщины символа объекту LineStyleElement.

Применяется к:

LineStyleElement

Синтаксис:

Visual Basic:

Sub SetSymbolWidthType(eType As eLinearSizeType)

eType - тип толщины:

0 - постоянные.

1 - пропорциональные.

2 - плюс общая толщина.

Пример:

Sub SetSymbolWidthType
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект LineStyleDef
Set lsd = CreateObject ("ZuluLib.LineStyleDef")
'создаем объект LineStyleElement
Set lse = CreateObject ("ZuluLib.LineStyleElement")
'задаем символ с ID 2
lse.SetSymbol L.Symbols.ItemById(2)
'задаем масштаб элемента
lse.SetSymbolScale 1
'задаем шаг между элементами
lse.SetSymbolStep 25
'задаем тип толщины (постоянные)
lse.SetSymbolWidthType 0
'добавляем lse в объект lsd
lsd.AddSymbolElement	 lse
L.LineStyles.AddItem lsd, -1
End Sub


LineStyleElements object

Объект, содержащий описание и методы работы с набором одиночных линий/символов класса LineStyleElement.

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

GetElemVisible

Item

RemoveItem

SetElemVisible


Count property (LineStyleElements)

Метод возвращает число элементов, входящий в набор LineStyleElements.

Применяется к:

LineStyleElements

Синтаксис:

Visual Basic:

Property Count() As Long

read only

Пример:

Sub A_count
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' для проверки выводим число элементов в наборе lses
MsgBox(lses.Count)
End Sub


GetElemVisible method (LineStyleElements)

Возвращает признак отображения элемента по индексу.

Применяется к:

LineStyleElements

Синтаксис:

Visual Basic:

Function GetElemVisible(Index As Long) As Boolean

Index - Индекс.

Пример:

Sub GetElemVisible
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
'получаем признак отображения элемента по индексу 1.
MsgBox(lses.GetElemVisible(1))
End Sub


Item property (LineStyleElements)

Метод возвращает элемент LineStyleElement по индексу из набора LineStyleElements.

Применяется к:

LineStyleElements

Синтаксис:

Visual Basic:

Property Item(Index As Long) As ILineStyleElement

read only

Index - Индекс.

Пример:

Sub Item
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' объекту lse присваиваем объект LineStyleElement по индексу 1 из набора LineStyleElements
set lse = lses.Item(1)
' для проверки выводим вертикальный сдвиг объекта lse
MsgBox(lse.GetLineShiftVer)
End Sub


RemoveItem method (LineStyleElements)

Метод удаляет элемент LineStyleElement из набора LineStyleElements по индексу.

Применяется к:

LineStyleElements

Синтаксис:

Visual Basic:

Function RemoveItem(Index As Long) As Boolean

Index - Индекс.

Описание:

Метод RemoveItem не меняет стиль линии в структуре слоя. Он удаляет элемент только в наборе LineStyleElements, который в дальнешем можно использовать для создания новой линии или изменении текущей.

Пример:

Sub RemoveItem
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
' удаляем из lses (LineStyleElements) элемент по индексу 0
lses.RemoveItem(0)
'пересохраняем стиль линии по такому же ID
L.LineStyles.AddItem lses, 85
End Sub


SetElemVisible method (LineStyleElements)

Метод задает признак отображения элемента по индексу.

Применяется к:

LineStyleElements

Синтаксис:

Visual Basic:

Sub SetElemVisible(Index As Long, bVisible As Boolean)

Index - Индекс.

bVisible - признак (True или False).

Пример:

Sub SetElemVisible
Set L = Zulu.ActiveMapDoc.Layers.Active
'объекту lsd присваиваем стиль линии по ID 85
Set lsd = L.LineStyles.ItemById(85)
' объекту lses присваиваем объект LineStyleElements
Set lses = lsd.StyleElements
'задаем признак отображения элемента по индексу 1 (скрыть элемент)
lses.SetElemVisible 1, false
'пересохраняем стиль линии по такому же ID
L.LineStyles.AddItem lses, 85
End Sub


LineStyles object

Коллекция стилей линий слоя. Возвращается как свойство Layer.LineStyles.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

ItemById

AddItem

GetIdByIndex

GetIndexById

RemoveItem

ReplaceItem


AddItem Method (LineStyles)

Добавляет стиль линии в коллекцию стилей линий слоя.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Function AddItem(Style As LineStyleDef, Id As Long) As Long

Style - объект с добавляемым стилем линии.

Id - ID добавляемого стиля.

Описание:

Если значение ID = -1, то метод присвоит добавляемому стилю ID автоматически.

Если в коллекции уже присутствует стиль с заданным ID, то стиль добавлен не будет. Для замены стиля по существующему ID следует вызывать метод ReplaceItim.

В случае успеха метод возвращает ID добавленного стиля. В противном случае метод вернет -1.

Пример:

Dim Lsd As LineStyleDef

'Получаем стиль линии ID = 1 для первого слоя карты
Set Lsd = MapCtrl1.Map.Layers.Item(1).LineStyles.ItemById(1)

'Добавляем полученный стиль в коллекцию второго слоя карты
MapCtrl1.Map.Layers.Item(2).LineStyles.AddItem Lsd, -1


Count property (LineStyles)

Возвращает количество стилей линий в коллекции LineStyles.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetIdByIndex Method (LineStyles)

Возвращает ID стиля из коллекции стилей линий слоя по индексу.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Function GetIdByIndex(Index As Long) As Long

Index - порядковый номер стиля в коллекци (нумерация с нуля).

Описание:

Если стиль с указанным индексом существует, метод вернет ID стиля. В противном случае метод вернет -1.


GetIndexById Method (LineStyles)

Возвращает порядковый номер стиля из коллекции стилей линий по ID стиля.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Function GetIndexById(Id As Long) As Long

Id - ID стиля коллекции.

Описание:

Если стиль с указанным ID существует, метод вернет его порядковый номер в коллекции (нумерация с нуля). В противном случае метод вернет -1.


Item property (LineStyles)

Возвращает стиль линии в виде объекта LineStyleDef по индексу в коллекции.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Property Item(Index As Long) As LineStyleDef

read-only

Index - индекс стиля в коллекции (нумерация с нуля).

Пример:

Dim Lsd As LineStyleDef

'Получаем первый по порядку стиль линии активного слоя карты
Set Lsd = MapCtrl1.Map.Layers.Active.LineStyles.Item(0)


ItemById property (LineStyles)

Возвращает стиль линии в виде объекта LineStyleDef по ID стиля в коллекции.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Property ItemById(StyleID As Long) As LineStyleDef

read-only

StyleID - ID стиля.

Пример:

Dim Lsd As LineStyleDef

'Получаем стиль линии активного слоя карты c ID = 1
Set Lsd = MapCtrl1.Map.Layers.Active.LineStyles.ItemById(1)

'Проверяем результат
If  Lsd.Id  = -1 Then
   MsgBox "Стиль не найден"
End If


RemoveItem Method (LineStyles)

Удаляет стиль линии из коллекции стилей линий слоя.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Function RemoveItem(StyleID As Long) As Boolean

StyleID - ID удаляемого стиля.

Описание:

В случае успеха метод возвращает True. В противном случае метод вернет False.

Пример:

'Удаляем стиль линии  ID = 1 активного слоя карты
MapCtrl1.Map.Layers.Active.LineStyles.RemoveItem 1


ReplaceItem Method (LineStyles)

Заменяет стиль линии с заданным ID из коллекции стилей линий слоя на новый.

Применяется к:

LineStyles

Синтаксис:

Visual Basic:

Function ReplaceItem(StyleID As Long, Style As FillStyleDef) As Boolean

StyleID - ID удаляемого стиля.

Style - объект с новым стилем.

Описание:

В случае успеха метод возвращает True. В противном случае метод вернет False.

Пример:

'Получаем стиль линии активного слоя карты с ID = 1
Dim Lsd As LineStyleDef
Set Lsd = MapCtrl1.Map.Layers.Active.LineStyles.ItemById(1)

If  Lsd.Id  <> -1 Then
'Переименовываем стиль
Lsd.Name = Lsd.Name + "_new"

'Обновляем стиль слоя
MapCtrl1.Map.Layers.Active.LineStyles.ReplaceItem 1, Lsd

End If


MapDoc object

Объект, представляющий документ-карту системы Zulu. Возвращается как свойство компонента MapCtrl.Map, а также как свойство Zulu.Documents.Document.NativeDoc.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.MapDoc

CLSID:

{12507022-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Antialiasing

AutoRefresh

BackColor

Bookmarks

ContextMenuAvailable

CustomData

EditGrid

EditMode

ExtMode

Grid

InputPolyline

InputRectangle

Layers

MapGrid

MapStyle

Mode

Name

PathName

PrintingRectangle

Projections

Saved

SelectionParams

TargetParams

Views

AddLayer

CutLayersByRegion

DeleteSymbol

DoSelectByAttributes

DoSelectLayer

DoSelectLayerEx

DrawBoxToRaster

DrawBoxToStream

DrawToEMF

DrawToRaster

DrawToStream

EditorAdd

EditorDelete

EventEnable

ExecSQL

ExportToDxf

FindByKey

GetBounds

GetBoundsCRS

GetBoundsRectangle

GetCRS

GetInputStyle

GoToXY

InsertSymbol

IsActionAvail

IsEventEnabled

IsModeActive

LabelsEnable

LockRedraw

Open

PrintOut

PrintToRaster

Redo

Refresh

Save

SaveAs

SetCRS

SetCRSByCode

SetEditTypeAndMode

SetInputModeByType

SetInputStyle

Undo

UnlockRedraw

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.MapDoc
Set obj = New ZuluLib.MapDoc
//Delphi:
obj: IMapDoc;
obj := CoMapDoc.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.MapDoc")


AddLayer method (MapDoc)

Добавляет в карту слой с указанным именем.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub AddLayer(Path As String)

Path - имя или URL слоя.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
1 | Неопределённая ошибка. Возможно нарушена целостность слоя.
512 | Не удалось открыть слой.
519 | Превышено максимальное число загруженных слоёв.

771

Заблокировано. В обработчике события evMapBeforeLayerAdd был установлен skip_flag.

Пример:

'Добавление локального слоя
MapCtrl1.Map.AddLayer "d:\zulu 5.0\examples\termo\doma.b00"

'Добавление слоя с сервера
MapCtrl1.Map.AddLayer "zulu://zs.zulugis.ru:6473/Riga/ramis.zl"


Antialiasing property (MapDoc)

Возвращает\устанавливает признак сглаживания линий и границ полигонов при отображении объектов карты на экаране.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Antialiasing As Boolean


AutoRefresh property (MapDoc)

Возвращает\устанавливает интервал автообновления изображения (перерисовки) карты в секундах.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property AutoRefresh As Double


BackColor property (MapDoc)

Возвращает/устанавливает цвет фона окна карты в формате RGB, например, белый - 16777215, черный - 0.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property BackColor As Long


Bookmarks property (MapDoc)

Возвращает коллекцию закладок карты Bookmarks.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Bookmarks As Bookmarks

read-only


ContextMenuAvailable property (MapDoc)

Возвращает\устанавливает признак вывода на экран контекстного меню.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property ContextMenuAvailable As Boolean


CustomData property (MapDoc)

Возвращает интерфейс IMapCustomData, для чтения и записи дополнительных данных карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property CustomData As IMapCustomData

read-only


CutLayersByRegion method (MapDoc)

Записывает в новую карту результат пересечения слоев карты с заданной областью.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function CutLayersByRegion(Region, inCRS As CRS, destMapName As String, destMapUserName As String, DataSrc, flags As Long) As Long

Region - задает область пересечения.

На данный момент область можно задавать как Contour, PolyContour и Layer.Selection

inCRS - проекция в которой задана область.

destMapName - путь или URL карты для записи.

destMapUserName - пользовательское название карты.

DataSrc - имя источника базы данных.

Параметр может содержать либо строку конкретного источника данных, либо принимать одно из предопределенных значений:

$sqlite - база sqlite

$msaccess - база Microsoft Access

$localdb - база Microsoft SQL LocalDB

flags - флаги:

0x01 - наследовать ключи объектов,

0x08 - копировать только геометрию,

0x10 (16) - включать объекты полностью или частично попавшие в область,

0x20 (32) - включать объекты полностью попавшие в область,

0x10 + 0x20 - обрезать объекты по границе области,

0x80 (128) - помещать слои в подпапку с именем карты.


DeleteSymbolmethod (MapDoc)

Вызывает команду редактора «Удалить символьный объект, объединив участки».

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub DeleteSymbol()


DoSelectByAttributes method (MapDoc)

Вызывает диалог "Выделить объекты по атрибутам отображения" (Карта\Запрос\По атрибутам).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DoSelectByAttributes(Layer As Layer) As Boolean

Пример:

'вызвать диалог выделения по атрибутам отображения для активного слоя
MapCtrl1.Map.DoSelectByAttributes MapCtrl1.Map.Layers.Active


DoSelectLayer method (MapDoc)

Вызывает диалог со списком загруженных в окно карты слоев.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DoSelectLayer(Title As String) As Layer

Title - заголовок вызываемого диалога (если эта строка пустая, то по умолчанию заголовок диалога - «Загруженные слои»).

Описание:

После выбора в диалоге нужного слоя метод возвращает его в виде объекта Layer.

Пример:

'Делает активным слой, который был выбран в диалоге выбора слоев.
'Заголовок диалога  - «Загруженные слои»
MapCtrl1.Map.Layers.Activate (MapCtrl1.Map.DoSelectLayer(""))


DoSelectLayerEx method (MapDoc)

Вызывает диалог со списком загруженных в окно карты слоев.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DoSelectLayerEx(Title As String, Options as Long) As Layer

Title - заголовок вызываемого диалога (если эта строка пустая, то по умолчанию заголовок диалога - «Загруженные слои»).

Options - параметры диалога в виде битовых флагов:

1 - Не выводить опцию «Показывать имена файлов»,

2 - Не выводить в список имена растровых слоев.

Описание:

После выбора в диалоге нужного слоя метод возвращает его в виде объекта Layer.

Пример:

'Делает активным слой, который был выбран в диалоге выбора слоев.
'Заголовок диалога  - «Загруженные слои»
MapCtrl1.Map.Layers.Activate (MapCtrl1.Map.DoSelectLayer("", 0))


DrawBoxToRaster method (MapDoc)

Экспорт фрагмента карты, заданного прямоугольной областью в координатах местности, в растровый файл (bmp, jpg, gif, png).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DrawBoxToRaster(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, BkColor As Long, Transparent As Boolean, Width As Long, Height As Long, RasterType As Long, Filename As String) As Boolean

X1, Y1, X2, Y2 - координаты прямоугольной области карты.

BkColor - цвет фона карты.

Transparent - признак прозрачности фона карты.

Width - ширина в пикселах.

Height - высота в пикселах.

RasterType - параметр, определяющий формат растрового файла:

0 - BMP

1 - JPG,

2 - GIF,

4 - PNG,

FileName - полное имя растрового файла.


DrawBoxToStream method (MapDoc)

Экспорт фрагмента карты, заданного прямоугольной областью в координатах местности, в виде растрового изображения (bmp, jpg, gif, png), в поток ISteram.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DrawBoxToStream(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, BkColor As Long, Transparent As Boolean, Width As Long, Height As Long, RasterType As Long, Stream As Unknown) As Boolean

X1, Y1, X2, Y2 - координаты прямоугольной области карты.

BkColor - цвет фона карты.

Transparent - признак прозрачности фона карты.

Width - ширина в пикселах.

Height - высота в пикселах.

RasterType - параметр, определяющий формат растрового файла:

0 - BMP,

1 - JPG,

2 - GIF,

4 - PNG,

Stream - COM-интерфейс IStream для записи изображения.


DrawToEMF method (MapDoc)

Экспорт карты в файл формата Windows Enhanced Metafile (*.emf).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DrawToEMF(Filename As String, Width As Long, Height As Long, Xc As Double, Yc As Double, Scale As Double, Options As Long) As Boolean

Fileтame - имя файла.

Width - ширина в мм.

Height - высота в мм.

Xc, Yc - координаты центра изображения.

Scale - масштаб изображения.

Options - зарезервировано, должно быть равно 0.


DrawToRaster method (MapDoc)

Экспорт карты в растровый файл (bmp, jpg, gif, png).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DrawToRaster(FileName As String, Width As Long, Height As Long, Xc As Double, Yc As Double, Scale As Double, RasterType As Long) As Boolean

FileName - полное имя растрового файла.

Width - ширина изображения в пикселах.

Height - высота изображения в пикселах.

Xc, Yc - центр изображения в координатах местности.

Scale - масштаб отображения.

RasterType - параметр, определяющий формат растрового файла:

0 - BMP,

1 - JPG,

2 - GIF,

4 - PNG.

Если к параметру RasterType добавить бит 0x800 (2048), то вместе с растровым файлом создастся файл описателя растрового объекта с тем же именем и расширением ZRS.

Пример:

        Dim X as Double
        Dim Y as Double
        Dim S as Double
        Dim W as Long
        Dim H as Long

        X = MapCtrl1.MapX
        Y = MapCtrl1.MapY
        S = MapCtrl1.MapScale
        W =  MapCtrl1.Width / 2
        H =  MapCtrl1.Height / 2

        MapCtrl1.Map.DrawToRaster "d:\aaa.bmp", W, H, X, Y, S, 0
        MapCtrl1.Map.DrawToRaster "d:\aaa.jpg", W, H, X, Y, S, 1 + 2048


DrawToStream method (MapDoc)

Запись фрагмента карты в виде растрового изображения в поток ISteram (bmp, jpg, gif, png).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function DrawToStream(Width As Long, Height As Long, Xc As Double, Yc As Double, Scale As Double, RasterType As Long, Stream As Unknown) As Boolean

Width - ширина изображения в пикселах.

Height - высота изображения в пикселах.

Xc, Yc - центр изображения в координатах местности.

Scale - масштаб отображения.

RasterType - параметр, определяющий формат растрового файла:

0 - BMP,

1 - JPG,

2 - GIF,

4 - PNG,

Stream - COM-интерфейс IStream для записи изображения.


EditGrid property (MapDoc)

Возвращает EditGrid с информацией о сетке редактора карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property EditGrid As EditGrid

read-only


EditMode property (MapDoc)

Возвращает/устанавливает режим редактирования окна карты набора режимов eEditMode.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property EditMode As eEditMode

Описание:

Режимы редактирования - это режимы интерактивного ввода и редактирования элементов слоя с экрана.

Следует иметь в виду, что установка какого-либо режима редактирования возможна только в том случае, когда в карте имеется редактируемый слой, то есть установлено свойство MapDoc.Layers.EditLayer.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

1

Попытка установить несуществующий режим.

Пример:

'Устанавливаем редактируемый слой – Кварталы
 MapCtrl1.Map.Layers.EditLayer = Cells

'Режим редактирования – ввод заполненного прямоугольника
MapCtrl1.Map.EditMode = eEditModeFillRect


EditorAdd method (MapDoc)

Добавляет объект или элемент (дублирует команду Добавить элемента управления MapCtrl).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub EditorAdd()


EditorDelete method (MapDoc)

Удаляет объект или элемент (дублирует команду Удалить элемента управления MapCtrl).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub EditorDelete()


EventEnable method (MapDoc)

Разрешает или запрещает обработку ряда событий карты из набора eEventEnable.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub EventEnable(Event As eEventEnable, Enable As Boolean)

Event - событие.

Enable - признак вызова события (True - вызывается, False - не вызывается).


ExecSQL method (MapDoc)

Выполняет произвольный SQL запрос в контексте указанной карты.

Применяется к:

MapDoc

Синтаксис:

Function ExecSQL(SqlText As String, [Context]) As IZSqlResult

SqlText - текст SQL запроса;

Context - необязательный параметр в виде объекта ZSqlContext, задающий дополнительный контекст запроса.

Описание:

Метод выполняет указанный в SqlText запрос и возвращает результат в виде объекта IZSqlResult. В параметре Context можно задать дополнительный контекс запроса.


ExportToDxf method (MapDoc)

Экспортирует слои карты в файл в формате DXF AutoCAD.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function ExportToDxf(DxfName As String, CfgName As String, Flags As Long) As Boolean

DxfName - имя файла для записи.

CfgName - имя файла конфигурации для экспорта. При отсутствии файла конфигурации следует задать пустую строку.

Flags:

  • 0 - экспортировать все объекты;

  • 1 - экспортировать только выделенные объекты;

    [Предупреждение] Предупреждение

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

  • 2 - экспортировать, используя стили текущих тематических раскрасок;

  • 4 - экспортировать невидимые объекты и надписи;

  • 8 - экспортировать бирки (надписи).

Пример:

Sub exportMapDocToDxf
    Set out = Zulu.OpenOutputChannel("")
    out.Clear
    out.Put "Export Current Map to DXF" + CHR(10)

    Set map = Zulu.ActiveMapDoc

    flags = 0
    flags = flags Or 1 'Только выделенные объекты. Если группы выделенных объектов не указано, то ничего не будет экспортировано.
    flags = flags Or 2 'Брать стиль текущих тематических раскрасок
    flags = flags Or 4 'Экспортировать невидимые объекты и надписи
    flags = flags Or 8 'Экспортировать бирки

    if(map.ExportToDxf ("D:\Test\Dxf\out.dxf", "D:\Test\Dxf\Shablon_TC.cfg", flags)=True)Then
        out.Put "OK" + CHR(10)
    Else
        out.Put "Fail" + CHR(10)
    End If

End sub


ExtMode property (MapDoc)

Зарезервирован.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property ExtMode As Object


FindByKey method (MapDoc)

Ищет и выделяет объект активного слоя по заданному ID (выделенный объект начинает мигать).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub FindByKey(Key As Long)

Key - ID искомого объекта.

Описание:

Если объект с заданным ключом найден, то карта перестроится так, чтобы объект был виден. При этом он замигает, то есть свойства MapCtrl.CurrentID и Layer.CurrentID получат значение заданного ID.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

520

Элемент с указанным ключом не найден.

Пример:

'В активном слое Кварталы выделяет элемент с ключом
Cells.Active = True
MapCtrl1.Map.FindByKey 7


GetAreaDisplayUnits method (MapDoc)

Возвращает единицы отображения измеряемых инструментом "линейка" площадей.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetAreaDisplayUnits() As eAreaDisplayUnits


GetBounds method (MapDoc)

Получить габариты карты, как объединение габаритов всех входящих в карту слоев.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub GetBounds(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double)

X1, Y1 - координаты левого верхнего угла карты.

X2, Y2 - координаты правого нижнего угла карты.


GetBoundsCRS method (MapDoc)

Возвращает габариты карты в системе координат, заданной строковым кодом.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetBoundsCRS(sCRS As String, X1 As Double, Y1 As Double, X2 As Double, Y2 As Double) As Long

sCRS - код системы координат, в которой определяются габариты карты.

X1, Y1 - координаты левого верхнего угла карты.

X2, Y2 - координаты правого нижнего угла карты.

Описание:

Если метод выполнен успешно, он вернет 0, а в переменные X1, Y1, X2, Y2 будут записаны координаты углов карты. В противном случае метод вернет -1.

Пример:

Dim X1 As Double
Dim Y1 As Double
Dim X2 As Double
Dim Y2 As Double

'Получаем габариты карты для сферического Меркатора WGS 84
MapCtrl1.Map.GetBoundsCRS "EPSG:3857", X1, Y1, X2, Y2


GetBoundsRectangle method (MapDoc)

Возвращает объект ZRectangle, содержащий габариты карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


GetCoordinateDisplayUnits method (MapDoc)

Возвращает единицы отображения текущих координат карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetCoordinateDisplayUnits() As eCoordDisplayUnits


GetCRS method (MapDoc)

Метод возвращает объект CRS, описывающий систему координат, в которой отображаются данные в окне карты (проекция отображения).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetCRS() As CRS


GetDistanceDisplayUnits method (MapDoc)

Возвращает единицы отображения измеряемых инструментом "линейка" расстояний.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetDistanceDisplayUnits() As eDistanceDisplayUnits


GetInputStyle method (MapDoc)

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

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetInputStyle() As ElemStyle

Описание:

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

Метод возвращает стили редактора карты только в том случае, если редактор в данный момент работает, т.е свойство MapDoc.Layers.EditLayer - не пустой объект. В противном случае метод вернет объект ElemStyle, заполненный параметрами по умолчанию.

Пример:

Dim st As ElemStyle

'Если редактор карты включен
If TypeName(MapCtrl1.Map.Layers.EditLayer) <> "Nothing" Then
    'Получаем текущий стиль примитивов редактора
    Set st = MapCtrl1.Map.GetInputStyle

    'Устанавливаем красный цвет заливки полигонов
    st.PatColor = 255

    MapCtrl1.Map.SetInputStyle st

End If


GetMeasureType method (MapDoc)

Возвращает способ измерения расстояний, длин, периметров и площадей объектов.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function GetMeasureType() As eMeasureType


GoToXY method (MapDoc)

Устанавливает новый центр отображения карты (свойства MapCtrl.MapX и MapCtrl.MapY).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub GoToXY(X As Double, Y As Double)

X, Y - новые координаты центра карты в сантиметрах.

Описание:

При задании нового центра карты изображение будет перестроено.

Пример:

MapCtrl1.Map.GoToXY 576921, 974661


Grid property (MapDoc)

Возвращает/устанавливает размер отображаемой планшетной сетки.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Grid As eMapGrid

Описание:

Это свойство задает несколько исторически сложившихся предопределенных размеров планшетной сетки.


InputPolyline property (MapDoc)

Возвращает вводимую в интерактивном редакторе ломаную.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property InputPolyline As PolyLine

read-only


InputRectangle property (MapDoc)

Возвращает вводимый в интерактивном редакторе прямоугольник.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property InputRectangle As ZRectangle


InsertSymbol method (MapDoc)

Вставить символьный объект с разбиением участка на два (дублирует команду Символ элемента управления MapCtrl).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub InsertSymbol()


IsActionAvail method (MapDoc)

Не используется.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function IsActionAvail(Action As Long) As Boolean


IsEventEnabled method (MapDoc)

Возвращает признак разрешения на обработку события из набора eEventEnable.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function IsEventEnabled(Event As eEventEnable) As Boolean

Event- событие.

Описание:

Метод возвращает True, если обработка указанного события разрешена, и False в противном случае.


IsModeActive method (MapDoc)

Не используется.

Применяется к:

MapDoc

Синтаксис:

Function IsModeActive(Mode As Long) As Boolean


LabelsEnable method (MapDoc)

Включает или отключает все надписи для всех слоев карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub LabelsEnable(bState As Boolean)

bState - True или False.


Layers property (MapDoc)

Возвращает коллекцию слоев Layers, загруженных в карту.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Layers As Layers

read-only

Описание:

Свойство обеспечивает доступ к слоям карты.


LockRedraw method (MapDoc)

Увеличивает на единицу счетчик блокировки отрисовки карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function LockRedraw (Flags as Long) As Long

Flags - зарезервирован, должен быть 0

Описание:

Первый вызов метода LockRedraw блокирует отрисовку карты. Это позволяет выполнять различные операции с составом карты, настройками, загрузкой/выгрузкой слоев, изменением положения слоев относительно друг друга и т.д. без лишних пестроений карты. Последующие вызовы будут увеличивать на единицу счетчик блокировки. Для разблокирования возможности отрисовки карты следует вызвать парный метод UnlockRedraw такое же количество раз, что и LockRedraw.

Метод возвращает текущее значение счетчика блокировок.


MapStyle method (MapDoc)

Возвращает объект IMapStyle, содержащий ряд свойств, определяющих стиль отображения карты.

Применяется к:

MapDoc

Синтаксис:

Property MapStyle As IMapStyle

read-only


Mode property (MapDoc)

Возвращает/устанавливает режим работы окна карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Mode As eMode

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

1

Попытка установить несуществующий режим.


Name property (MapDoc)

Возвращает/устанавливает пользовательское название карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Name As String

Пример:

'Выводит название карты в текстовом поле
Text1 = MapCtrl1.Map.Name


Open method (MapDoc)

Открывает карту по имени файла или URL.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function Open(Path As String) As Boolean

Описание:

Функция возвращает True, если открытие карты прошло успешно, в противном случае функция вернет False.

Пример:

'Открытие локальной карты
MapCtrl1.Map.Open  "d:\zulu 5.0\examples\termo\teplo.zmp"

'Открытие карты с сервера
MapCtrl1.Map.Open "zulu://zs.zulugis.ru:6473/Riga/riga.zmp"

'Открытие карты с сервера с авторизацией по имени пользователя и паролю
MapCtrl1.Map.Open "zulu://login:password@zs.zulugis.ru:6473/Riga/riga.zmp"

'Открытие карты с сервера с авторизацией по учетным сведениям Windows
MapCtrl1.Map.Open "zulu://$winnt$@zs.zulugis.ru:6473/Riga/riga.zmp"


PathName property (MapDoc)

Возвращает полный путь или URL карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property PathName As String

read-only

Описание:

Для локальныйх данных строка является полным именем файла, например, d:\zulu\samples\map1.zmp.

Для серверной карты это URL по протоколу zulu, например, zulu://zs.zulugis.ru:6473/samples/map1.zmp.


PrintingRectangle property (MapDoc)

Устанавливает/возвращает прмоугольную область в координатах местности для печати карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property PrintingRectangle As ZRectangle


PrintOut method (MapDoc)

Запускает процесс печати карты с параметрами, заданными в объекте PrintInfo

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function PrintOut(Path As PrintInfo) As Boolean

Пример печати карты:

'VBScript:
' ActiveX enumeration values definitions start (do not change!)
Const ePrintFitToPage = 2
Const ePrintExplicitRect = 64
' ActiveX enumeration values definitions end

'Пример печати карты на одной странице по габаритам активного слоя
Sub PrintTest

'Получаем активную карту
Set doc = zulu.ActiveMapDoc

'Создаем объект для настройки печати
Set P = CreateObject("ZuluLib.PrintInfo")

'Получаем габариты слоя в проекции карты
Set rect = doc.Layers.Active.GetBoundsCRSRectangle(doc.GetCRS)

'Задаем область печати, с указанием, к какой проекции относится этот прямоугольник
P.SetAreaRectangle doc.GetCRS, rect

'Печать на одну страницу заданной области
P.Options = ePrintFitToPage + ePrintExplicitRect

'Запускаем процесс печати
doc.PrintOut P

End Sub


PrintToRaster method (MapDoc)

Выводит изображение карты в растр с параметрами, заданными в объекте PrintToRasterParams

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function PrintToRaster(iParams As String, iParams As PrintToRasterParams) As Long

Пример записи карты в растровый файл:

'VBScript:
'Пример печати карты в растр по габаритам активного слоя
Sub PrintTest

'Получаем активную карту
Set doc = zulu.ActiveMapDoc

'Создаем объект для задания параметров растра
Set P = CreateObject("ZuluLib.PrintToRasterParams")

'Получаем габариты слоя в проекции карты
Set rect = doc.Layers.Active.GetBoundsCRSRectangle(doc.GetCRS)

'Задаем область печати по габаритам акивного слоя
P.SetBoundsRectangle rect

'Задаем масштаб печати
P.SetScale 1000000

'Задаем формат PNG
P.SetRasterType 4

'Запись в растровый файл
doc.PrintToRaster "d:\test\raster.bmp", P

End Sub


Projections property (MapDoc)

Возвращает коллекцию поддерживаемых системой проекций.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Projections As IProjections

read-only


Redo method (MapDoc)

Выполяет последнюю отмененную операцию редактирования слоя (дублирует команду Вернуть элемента управления MapEditCtrl).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub Redo()


Refresh method (MapDoc)

Обновить изображение карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub Refresh(bRedraw As Boolean)

bRedraw - способ перерисовки карты:

True - полная перестройка всей карты,

False - ускоренная перерисовка - обновление текущего образа карты, запомненного в памяти.


Save method (MapDoc)

Сохраняет карту.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function Save() As Boolean

Описание:

Сохранение происходит в файл или по URL, определяемый свойством PathName.

Метод возвращает True, если запись карты в файл прошла успешно, в противном случае метод вернет False.


SaveAs method (MapDoc)

Сохраняет карту в файле с указанным именем.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SaveAs(Path As String) As Boolean

Path - имя файла или URL на сервере для сохранения карты.

Описание:

Метод возвращает True, если запись карты в файл прошла успешно, в противном случае метод вернет False.


Saved property (MapDoc)

Определяет, была ли изменена карта со времени последнего сохранения.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Saved As Boolean

Описание:

Если карта не была изменена, то свойство возвращает True, иначе - False.


SelectionParams property (MapDoc)

Устанавливает стиль выделения объектов.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property SelectionParams As HighlightParams

Пример:

Dim params As HighlightParams

Set params = MapCtrl1.Map.SelectionParams

params.FillColor =1
params.FillStyle = 5

params.LineWidth = 5
params.LineStyle = 1

MapCtrl1.Map.SelectionParams = params

MapCtrl1.Map.Layers.Active.Selection.SelectAll
MapCtrl1.Map.Layers.Active.Selection.Area


SetAreaDisplayUnits method (MapDoc)

Устанавливает единицы отображения измеряемых инструментом "линейка" площадей.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetAreaDisplayUnits(eUnits As eAreaDisplayUnits) As Boolean


SetCoordinateDisplayUnits method (MapDoc)

Устанавливает единицы отображения текущих координат карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetCoordinateDisplayUnits(eUnits As eCoordDisplayUnits) As Boolean


SetCRS method (MapDoc)

Метод задает проекцию отображения данных в окне карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetCRS(inCRS As CRS) As Long

inCRS - объект, описывающий систему координат.


SetCRSByCode method (MapDoc)

Метод задает проекцию отображения данных в окне карты путем задания кода проекции.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetCRSByCode(sCRS As String) As Long

sCRS - строковый код системы кординат.

Описание:

Строковый код системы координат представляет собой код по классификатору EPSG (European Petroleum Survey Group). Строка формируется из префикса EPSG: и числового кода, например EPSG:3785. Если заданный код распознается системой, то входящие данные будут восприниматься как данные в указанной системе координат.


SetDistanceDisplayUnits method (MapDoc)

Устанавливает единицы отображения измеряемых инструментом "линейка" расстояний.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetDistanceDisplayUnits(eUnits As eDistanceDisplayUnits) As Boolean


SetEditTypeAndMode method (MapDoc)

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

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub SetEditTypeAndMode()

Описание:

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


SetInputModeByType method (MapDoc)

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

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetInputModeByType(nType As Long, nMode As Long) As Long

nType - ID типа вводимого объекта.

nMode - номер режима вводимого объекта.

Описание:

Если редактор карты в данный момент работает (свойство MapDoc.Layers.EditLayer - не пустой объект) и в структуре редактируемого слоя присутствует указанный тип, с указанный режимом, редактор переключится в режим ввода типового объекта с таким типом и режимом. В этом случае метод вернет 0. В противном случае метод вернет -1.

В зависимости от графического типа вводимого объекта, редактор перейдет в один из режимов (см. MapDoc.EditMode):

для площдных объектов: eEditModePolygon.

для площдных объектов: eEditModePolyline.

для символьных объектов: eEditModeSymbol.

Пример:

Dim st As ElemStyle

'Если редактор карты включен
If TypeName(MapCtrl1.Map.Layers.EditLayer) <> "Nothing" Then
    'Получаем текущий стиль примитивов редактора
    Set st = MapCtrl1.Map.GetInputStyle

    'Устанавливаем красный цвет заливки полигонов
    st.PatColor = 255

    MapCtrl1.Map.SetInputStyle st

End If


SetInputStyle method (MapDoc)

Устанавливает текущий стиль ввода графических примитивов интерактивного редактора слоя карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetInputStyle(Style As ElemStyle) As Long

Style - объект со стилями графических объектов.

Описание:

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

Метод установит стили редактора карты только в том случае, если редактор в данный момент работает, т.е свойство MapDoc.Layers.EditLayer - не пустой объект. В противном случае метод не окажет на карту никакого воздействия.

Пример:

Dim st As ElemStyle

'Если редактор карты включен
If TypeName(MapCtrl1.Map.Layers.EditLayer) <> "Nothing" Then
    'Получаем текущий стиль примитивов редактора
    Set st = MapCtrl1.Map.GetInputStyle

    'Устанавливаем красный цвет заливки полигонов
    st.PatColor = 255

    MapCtrl1.Map.SetInputStyle st

End If


SetMeasureType method (MapDoc)

Устанавливает способ измерения расстояний, длин, периметров и площадей объектов.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function SetMeasureType(eUnits As eMeasureType) As Boolean


TargetParams property (MapDoc)

Устанавливает стиль отображения мишени.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property TargetParams As HighlightParams


Undo method (MapDoc)

Отменяет последнюю выполненную операцию редактирования слоя (дублирует команду Отменить элемента управления MapEditCtrl).

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Sub Undo()


UnlockRedraw method (MapDoc)

Уменьшает на единицу счетчик блокировки отрисовки карты.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Function UnockRedraw (Flags as Long) As Long

Flags - зарезервирован, должен быть 0

Описание:

Метод UnockRedraw является парным для метода LockRedraw. Количество вызовов UnlockRedraw должно быть равно количеству вызовов метода LockRedraw Если первый вызов LockRedraw блокирует отрисовку карты, то последний вызов метода UnlockRedraw ее снова разрешает.

Метод возвращает текущее значение счетчика блокировок.


Views property (MapDoc)

Возвращает коллекцию видов данной карты IMapViews.

Применяется к:

MapDoc

Синтаксис:

Visual Basic:

Property Views As IMapViews

read-only


MapGrid object

Объект для настроек сетки карты MapDoc.

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства:

Свойства

Color

OffsetX, OffsetY

OffsetX

OffsetY

StepX

StepY

Style

Visible


Color property (MapGrid)

Возвращает/устанавливает цвет сетки карты в формате RGB.

Применяется к:

MapGrid

Синтаксис:

Visual Basic:

Property Color As Long

Пример:

'Цвет сетки - красный
MapCtrl1.Map.MapGrid.Color = 255

'Вывести сетку на экран
MapCtrl1.Map.MapGrid.Visible = True


OffsetX property (MapGrid)

Возвращают координату по оси Y опорной точки сетки карты в сантиметрах.

Применяется к:

MapGrid

Синтаксис:

Visual Basic:

Property OffsetY() As Double

read only

Пример:

Sub OffsetY
'Получаем активную карту
Set L = Zulu.ActiveMapDoc
'Выводим координату опорной точки
MsgBox(L.MapGrid.OffsetY)
End Sub


StepX property (MapGrid)

Возвращают величину шага сетки карты по оси Y в сантиметрах.

Применяется к:

MapGrid

Синтаксис:

Visual Basic:

Property StepX() As Double

read only

Пример:

Sub StepY
'Получаем активную карту
Set L = Zulu.ActiveMapDoc
'Выводим  величину шага сетки
MsgBox(L.MapGrid.StepY)
End Sub


Visible property (MapGrid)

Возвращает/устанавливает признак отображения сетки карты в окне карты.

Применяется к:

MapGrid

Синтаксис:

Visual Basic:

Property Visible As Boolean

Пример:

'Цвет сетки - черный
MapCtrl1.Map.MapGrid.Color = 0

'Вывести сетку на экран
MapCtrl1.Map.MapGrid.Visible = True


NetWorkObject object

Представляет объект сети. Является образующим элементом коллекции NetworkObjects.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Key

KeyBegin

KeyEnd

ModeID

SwitchState

Tag

TypeID


Key property (NetWorkObject)

Возвращает ключ объекта.

Применяется к:

NetWorkObject

Синтаксис:

Visual Basic:

PropertyKey As Long


KeyBegin property (NetWorkObject)

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

Применяется к:

NetWorkObject

Синтаксис:

Visual Basic:

PropertyKeyBegin As Long

read-only


KeyEnd property (NetWorkObject)

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

Применяется к:

NetWorkObject

Синтаксис:

Visual Basic:

Property KeyEnd As Long

read only


ModeID property (NetWorkObject)

Возвращает номер режима объекта.

Применяется к:

NetWorkObject

Синтаксис:

Visual Basic:

Property ModeId As Long

read only


SwitchState property (NetWorkObject)

Возвращает свойство проводимости элемента сети из набора eSwitchState.

Применяется к:

NetWorkObject

Синтаксис:

Property SwitchState As eSwitchState

read-only


Tag property (NetWorkObject)

Возвращает атрибут типа объекта как объекта инженерной сети из набора eObjectTypeTag.

Применяется к:

NetWorkObject

Синтаксис:

Visual Basic:

Property Tag As eObjectTypeTag

read only


TypeID property (NetWorkObject)

Возвращает ID типа объекта.

Применяется к:

NetWorkObject

Синтаксис:

Visual Basic:

Property TypeID As Long

read only


NetworkObjects object

Представляет коллекцию объектов сети. Возвращается как свойство Layer.NetWorkObjects.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

Key

KeyBegin

KeyEnd

LargestId

ModeId

NeighboursCount

SwitchState

TypeID

GetIncidentKeys

GetIndexByKey

GetItemByKey

SaveAsDBF

SaveObjectToArray


Count property (NetWorkObjects)

Возвращает количество элементов в данной коллекции.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetIncidentKeys method (NetworkObjects)

Возвращает коллекцию ключей объектов, связанных с данным.

Применяется к:

NetworkObjects

Синтаксис:

Visual Basic:

Function GetIncidentKeys(ElemID As Long, Relationship As eIncidentRelationship) As ElementKeys

ElemID - ID объекта, для которого определяются связанные с ним объекты.

Relationship - критерий связи имеет смысл только для узла и принимает значение из набора eIncidentRelationship.

Описание:

Для узлового объекта возвращаются ключи связанных с ним ребер графа (линейных объектов).

Для линейного объекта возвращаются ключи узлов на концах объекта.


GetIndexByKey method (NetworkObjects)

Возвращает индекс объекта в коллекции по значению его ID.

Применяется к:

NetworkObjects

Синтаксис:

Visual Basic:

Function GetIndexByKey(nKey As Long) As Long

nKey- ID объекта.

Описание:

Если объект с заданным ID найден в коллекции, то метод вернет его номер (индекс) в списке объектов. В противном случае метод вернет -1.


GetItemByKey method (NetworkObjects)

Возвращает элемент из коллекции по ключу.

Применяется к:

NetworkObjects

Синтаксис:

Visual Basic:

Function GetItemByKey(ElemID As Long) As NetworkObject

ElemID - ID объекта.

Описание:

В случае, если такого объекта в коллекции не существует, метод вернет Null.

Пример:

Sub NetworkObjects_GetItemByKey
'Задаем константу равное 3. То есть выбираем все объекты сети
Const eNetworkAll = 3
Set L = Zulu.ActiveMapDoc.Layers.Active
'присваиваем переменной nwo коллекцию сети с фильтром по всем объектам
Set nwo = L.NetworkObjects (eNetworkAll)
'присваиваем переменной output объект, имеющий данный ключ
Set output = nwo.GetItemByKey(60)
'Проверяем если переменной output присвоился объект
If output Is Nothing Then
    MsgBox("Объект не найдет")
Else
'Выводим номер типа полученного объекта в отдельное окно для проверки
    MsgBox(output.TypeID)
End if
End Sub


Item property (NetWorkObjects)

Возвращает элемент из коллекции по индексу.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property Item(Index As Long) As NetworkObject

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


Key property (NetWorkObjects)

Возвращает ключ элемента из коллекции по индексу.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property Key(Index As Long) As Long

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


KeyBegin property (NetWorkObjects)

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

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property KeyBegin(Index As Long) As Long

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


KeyEnd property (NetWorkObjects)

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

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property KeyEnd(Index As Long) As Long

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


LargestId property (NetworkObjects)

Возвращает ключ элемента из коллекции, который имеет самое большое значение.

Применяется к:

NetworkObjects

Синтаксис:

Visual Basic:

Property LargestId() As Long

read-only

Описание:

Если ключ не был найдет, то свойство вернет значение -1.

Пример:

Sub NetworkObjects_LargestId
'Задаем константу равное 3. То есть выбираем все объекты сети
Const eNetworkAll = 3
Set L = Zulu.ActiveMapDoc.Layers.Active
'присваиваем переменной nwo коллекцию сети с фильтром по всем объектам
Set nwo = L.NetworkObjects (eNetworkAll)
'присваиваем переменной output значение наибольшего ключа
output = nwo.LargestId
'Выводим значение переменной в отдельное окно для проверки
MsgBox(output)
End Sub


ModeID property (NetWorkObjects)

Возвращает номер режима объекта по индексу.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property ModeId(Index As Long) As Long

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


NeighboursCount property (NetWorkObjects)

Возвращает число элементов сети, связанных с данным eSwitchState enum.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property NeighboursCount(Index As Long) As Long

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


SaveAsDBF method (NetWorkObjects)

Записывает свойства объектов коллекции в таблицу в формате dBase.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Function SaveAsDBF(Filename As String) As Long

Filename - имя dbf файла для записи.


SaveObjectToArray method (NetWorkObjects)

Записывает свойства элемента коллекции в виде массива целых чисел в переменную VARIANT с типом VT_I4 | VT_ARRAY.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Function SaveObjectToArray(Index As String) As Long

Index - Индекс сохраняемого объекта в коллекции.


SaveToArray method (NetWorkObjects)

Сохраняет свойства объектов коллекции в двумерный массив SafeArray типа Long.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Function SaveToArray()

Описание:

Размерность массива Nx8, где N равно количеству элементов в коллекции (Count).

Свойства элемента коллекции в восьми колонках массива следуют в следующем порядке:

0 - Key

1 - TypeID

2 - ModeId

3 - Tag

4 - SwitchState

5 - KeyBegin

6 - KeyEnd

7 - NeighboursCount

Пример:

Private Sub Command1_Click()

    Dim nw As NetworkObjects

    'Получаем описание сети слоя
    Set nw = MapCtrl1.Map.Layers.Active.NetworkObjects(eNetworkAll)

    Dim v As Variant

    'Сохраняем свойства объектов сети в массив
    v = nw.SaveToArray

    If TypeName(v) = "Long()" Then

        'Распечатываем массив в список
        List1.Clear

        For i = 0 To nw.Count - 1

            List1.AddItem str(v(i, 0)) + "," + str(v(i, 1)) + "," + str(v(i, 2)) + "," + _
                          str(v(i, 3)) + "," + str(v(i, 4)) + "," + str(v(i, 5)) + "," + _
                          str(v(i, 6)) + "," + str(v(i, 7))

        Next i

    End If

End Sub


SwitchState property (NetWorkObjects)

Возвращает по индексу свойство проводимости элемента сети из набора eSwitchState.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property SwitchState(Index As Long) As eSwitchState

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


Tag property (NetWorkObjects)

Возвращает по индексу атрибут типа объекта как объекта инженерной сети из набора eObjectTypeTag.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property Tag(Index As Long) As eObjectTypeTag

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


TypeID property (NetWorkObjects)

Возвращает ID типа объекта по индексу.

Применяется к:

NetWorkObjects

Синтаксис:

Visual Basic:

Property TypeId(Index As Long) As Long

read-only

Index - индекс элемента в коллекции.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 1..Count.


NetworkTools object

Содержит свойства и методы для топологического анализа сети. Объект является подобъектом объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Flags

FlagsVisible

Results

ResultsColor

ResultsVisible

State

AddFlag

AddFlags

ClearFlags

ClearLastFlag

ClearOverloadedStates

ClearOverloadElemStates

ClearResults

FindConnected

FindDisconnected

FindDownstream

FindIncorrect

FindLoops

FindUpstream

FindWay

GetOverloadedElemState

GetOverloadStates

GetWayLength

OverloadElemState

OverloadStates


AddFlag Method (NetworkTools)

Устанавливает флаг на узле с указанным ключом (ID).

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function AddFlag(ElemID As Long) As Boolean

ElemID - ключ узла.

Описание:

В случае установки флаги возвращает True.

Пример:

'установить флаг на узле с ключом 67
MapCtrl1.Map.Layers.Active.NetworkTools.AddFlag 67


AddFlags method (NetworkTools)

Устанавливает флаги на узлах для заданного списка ключей.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function AddFlags(vElems As VARIANT) As Long

vElems - параметр типа VARIANT, содержащий информацию о ключах

Возможные типы данных:

Массив целых чисел VT_ARRAY (VT_I1, VT_I2, VT_I4, VT_UI1, VT_UI2, VT_UI4, VT_INT)

Интерфейсы VT_DISPATCH или VT_UNKNOWN для коллекции ElementKeys

Одиночный ключ (VT_I1, VT_I2, VT_I4, VT_UI1, VT_UI2, VT_UI4, VT_INT)


ClearFlags Method (NetworkTools )

Отменяет все флаги.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Sub ClearFlags()

Пример:

'отменить все флаги
MapCtrl1.Map.Layers.Active.NetworkTools.ClearFlags


ClearLastFlag Method (NetworkTools )

Отменяет последний флаг.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function ClearLastFlag() As Boolean

Пример:

MapCtrl1.Map.Layers.Active.NetworkTools.ClearLastFlag


ClearOverloadedStates method (NetworkTools)

Очищает список временных состояний проводимости для всех элементов сети.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Sub ClearOverloadedStates()


ClearOverloadElemStates method (NetworkTools)

Отменяет все состояния проводимости элементов сети, ранее определенные методом OverloadElemState.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Sub ClearOverloadedStates()


ClearResults Method (NetworkTools )

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

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Sub ClearResults()

Пример:

MapCtrl1.Map.Layers.Active.NetworkTools.ClearResults


FindConnected method (NetworkTools)

Находит все элементы сети, топологически связанные с узлами, отмеченными флагом.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function FindConnected() As Boolean

Пример:

MapCtrl1.Map.Layers.Active.NetworkTools.FindConnected


FindDisconnected method (NetworkTools)

Находит все элементы сети, топологически несвязанные с узлами, отмеченными флагом.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function FindDisconnected() As Boolean

Пример:

MapCtrl1.Map.Layers.Active.NetworkTools.FindDisconnected


FindDownstream method (NetworkTools )

Найти связанные элементы сети по стрелке (по направлению ввода участков).

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function FindDownstream() As Boolean


FindIncorrect method (NetworkTools )

Найти участки, не имеющие узла в начале и\или конце.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function FindIncorrect(flags As Long) As Boolean

flags - зарезервирован, должен быть нулем.


FindLoops Method (NetworkTools )

Находит кольца сети топологически связанные с узлами, отмеченными флажками.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function FindLoops() As Boolean


FindUpstream method (NetworkTools )

Найти связанные элементы сети против стрелки (против направления ввода участков).

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function FindUpstream() As Boolean


FindWay Method (NetworkTools )

Прокладывает самый короткий путь между флагами.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function FindWay() As Boolean

Описание:

Возвращает True, если путь найден.

Пример:

MapCtrl1.Map.Layers.Active.NetworkTools.FindWay


Flags property (NetworkTools)

Возвращает список всех ключей (ID) узлов, помеченных флагом в форме коллекции ElementKeys.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Property Flags As ElementKeys

read-only

Пример:

'вывести в список значения ключей (ID) узлов, помеченных флагом

List1.Clear

'Переменная типа ElementKeys
Dim keys As ElementKeys
Dim i As Long

Set keys = MapCtrl1.Map.Layers.Active.NetworkTools.Flags

'выводим значения ключей
For i = 1 To keys.Count
List1.AddItem keys.Item(i)
Next i


FlagsVisible property (NetworkTools)

Возвращает/устанавливает признак отображения флагов на экране.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Property FlagsVisible As Boolean

read-only


GetOverloadedElemState method (NetworkTools)

Возвращает состояние проводимости элемента сети, заданное ранее методом OverloadElemState.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function GetOverloadedElemState(ElemID As Long) As Long

ElemID - ID элемента сети.


GetOverloadStates method (NetworkTools)

Возвращает список объектов с заданными временными состояниями проводимости.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function GetOverloadStates(Flags As Long) As ElementKeyPairs

Flags - зарезервирован, должен быть 0

Описание:

Ответ возвращается в виде коллекции пар значений ElementKeyPairs, где первое значение - ключ объекта сети, а второе - его состояние проводимости, соответствующее нумерации eSwitchState


GetWayLength method (NetworkTools)

Возвращает длину пути, полученного методом FindWay.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function GetWayLength(eMeasure As eMeasureType) As Double

eMeasure - способ измерения длины (по проекции или на сфероиды).


OverloadElemState method (NetworkTools)

Устанавливает новое состояние проводимости элемента сети с заданным ID.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function OverloadElemState(ElemID As Long, State As eSwitchState) As Boolean

ElemID - ID элемента сети.

State - новое состояние элемента сети.

Описание:

Новое состояние проводимости элемента сети переопределяет текущее состояние только для данного объекта Layer и не изменяет состояния в графической базе слоя.

Отменить все ранее переопределенные состояния можно вызовом метода ClearOverloadedElemStates.


OverloadOverloadStates method (NetworkTools)

Устанавливает новое состояние проводимости для списка элементов.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Function OverloadStates(vElems, State As eSwitchState) As Boolean

vElems - переменная тияпа VARIANT сордержит список ID элементов сети.

В параметре в качестве списка ключей могут быть переданы:

- VT_ARRAY - массив целых чисел

- кооллекция ElementKeys

- один элемент в виде целого числа

State - новое состояние элементов сети.

Описание:

Новое состояние проводимости элементов сети из списка переопределяет текущее состояние только в памяти для данного экземпляра объекта Layer и не изменяет состояния в графической базе слоя.

Отменить все ранее переопределенные состояния можно вызовом метода ClearOverloadedElemStates.


Results property (NetworkTools)

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

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Property Results As ElementKeys

read-only

Пример:

'вывести в список коллекцию ключей результатов запроса

List2.Clear

'Переменная типа ElementKeys
Dim keys As ElementKeys
Dim i As Long

Set keys = MapCtrl1.Map.Layers.Active.NetworkTools.Results

'выводим значения ключей
For i = 1 To keys.Count
List1.AddItem keys.Item(i)
Next i


ResultsColor property (NetworkTools)

Задает цвет отображения участков, входящих в результат топологического запроса.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Property ResultsColor As Long

Пример:

'отобразить результат черным цветом
MapCtrl1.Map.Layers.Active.NetworkTools.ResultsColor = 0


ResultsVisible property (NetworkTools)

Возвращает/устанавливает признак отображения результатов топологических запросов на экране.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Property ResultsVisible As Boolean

read-only


State property (NetworkTools)

Bозвращает значение из набора констант eNetworkToolsState, указывающее в результате какой операции получена коллекция Results.

Константа | Описание
eNetworkToolsNone = 0 | результат пуст.
eNetworkToolsWay = 1 | результат метода FindWay.
eNetworkToolsConnected = 2 | результат метода FindConnected.
eNetworkToolsLoops = 3 | результат метода FindLoops.
eNetworkToolsDownstream = 4 | результат метода FindDownstream.
eNetworkToolsUpstream = 5 | результат метода FindUpstream.
eNetworkToolsDisconnected = 6 | результат метода FindDisconnected.
eNetworkToolsIncorrect = 7 | результат метода FindIncorrect.

Применяется к:

NetworkTools

Синтаксис:

Visual Basic:

Property State As eNetworkToolsState

read-only


NetworkTree object

Дерево кратчайших путей. Возвращается методом Layer.GetShortWayTree.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

ElementKeys

Item

ItemById

GetClosestParentByType

GetWay

SaveAsDBF

SaveToArray


Count property (NetworkTree)

Возвращает количество узлов дерева.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

Property Count As Long


ElementKeys property (NetworkTree)

Возвращает коллекцию ElementKeys, содержащую ID всех узлов дерева.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

Property ElementKeys() As ElementKeys

read only


GetClosestParentByType method (NetworkTree)

Возвращает для заданного узла дерева ближайшего предка заданного типа.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

Function GetClosestParentByType(NodeID As Long, TypeID As Long, ModeNum As Long) As Long

NodeID - ID узла.

TypeID - ID типа искомого предка.

ModeNum - номер режима искомого предка.

Описание:

Если номер режима равен -1, то рассматривается любой режим заданного типа. Если вышестоящий узел заданного типа найден, метод возвращает ID найденного узла. В противном случае метод вернет -1.


GetWay method (NetworkTree)

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

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

Function GetWay(BegID As Long, EndID As Long) As ElementKeys

BegID - ID первого узла

EndID - ID второго узла


Item property (NetworkTree)

Возвращает параметры узла по индексу.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

PropertyItem(Index As Long) As NetworkTreeNode

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание
4 Значение Index выходит за границы диапазона 0...Count - 1.


ItemById (NetworkTree)

Возвращает параметры узла по ключу.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

Property ItemById(Id As Long) As NetworkTreeNode

Id - ключ узлового элемента.


SaveAsDBF method (NetworkTree)

Сохраняет атрибуты дерева в таблицу в формате dBase III.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

Function SaveAsDBF(Filename As String) As Long

Filename - имя dbf файла.


SaveToArray method (NetworkTree)

Сохраняет атрибуты дерева в двумерный массив SafeArray.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

Function SaveToArray()

Описание:

Размерность массива Nx8, где N равно количеству элементов в коллекции (Count).

Свойства элемента коллекции в восьми колонках массива следуют в следующем порядке:

0 - NodeId

1 - ParentId

2 - SectionId

3 - SectionLength

4 - RootLength

5 - NodeFlag

6 - ParentNodeFlag

7 - SectionFlag

Пример:

Private Sub Command1_Click()

    Dim nw As NetworkTree

    'Получаем дерево кратчайших путей от объекта с ID=82
    Set nw = MapCtrl1.Map.Layers.Active.GetShortWayTree(82)

    Dim v As Variant

    'Сохраняем свойства дерева в массив
    v = nw.SaveToArray

    If TypeName(v) = "Long()" Then

        'Распечатываем массив в список
        List1.Clear

        For i = 0 To nw.Count - 1

            List1.AddItem str(v(i, 0)) + "," + str(v(i, 1)) + "," + str(v(i, 2)) + "," + _
                          str(v(i, 3)) + "," + str(v(i, 4)) + "," + str(v(i, 5)) + "," + _
                          str(v(i, 6)) + "," + str(v(i, 7))

        Next i

    End If

End Sub


SaveToDBF method (NetworkTree)

Сохраняет дерево сети в файл dBase.

Применяется к:

NetworkTree

Синтаксис:

Visual Basic:

NetworkTree.SaveToDBF(filename as string)

Filename - имя dbf файла.


NetworkTreeNode object

Объект содержит информацию об узле, входящем в дерево NetworkTree.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

IsLeaf

NodeFlag

NodeId

ParentId

ParentNodeFlag

RootLength

RootLevel

SectionFlag

SectionId

SectionLength


IsLeaf property (NetworkTreeNode)

Показывает, является ли узел дерева листом (конечным узлом).

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

Property IsLeaf As Boolean

read-only


NodeFlag property (NetworkTreeNode)

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

Property NodeFlag As Boolean

read-only


NodeId (NetworkTreeNode)

Возвращает ID узла дерева NetworkTree.

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

PropertyNodeId As Long


ParentId (NetworkTreeNode)

Bозвращает ID родительского узла дерева NetworkTree.

Применяется к:

NetworkTreeNode

Cинтаксис:

Visual Basic:

Property ParentId As Long


ParentNodeFlag property (NetworkTreeNode)

NetworkTree object

Применяется к:

NetworkTreeNode

Cинтаксис:

Visual Basic:

Property ParentNodeFlag As Boolean

read-only


RootLength (NetworkTreeNode)

Возвращает длину от данного узла до корня дерева NetworkTree.

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

Property RootLength As Double

read-only


RootLevel (NetworkTreeNode)

Возвращает номер уровня узла в дереве по отношению к корню дерева NetworkTree.

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

Property RootLevel As Long

read-only


SectionFlag property (NetworkTreeNode)

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

Property SectionFlag As Boolean

read-only


SectionId (NetworkTreeNode)

Возвращает ID ребра, соединяющего данную вершину дерева NetworkTree с родительской.

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

Property SectionId As Long

read-only


SectionLength (NetworkTreeNode)

Возвращает длинну ребра, соединяющего данную вершину дерева NetworkTree с родительской.

Применяется к:

NetworkTreeNode

Синтаксис:

Visual Basic:

Property SectionLength As Double

read-only


NetworkWeight object

Представляет объект, содержащий информацию о весовых коэффициентах линейного элемента сети.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

ElemID

Forward

Reverse


ElemID property (NetworkWeight)

Возвращает ID элемента сети.

Применяется к:

NetworkWeight

Синтаксис:

Visual Basic:

Property ElemID As Long

read-only


Forward property (NetworkWeight)

Возвращает значение весового коэффициента для длины участка в прямом направлении (от начала к концу).

Применяется к:

NetworkWeight

Синтаксис:

Visual Basic:

Property Forward As Double

read-only


Reverse property (NetworkWeight)

Возвращает значение весового коэффициента для длины участка в обратном направлении (от конца к началу).

Применяется к:

NetworkWeight

Синтаксис:

Visual Basic:

Property Reverse As Double

read-only


NetworkWeightSet object

Объект, представляющий набор весовых коэффициентов графа сети слоя. Является основным объектом коллекции NetworkWeightSets.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Id

Name

UserName

Owner

GetItem

Open

Save

SetItem


GetItem method (NetworkWeightSet)

Возвращает объект NetworkWeight содержащий информацию о весах элемента сети слоя с заданным ID.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Function GetItem(ElemID As Long) As NetworkWeight

ElemID - ID элемента сети


Id property (NetworkWeightSet)

Возвращает ID набора весов слоя.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Property Id As Long

read-only


Name property (NetworkWeightSet)

Возвращает полное имя файла набора весов слоя.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Property Name As String

read-only


Open method (NetworkWeightSet)

Открывает набор весов с заданным ID для заданного слоя.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Function Open(LayerName As String, WeightSetID As Long) As Boolean

LayerName - имя или URL слоя

WeightSetID - ID набора весов слоя


Owner property (NetworkWeightSet)

Возвращает объект слоя Layer, к которому относится данный набор весов.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Property Owner As Layer

read-only


Save method (NetworkWeightSet)

Сохраняет все изменения, произведенные над данным набором весов.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Function Save() As Boolean


SetItem method (NetworkWeightSet)

Задает весовые коэффициенты для заданного элемента сети слоя в данном наборе весов.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Function SetItem(ElemID As Long, Forward As Double, Reverse As Double) As NetworkWeight

ElemID - ID элемента сети

Forward - весовой коэффициент для прямого направления

Reverse - весовой коэффициент для обратного направления


UserName property (NetworkWeightSet)

Возвращает/устанавливает пользовательское название набора весов слоя.

Применяется к:

NetworkWeightSet

Синтаксис:

Visual Basic:

Property UserName As String


NetworkWeightSets collection

Коллекция наборов весовых коэффициентов для длин ребер графа сети. Возвращается как свойство слоя NetworkWeightSets.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы
Active

Count

Item

ItemById

AddItem

RemoveItem


Active property (NetworkWeightSets)

Возвращает/устанавливает для графа сети слоя текущий набор весовых коэффициентов.

Применяется к:

NetworkWeightSets

Синтаксис:

Visual Basic:

Property Active As long

Описание:

Чтобы отключить весовые коэффициенты, свойству следует присвоить значение -1.


AddItem method (NetworkWeightSets)

Добавляет в коллекцию новый пустой набор весовых коэффициентов слоя.

Применяется к:

NetworkWeightSets

Синтаксис:

Visual Basic:

Function AddItem(DisplayName As String) As Long

DisplayName - пользовательское название добавляемого набора весов

Описание:

Если набор добавлен успешно, метод вернет ID добавленного набора. В противном случае метод вернет -1,


Count property (NetworkWeightSets)

Возвращает количество наборов весовых коэффициентов слоя.

Применяется к:

NetworkWeightSets

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Item property (NetworkWeightSets)

Возвращает набор весовых коэффициентов слоя NetworkWeightSet по индексу.

Применяется к:

NetworkWeightSets

Синтаксис:

Visual Basic:

Property Item(Index As Long) As NetworkWeightSet

read-only

Index - индекс набора в коллекции (нумерация с нуля)

Описание:

Если набор по указанному индексу в слое отсутствует, свойство вернет пустой объект:

Visual Basic - TypeName получит значение "Nothing",

C++ - NULL.


ItemById property (NetworkWeightSets)

Возвращает набор весовых коэффициентов слоя NetworkWeightSet по ID набора.

Применяется к:

NetworkWeightSets

Синтаксис:

Visual Basic:

Property ItemById(SetID As Long) As NetworkWeightSet

read-only

SetID - ID набора

Описание:

Если набор с заданным ID в слое отсутствует, свойство вернет пустой объект:

Visual Basic - TypeName получит значение "Nothing",

C++ - NULL.


RemoveItem method (NetworkWeightSets)

Удаляет из коллекции весов слоя набор весовых коэффициентов с заданным ID.

Применяется к:

NetworkWeightSets

Синтаксис:

Visual Basic:

Function RemoveItem(SetID As Long) As Boolean

SetID - ID удаляемого набора


ObjectMode object

Представляет режим типового объекта слоя системы Zulu. Является образующим объектом для коллекции ObjectModes.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Методы

ElemStyle

ID

Name

ObjectType

SwitchState

Visible

GetMaxScale

GetMinScale

SetLineCrossingStyle

GetShowDirections

SetMinMaxScale

SetShowDirections


ElemStyle (ObjectMode)

Возвращает/задает параметры отображения элемента через объект ElemSyle.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

PropertyElemStyle As ElemStyle


GetMaxScale method (ObjectMode)

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

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Function GetMaxScale() As Double

Пример:

Sub ObjectMode_GetMaxScale
Set L = Zulu.ActiveMapDoc.Layers.Active
'у активного слоя выбираем тип 3 режим 1 и выводим ответ в отдельное окно для проверки
output = L.ObjectTypes.Item(3).Modes.Item(1).GetMaxScale()
MsgBox(output)
End Sub


GetMinScale method (ObjectMode)

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

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Function GetMinScale() As Double

Пример:

Sub ObjectMode_GetMinScale
Set L = Zulu.ActiveMapDoc.Layers.Active
'у активного слоя выбираем тип 3 режим 1 и выводим ответ в отдельное окно для проверки
output = L.ObjectTypes.Item(3).Modes.Item(1).GetMinScale()
MsgBox(output)
End Sub


GetShowDirections method (ObjectMode)

Возвращает признак визуализации направления участков с заданным режимом.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Function GetShowDirections() As Long

Описание:

Метод вернет 0, в случае, если направление участка отключено. Если направление участков включено метод вернет 1.

Пример:

Sub ObjectMode_GetShowDirections
Set L = Zulu.ActiveMapDoc.Layers.Active
'у активного слоя выбираем тип 3 режим 1 и выводим ответ в отдельное окно для проверки
output = L.ObjectTypes.Item(3).Modes.Item(1).GetShowDirections()
MsgBox(output)
End Sub


Id property (ObjectMode)

Возвращает номер данного режима.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Property Id As Integer

read-only


Name property (ObjectMode)

Возвращает/устанавливает пользовательское название данного режима.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Property Name As String

Пример:

'Возвращает название режима типового объекта "Источник" слоя "Пример тепловой сети"
MsgBox Layer1(3).ObjectTypes.Item("Источник").Modes.Item(1).Name


ObjectType property (ObjectMode)

Возвращает объект ObjectType, к которому относится данный режим.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Property ObjectType As ObjectType

read-only


SetLineCrossingStyle method (ObjectMode)

Задает параметры отображение пересечений линий.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Function SetLineCrossingStyle(Size As Long, Scale As Double, bScalable As Boolean) As Long

Size - радиус пересечения в пикселях.

Scale - масштаб карты с которого пересечения будут уменьшаться.

bScalable:

True - включает масштабирование дуги,

False - выключает.

Пример:

Sub ObjectMode_SetLineCrossingStyle
Set L = Zulu.ActiveMapDoc.Layers.Active
'у активного слоя выбираем тип 3 режим 1 и задаем радиус, масштаб и признак масштабирования дуги
L.ObjectTypes.Item(3).Modes.Item(1).SetLineCrossingStyle 50, 100, True
End Sub


SetMinMaxScale method (ObjectMode)

Задает минимальный и максимальный масштаб отображения режима.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Sub SetMinMaxScale(minScale As Double, maxScale As Double, flags As Long)

minScale - минимальный масштаб.

maxScale - максимальный масштаб.

flags:

9 - применять только MinScale.

10 - применять только MaxScale.

11 - применять MinScale и MaxScale.

12 - наследовать масштабы Типа, если свой масштаб 0.

Описание:

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

Пример:

Sub ObjectMode_SetMinMaxScale
Set L = Zulu.ActiveMapDoc.Layers.Active
'у активного слоя выбираем тип 3 режим 1 и задаем минимальное и максималный масштаб при котором, заданные объекты будут отображаться
L.ObjectTypes.Item(3).Modes.Item(1).SetMinMaxScale 0, 5000, 11
End Sub


SetShowDirections method (ObjectMode)

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

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Sub SetShowDirections(bShow As Boolean)

bShow :

True - включает отображение направления,

False - выключает.

Пример:

Sub ObjectMode_SetShowDirections
Set L = Zulu.ActiveMapDoc.Layers.Active
'у активного слоя выбираем тип 3 режим 1 и отключаем отображение направления
L.ObjectTypes.Item(3).Modes.Item(1).SetShowDirections false
End Sub


SwitchState property (ObjectMode)

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Property SwitchState As eSwitchState

Описание:

eSwitchOn = 0 - включен

eSwitchOff = 1 - отключен

eSwitchForwardOn = 2 - открыт в прямом направлении

eSwitchForwardOff = 3 - закрыт в прямом направлении

eSwitchBreak = 4 - все участки, связанные с узлом разъединены

eSwitchNotWork = 5 - не работает (включен, но не переключает)

eSwitchUndefined = -1 - состояние не определено


Visible property (ObjectMode)

Возвращает/устанавливает признок отображения объектов данного режима для загруженного в карту слоя.

Применяется к:

ObjectMode

Синтаксис:

Visual Basic:

Property Visible As Boolean


ObjectModes collection

Представляет коллекцию объектов типа ObjectMode, входящих в структуру данного типа (ObjectType) векторного слоя системы Zulu.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

AddItem

RemoveItem


AddItem method (ObjectModes)

Добавляет в к типу объекта слоя новый режим.

Применяется к:

ObjectModes ObjectModes collection

Синтаксис:

Visual Basic:

Function AddItem(Name As String, Style As ElemStyle) As Boolean

Name - имя типа (режима).

Style - стиль символа.

Описание:

Режим добавляется только в уже имеющийся тип объекта.

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'добавить новый символьный тип
Private Sub Command1_Click()

    MsgBox MapCtrl1.Map.Layers.Active.ObjectTypes.AddItem("Новый тип", eSymbol)

End Sub

'добавить новый режим в последний созданный тип
Private Sub Command2_Click()

    Dim st As ElemStyle
    Set st = New ElemStyle

    st.SymbolID = 11 'ID символа
    st.SymbolSize = 200 'размер символа

    MapCtrl1.Map.Layers.Active.ObjectTypes.GetItemByIndex(MapCtrl1.Map.Layers.Active.ObjectTypes.Count - 1).Modes.AddItem "Новый режим 1", st

    'открыть окно редактирования структуры слоя
    MapCtrl1.Map.Layers.Active.EditStructure

End Sub

'добавить новый линейный тип
Private Sub Command3_Click()

    MsgBox MapCtrl1.Map.Layers.Active.ObjectTypes.AddItem("Новый тип", ePolyline)

End Sub

'добавить новый режим в последний созданный тип
Private Sub Command4_Click()

    Dim st As ElemStyle
    Set st = New ElemStyle

    st.LineColor = RGB (255, 0, 255) 'цвет линии
    st.LineWidth = 3 'ширина линии

    MapCtrl1.Map.Layers.Active.ObjectTypes.GetItemByIndex(MapCtrl1.Map.Layers.Active.ObjectTypes.Count - 1).Modes.AddItem "Новый режим 1", st

    'открыть окно редактирования структуры слоя
    MapCtrl1.Map.Layers.Active.EditStructure

End Sub


Count property (ObjectModes)

Возвращает число режимов, содержащихся в данном типе слоя.

Применяется к:

ObjectModes

Синтаксис:

Visual Basic:

Property Count As Integer

read-only


Item property (ObjectModes)

Возвращает режим ObjectMode из коллекции по номеру или по имени.

Применяется к:

ObjectModes

Синтаксис:

Visual Basic:

Property Item(Index) As ObjectMode

read-only

Index - номер режима в коллекции или название режима.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

517

Неправильный тип слоя.

Пример:

'Вывести название режима работы типового объекта Источник слоя "Пример тепловой сети"
MsgBox Teplo.ObjectTypes.Item("Источник").Modes.Item(1).Name
MsgBox Teplo.ObjectTypes.Item("Источник").Modes.Item("Работа").Id


RemoveItem method (ObjectModes)

Удаляет режим объекта.

Применяется к:

ObjectModes

Синтаксис:

Visual Basic:

Function RemoveItem(Index As Long) As Boolean

Index - порядковый номер режима.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'удалить тип объекта с ключом (ID) 23
Private Sub Command1_Click()

    If MapCtrl1.Map.Layers.Active.ObjectTypes.RemoveItem(23) = True Then
        MsgBox ("Тип объекта удален успешно")
    Else: MsgBox ("Ошибка удаления типа")
    End If

End Sub

'удалить режим под номером 1 из типового объекта с ключом (ID) 22
Private Sub Command2_Click()

    If MapCtrl1.Map.Layers.Active.ObjectTypes.Item(22).Modes.RemoveItem(1) = True Then
        MsgBox ("Режим удален успешно")
    Else: MsgBox ("Ошибка удаления режима")
    End If

End Sub


ObjectType object

Представляет тип объектов слоя системы Zulu. Является образующим элементом коллекции ObjectTypes.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

BaseID

BaseName

GraphicType

Id

Modes

Name

Tag

GetLayer

GetMaxScale

GetMinMaxScaleFlags

GetMinScale

GetVisible

SetMinMaxScale

SetVisible


BaseID property (ObjectType)

Возвращает/устанавливает ID семантической базы данных для данного типа.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Property BaseID As Long


BaseName property (ObjectType)

Возвращает/устанавливает имя базы данных системы Zulu для данного типа.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Property BaseName As String

Описание:

Свойство содержит полное имя файла описания базы данных (ZB), которая подключена к данному типу. Если данный тип не связан с семантической базой данных, возвращаемое значение будет пустой строкой.

Пример:

'Visual Basic

'Из коллекции слоев карты выделяем слой Пример тепловой сети (индекс 3)
Dim Teplo As Layer

Set Teplo = MapCtrl1.Map.Layers.Item(3)

'Для объекта Источник устанавливаем связь с описателем БД.
Teplo.ObjectTypes("Источник").BaseName="d:\zulu 5.0\examples\termo\istok_n.zb"


GetLayer Method (ObjectType)

Возвращает объект Layer, которому принадлежит данный тип.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Function GetLayer() As Layer


GetMaxScale method (ObjectType)

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

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Function GetMaxScale() As Double

Пример:

Sub ObjectType_GetMaxScale
Set L = Zulu.ActiveMapDoc.Layers.Active
output = L.ObjectTypes.Item(3).GetMaxScale()
MsgBox(output)
End Sub


GetMinMaxScaleFlags method (ObjectType)

Возвращает флаги отображения типа.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Function GetMinMaxScaleFlags() As Long

Описание:

0 - флаги не применены.

1 - включен только флаг минимального отображения.

2 - включен только флаг максимального отображения.

3 - включены оба флага.

Пример:

Sub ObjectType_GetMinMaxScaleFlags
Set L = Zulu.ActiveMapDoc.Layers.Active
output = L.ObjectTypes.Item(3).GetMinMaxScaleFlags()
MsgBox(output)
End Sub


GetMinScale method (ObjectType)

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

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Function GetMinScale() As Double

Пример:

Sub ObjectType_GetMinScale
Set L = Zulu.ActiveMapDoc.Layers.Active
output = L.ObjectTypes.Item(3).GetMinScale()
MsgBox(output)
End Sub


GetVisible Method (ObjectType)

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

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Function GetVisible() As Long

Описание:

Возвращаемое значение равное 0, означает, что все режимы данного типа невидимы.

Возвращаемое значение равное 1, означает, что все режимы данного типа видимы.

Возвращаемое значение равное 2, означает, что часть режимов данного типа видимы, часть нет.


GraphicType property (ObjectType)

Возвращает/устанавливает графический тип типового объекта векторного слоя.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Property GraphicType As eObjGraphType


Id property (ObjectType)

Возвращает/устанавливает значение ключа (ID) данного типа в структуре слоя.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Property Id As Long


Modes property (ObjectType)

Возвращает коллекцию ObjectModes режимов, входящих в структуру данного типа слоя системы Zulu.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

PropertyModes As ObjectModes

read-only


Name property (ObjectType)

Возвращает/устанавливает пользовательское название данного типа.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Property Name As String


SetMinMaxScale method (ObjectType)

Задает минимальный и максимальный масштаб отображения типа.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Sub SetMinMaxScale(minScale As Double, maxScale As Double, flags As Long)

minScale - минимальный масштаб.

maxScale - максимальный масштаб.

flags:

9 - применять только MinScale.

10 - применять только MaxScale.

11 - применять MinScale и MaxScale.

Описание:

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

Пример:

Sub ObjectType_SetMinMaxScale
Set L = Zulu.ActiveMapDoc.Layers.Active
L.ObjectTypes.Item(3).SetMinMaxScale 200,2000, 11
End Sub


SetVisible Method (ObjectType)

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

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Sub SetVisible(bVisible As Boolean)


Tag property (ObjectType)

Возвращает/устанавливает атрибут типа, как объекта инженерной сети, из набора eObjectTypeTag.

Применяется к:

ObjectType

Синтаксис:

Visual Basic:

Property Tag As eObjectTypeTag

Описание:

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


ObjectTypes collection

Содержит коллекцию типов объектов слоя ObjectType. Входит как свойство ObjectTypes в объект Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

AddItem

AddItemEx

GetIndexByName

GetItemByIndex

ImportItem

InsertItem

RemoveItem


AddItem method (ObjectTypes)

Добавляет в структуру слоя новый тип.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Function AddItem(Name As String, GraphType As eObjGraphType) As Long

Name - имя типа

GraphType - графический тип:

eSymbol - символьный тип,

ePolyline - линейный отсекающий,

eSimple - не заданный тип,

eSquare - площадной,

eText - тестовый

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'добавить новый символьный тип
Private Sub Command1_Click()

    MsgBox MapCtrl1.Map.Layers.Active.ObjectTypes.AddItem( "Новый тип", eSymbol )

End Sub

'добавить новый режим в последний созданный тип
Private Sub Command2_Click()

    Dim st As ElemStyle
    Set st = New ElemStyle

    st.SymbolID = 11 'ID символа
    st.SymbolSize = 200 'размер символа

    MapCtrl1.Map.Layers.Active.ObjectTypes.GetItemByIndex(MapCtrl1.Map.Layers.Active.ObjectTypes.Count - 1).Modes.AddItem "Новый режим 1", st

    'открыть окно редактирования структуры слоя
    MapCtrl1.Map.Layers.Active.EditStructure

End Sub

'добавить новый линейный тип
Private Sub Command3_Click()

    MsgBox MapCtrl1.Map.Layers.Active.ObjectTypes.AddItem("Новый тип", ePolyline)

End Sub

'добавить новый режим в последний созданный тип
Private Sub Command4_Click()

    Dim st As ElemStyle
    Set st = New ElemStyle

    st.LineColor = RGB (255, 0, 255) 'цвет линии
    st.LineWidth = 3 'ширина линии

    MapCtrl1.Map.Layers.Active.ObjectTypes.GetItemByIndex(MapCtrl1.Map.Layers.Active.ObjectTypes.Count - 1).Modes.AddItem "Новый режим 1", st

    'открыть окно редактирования структуры слоя
    MapCtrl1.Map.Layers.Active.EditStructure

End Sub


AddItemEx method (ObjectTypes)

Добавляет в структуру слоя новый тип с заданным ID.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Function AddItemEx(TypeID As Long, Name As String, GraphType As eObjGraphType) As Long

TypeID - ID типа)

Name - имя типа

GraphType - графический тип:

eSymbol - символьный тип,

ePolyline - линейный отсекающий,

eSimple - не заданный тип,

eSquare - площадной,

eText - тестовый

Описание:

Если параметр TypeID равен -1, то метод присвоит типу ID автоматически, как и метод AddItem.

Метод возвращает ID добавленного типа, если операция прошла успешно, в противном случае метод возвращает -1.

Пример:

'добавить новый символьный тип c ID = 12
Private Sub Command1_Click()

    MsgBox MapCtrl1.Map.Layers.Active.ObjectTypes.AddItemEx( 12, "Новый тип", eSymbol )

End Sub

'добавить новый линейный тип c ID = 8
Private Sub Command3_Click()

    MsgBox MapCtrl1.Map.Layers.Active.ObjectTypes.AddItemEx(8, "Новый тип", ePolyline)

End Sub


Count property (ObjectTypes)

Возвращает число типов, содержащихся в структуре слоя.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Property Count As Long

read-only

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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


GetIndexByName method (ObjectTypes)

Возвращает индекс типа в коллекции типов по имени.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Function GetIndexByName(Name As String) As Long

Name - пользовательское название типа.

Описание:

Если тип с таким именем в коллекции не найден, метод возвращает -1.


GetItemByIndex method (ObjectTypes)

Получить элемент по индексу из коллекции.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Function GetItemByIndex(Index As Long) As ObjectType

Index - номер элемента в коллекции.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

521

 Тип по указанному индексу не найден.


ImportItem method (ObjectTypes)

Добавляет в коллекцию типов слоя новый тип, заданный объектом ObjectType.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Function ImportItem(TypeID As Long, pType As ObjectType, flags As Long) As Long

TypeID - ID импортируемого типа. Для автоматического присвоения должен быть -1.

pType - объект, задающий импортируемый тип.

flags - флаги.

Описание:

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


InsertItem method (ObjectTypes)

Добавляет в структуру слоя новый тип по указанному индексу в списке типов.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Function InsertItem(Name As String, GraphType As eObjGraphType, InsertIndex As Long) As Long

Name - название типа.

GraphType - графический тип;

InsertIndex - номер места в списке типов, куда добавляется новый тип.


Item property (ObjectTypes)

Возвращает элемент из коллекции типов по ID или имени типа.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Property Item(TypeID) As ObjectType

read-only

TypeID - вариантная переменная, которая может быть задана либо строкой с пользовательским названием типа, либо значением ID типа.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

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

521

 Тип с указанным именем или ID не найден.


RemoveItem method (ObjectTypes)

Удаляет тип объекта.

Применяется к:

ObjectTypes

Синтаксис:

Visual Basic:

Function RemoveItem(TypeID As Long) As Boolean

TypeID - ключ (ID) типа.

Описание:

Тип объекта удалится только в том случае, если он не имеет режимов.

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'удалить тип объекта с ключом (ID) 23
Private Sub Command1_Click()

    If MapCtrl1.Map.Layers.Active.ObjectTypes.RemoveItem(23) = True Then
        MsgBox ("Тип объекта удален успешно")
    Else: MsgBox ("Ошибка удаления типа")
    End If

End Sub

'удалить режим под номером 1 из типового объекта с ключом (ID) 22
Private Sub Command2_Click()

    If MapCtrl1.Map.Layers.Active.ObjectTypes.Item(22).Modes.RemoveItem(1) = True Then
MsgBox ("Режим удален успешно")
    Else: MsgBox ("Ошибка удаления режима")
    End If

End Sub


Points collection

Объект Points системы, представляет коллекцию точек - вершин элемента (ломаной или контура). Входит как свойство Points объекта Element.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

GetX

GetY


Count property (Points)

Возвращает количество точек в коллекции.

Применяется к:

Points

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetX method (Points)

Возвращает X-координату указанной вершины.

Применяется к:

Points

Синтаксис:

Visual Basic:

Function GetX(TopNum As Long) As Double

TopNum - индекс вершины.


GetY method (Points)

Возвращает Y-координату указанной вершины.

Применяется к:

Points

Синтаксис:

Visual Basic:

Function GetY(TopNum As Long) As Double

TopNum - индекс вершины.


PolyContour object

Составной контурный объект - объект, состоящий из нескольких контуров (объектов Contour). Входит как свойство PolyContour объекта Element.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.PolyContour

CLSID:

{12507094-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Count

Item

PolygonCount

PolygonItem

Square

AddContour

DeleteContour

GetBoundsRectangle

Inside

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.PolyContour
Set obj = New ZuluLib.PolyContour
//Delphi:
obj: IPolyContour;
obj := CoPolyContour.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.PolyContour")


AddContour Method (PolyContour)

Добавляет контур к составному контурному объекту.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Sub AddContour(Contour As Contour)

Contour - объект Contour.


Count property (PolyContour)

Возвращает количество объектов (контуров), составляющих комбинированный контурный объект.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Property Count As Long

read-only


DeleteContour Method (PolyContour)

Удаляет контур из составного контурного объекта.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Sub DeleteContour(Index As Long)

Index - индекс контура.


GetBoundsRectangle method (PolyContour)

Возвращает объект ZRectangle, содержащий габариты объекта.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


Inside Method (PolyContour)

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

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Sub Inside(X As Double, Y As Double) As Boolean

X, Y - координаты точкию

Синтаксис:

Метод вернет True, если точка находится внутри контура.


Item property (PolyContour)

Возвращает контур составного контурного объекта по индексу.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Property Item(Index As Long) As Contour

read-only

Index - индекс контура.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Значение Index выходит за границы диапазона 0 .. Count - 1.


PolygonCount property (PolyContour)

Возвращает количество отдельных составных контуров объекта.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Property PolygonCount() As Long

read only

Описание:

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

Пример:

Sub PolyContour_PolygonCount
Set L = Zulu.ActiveMapDoc.Layers.Active
'в перменную ID записывает ключ выбранного объекта
ID = L.CurrentID
'получаем элемент по ключу
Set element = L.Elements.GetElement(ID)
'получаем polycontour объекта
Set polyContour = element.polyContour
'получаем количество отдельных составных контуров объекта
cnt = polyContour.PolygonCount
'выводим количество отдельных составных контуров объекта в отдельное окно для проверки
MsgBox(cnt)
End Sub


PolygonItem property (PolyContour)

Возвращает поликонтур составного поликонтура объекта по индексу.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Property PolygonItem(Index As Long) As PolyContour

read only

Index - индекс поликонтура.

Описание:

В случае неудачи свойство вернет Null:

Пример:

Set L = Zulu.ActiveMapDoc.Layers.Active
'в перменную ID записывает ключ выбранного объекта
ID = L.CurrentID
'получаем элемент по ключу
Set element = L.Elements.GetElement(ID)
'получаем составной поликонтур объекта
Set polyContours = element.polyContour
'получаем поликонтур по индексу
set polyContour =  polyContours.PolygonItem(0)
'выводим количество контуров в выбраном поликонтуре
MsgBox(polyContour.Count)
End Sub


Square property (PolyContour)

Возвращает площадь комбинированного контура в квадратных метрах.

Применяется к:

PolyContour

Синтаксис:

Visual Basic:

Property Square As Double

read-only


PolyLine object

Представляет объект ломаная, образованный последовательностью не менее 2-х точек (объект Points). Входит как свойство PolyLine в объект Element.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.PolyLine

CLSID:

{12507098-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Length

NumTops

Points

AddPoint

Clear

DeletePoint

Fill

GetBoundsRectangle

GetX

GetY

InsertPoint

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.PolyLine
Set obj = New ZuluLib.PolyLine
//Delphi:
obj: IPolyLine;
obj := CoPolyLine.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.PolyLine")


AddPoint Method (PolyLine)

Добавляет точку к ломаной.

Применяется к:

PolyLine

Синтаксис:

Function AddPoint(X As Double,Y As Double) As Boolean

X, Y - координаты точки ломаной.

Описание:

Метод вернет True, если точка успешно добавлена.

Пример:

Dim  Ln As Zululib.PolyLine

Set Ln = New Zululib.PolyLine

Ln.AddPoint  0, 0
Ln.AddPoint 30000, 20000
Ln.AddPoint 10000, 70000


Clear Method (PolyLine)

Удаляет все точки полилинии, очищает объект.

Применяется к:

PolyLine

Синтаксис:

Sub Clear()

Описание:

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


DeletePoint Method (PolyLine)

Удаляет точку ломаной.

Применяется к:

PolyLine

Синтаксис:

Function DeletePoint(nPointNum As Long) As Boolean

nPointNum - номер удаляемой точки (нумерация с единицы).


Fill Method (PolyLine)

Заполнение ломаной по массиву координат.

Применяется к:

PolyLine

Синтаксис:

Function Fill(NumTops As Long, Xcoords As Double, Ycoords As Double) As Boolean

NumTops - количество вершин ломаной.

Xcoords - ссылка на массив X-координат вершин.

Ycoords - ссылка на массив Y-координат вершин.


GetBoundsRectangle method (PolyLine)

Возвращает объект ZRectangle, содержащий габариты объекта.

Применяется к:

PolyLine

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


GetX method (PolyLine)

Возвращает X -координату вершины ломаной.

Применяется к:

PolyLine

Синтаксис:

Visual Basic:

Function GetX(TopNum As Long) As Double

TopNum - номер вершины ломаной (нумерация с единицы).

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Значение Index выходит за границы диапазона 1..Count.


GetY method (PolyLine)

Возвращает Y-координату вершины ломаной.

Применяется к:

PolyLine

Синтаксис:

Visual Basic:

Function GetY(TopNum As Long) As Double

TopNum - номер вершины (нумерация с единицы).

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Значение Index выходит за границы диапазона 1..Count.


InsertPoint Method (PolyLine)

Добавляет вершину в полилинию.

Применяется к:

PolyLine

Синтаксис:

Function InsertPoint(X As Double, Y As Double, nPos As Long) As Boolean

X, Y - координаты добавляемой вершины.

nPos - положение добавляемой вершины в списке вершин (нумерация с единицы).


Length property (PolyLine)

Возвращает длину полилинии.

Применяется к:

PolyLine

Синтаксис:

Visual Basic:

Property Length As Double

read-only


NumTops property (PolyLine)

Возвращает число вершин полилинии.

Применяется к:

PolyLine

Синтаксис:

Visual Basic:

Property NumTops As Long

read-only


Points Property (PolyLine)

Возвращает коллекцию точек (Points), которые являются вершинами ломаной.

Применяется к:

PolyLine

Синтаксис:

Property Points As Points

read-only


PolyPolyLine object

Представляет составную ломаную. Составная ломаная может состоять из одной или нескольких ломаных (объектов PolyLine). Входит как свойство PolyPolyLine объекта Element.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.PolyPolyLine

CLSID:

{125070A8-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Count

Item

AddPolyLine

DeletePolyLine

GetBoundsRectangle

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.PolyPolyLine
Set obj = New ZuluLib.PolyPolyLine
//Delphi:
obj: IPolyPolyLine;
obj := CoPolyPolyLine.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.PolyPolyLine")


AddPolyLine method (PolyPolyLine)

Добавляет ломаную к составному объекту.

Применяется к:

PolyPolyLine

Синтаксис:

Visual Basic:

Sub AddPolyLine(PolyLine As PolyLine)

PolyLine - ломаная.


Count property (PolyPolyLine)

Возвращает количество ломаных в составном объекте.

Применяется к:

PolyPolyLine

Синтаксис:

Visual Basic:

Property Count As Long

read-only


DeletePolyLine method (PolyPolyLine)

Удаляет ломаную из составного объекта.

Применяется к:

PolyPolyLine

Синтаксис:

Visual Basic:

Sub DeletePolyLine(Index As Long)

Index - номер ломаной в составном объекте.


GetBoundsRectangle method (PolyPolyLine)

Возвращает объект ZRectangle, содержащий габариты объекта.

Применяется к:

PolyPolyLine

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


Item property (PolyPolyLine)

Возвращает ломаную (PolyLine) составного объекта по индексу.

Применяется к:

PolyPolyLine

Синтаксис:

Visual Basic:

Property Item(Index As Long) As PolyLine

read-only

Index - индекс ломаной в составном объекте.

Описание:

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

4

Значение Index выходит за границы диапазона 0 .. Count - 1.


PrintInfo Object

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

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.PrintInfo

CLSID:

{1250709C-0B01-11D2-B55D-444553540000}

Свойства:

Align

тип: Long

Задает положение печатаемого фрагмента на листе. Для задания можно использовать константы из набора eLabelPosition. Соответствует органу "Положение" в панели настройки печати карты.

По умолчанию имеет значение -1.

Copies

тип: Long

Задает число копий.

Device

тип: String

Задает имя устройства печати, например "HP DeskJet 670C". Вместе со свойствами Driver и Port определяет устройство печати, которое используется для вывода. См. рубрику Описание.

Driver

тип: String

Задает драйвер устройства печати, обычно "WINSPOOL". Может быть пропущен, тогда вместо имени драйвера будет использоваться "WINSPOOL". Вместе со свойствами Device и Port определяет устройство печати, которое используется для вывода. См. рубрику Описание.

hDC

тип: Long

Задает дескриптор устройства (HDC).

hDevMode

тип: Long

Задает дескриптор (HGLOBAL) структуры DEVMODE.

hDevNames

тип: Long

Задает дескриптор (HGLOBAL) структуры DEVNAMES.

HorzPages

тип: Long

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

Layer

тип: Variant

Задает слой по габаритам которого определяется печатаемый фрагмент карты. Используется в том случае, если указан флаг ePrintLayerExtents в свойстве Options. В качестве значения могут использоваться либо целое число - порядковый номер слоя в коллекции Layers, либо строка - имя слоя, либо ссылка на объект Layer.

MapScale

тип: Double

Options

тип: Long

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

Orientation

тип: Long

Задает ориентацию бумаги. Может принимать значения ePrintOrientPortrait и ePrintOrientLandscape. Если указан 0, то ориентация не задана явно.

OutputFile

тип: String

Зарезервировано

PaperBin

тип: Long

Задает источник бумаги (лоток, способ подачи бумаги и т.п.).

PaperLength

тип: Long

Задает длину листа бумаги в десятых долях миллиметра. Это свойство обрабатывается только, если свойству PaperSize присвоен 0, иначе значение свойства игнорируется.

PaperSize

тип: Long

Задает формат бумаги. Может принимать значение 0, означающее, что размеры бумаги задаются явно свойствами PaperLength и PaperWidth, либо положительное число, означающее номер формата бумага. Для задания свойства могут быть использованы константы DMPAPER_xxxx из Win32 API. В Visual Basic им соответствуют константы vbPRPSxxxx из множества PrinterObjectConstants.

PaperWidth

тип: Long

Задает ширину листа бумаги в десятых долях миллиметра. Это свойство обрабатывается только, если свойству PaperSize присвоен 0, иначе значение свойства игнорируется.

Port

тип: String

Задает имя порта, к которому подключено устройство печати, например "LPT1:". Вместе со свойствами Device и Driverопределяет устройство печати, которое используется для вывода. См. рубрику Описание.

Scale

тип: Double

Физический масштаб карты, например величина 2000 означает печать в масштабе 1:2000.

VertPages

тип: Long

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

Методы:

GetAreaRect

SetAreaRect - устарел, применим только к план-схеме

SetAreaRectangle - задание области печати

Описание:

Объект PrintInfo служит для задания или переопределения параметров печати карты или настроек принтера. Для определения параметров печати и принтера используются следующие данные:

Настройки принтера по умолчанию

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

Настройки, заданные свойствами объекта PrintInfo

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

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

Настройка печати карты:

Align, HorzPages, Layer, Options, Scale, SetAreaRect, VertPages

Настройки принтера:

Copies, Device, Driver, hDC, hDevMode, hDevNames, Options, Orientation, OutputFile, PaperBin, PaperLength, PaperSize, PaperWidth, Port

Объект PrintInfo приспособлен для того, чтобы использовать имеющиеся в приложении данные о настройках принтера для печати карты. При этом можно избежать открытия панели выбора принтера, появление которой может оказаться нежелательно. Данные о принтере могут быть либо получены через функцию Win32 API PrintDlg, либо храниться централизовано, как например в Delphi (объект типа TPrinter) или в Visual Basic (объект Printer).

Для использования имеющихся в приложении данных о принтере возможны следующие варианты:

Явно указать дескриптор контекста устройства (HDC), заполнив свойство hDC.

Задать свойства hDevNames и hDevMode. Эти данные могут быть получены через функцию Win32 API PrintDlg.

Задать свойства Device, Driver, Port, hDevMode. Эти данные могут быть получены в Delphi и C++Builder через метод GetPrinter объекта TPrinter.

Задать свойства Device, Driver, Port, PaperSize (PaperWidth, PaperLength), PaperBin, Orientation, Copies. Эти данные могут быть получены в Visual Basic через одноименные свойства объекта Printer.

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

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.PrintInfo
Set obj = New ZuluLib.PrintInfo
//Delphi:
obj: IPrintInfo;
obj := CoPrintInfo.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.PrintInfo")

Пример использования:

Dim P As PrintInfo
Set P = New PrintInfo

'Печать всей карты  на одной странице минуя панель выбора принтера
P.Options = ePrintMapExtents  + ePrintDrawFrame + _ePrintFitToPage + ePrintNoPrintDlg
MapCtrl1.PrintOut P


SetAreaRectangle method (PrintInfo)

Задает область печати карты.

Применяется к:

PrintInfo

Синтаксис:

Visual Basic:

Sub SetAreaRectangle(inCRS As CRS, rect As ZRectangle)

inCRS - система координат, которой соответствуют координаты прямоугльной области

rect - прямоугльная область печати

Пример печати карты, где область печати - габариты активного слоя:

'VBScript:
' ActiveX enumeration values definitions start (do not change!)
Const ePrintFitToPage = 2
Const ePrintExplicitRect = 64
' ActiveX enumeration values definitions end

'Пример печати карты на одной странице по габаритам активного слоя
Sub PrintTest

'Получаем активную карту
Set doc = zulu.ActiveMapDoc

'Создаем объект для настройки печати
Set P = CreateObject("ZuluLib.PrintInfo")

'Получаем габариты слоя в проекции карты
Set rect = doc.Layers.Active.GetBoundsCRSRectangle(doc.GetCRS)

'Задаем область печати, с указанием, к какой проекции относится этот прямоугольник
P.SetAreaRectangle doc.GetCRS, rect

'Печать на одну страницу заданной области
P.Options = ePrintFitToPage + ePrintExplicitRect

'Запускаем процесс печати
doc.PrintOut P

End Sub


PrintToRasterParams object

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

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Методы

GetResolution

GetScale

SetBounds

SetBoundsRectangle

SetRasterType

SetResolution

SetScale


GetResolution method (PrintToRasterParams)

Возвращает значение разрешающей способности (dpi) растра.

Применяется к:

PrintToRasterParams

Синтаксис:

Visual Basic:

Function GetResolution() as Long


GetScale method (PrintToRasterParams)

Возвращает значение масштаба печати карты в растр.

Применяется к:

PrintToRasterParams

Синтаксис:

Visual Basic:

Function GetScale() as Double


SetBounds method (PrintToRasterParams)

Задает прямоугольную область печати карты в растр.

Применяется к:

PrintToRasterParams

Синтаксис:

Visual Basic:

Sub SetBounds(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double)

X1, Y1, X2, Y2 - координаты углов прямоугольной области


SetBoundsRectangle method (PrintToRasterParams)

Задает прямоугольную область печати карты в растр.

Применяется к:

PrintToRasterParams

Синтаксис:

Visual Basic:

Sub SetBoundsRectangle(pRect as ZRectangle)

pRect - прямоугольная область


SetRasterType method (PrintToRasterParams)

Задает формат растрового файла при печати карты в растр.

Применяется к:

PrintToRasterParams

Синтаксис:

Visual Basic:

Sub SetRasterType(nType as Long)

nType - формат растра:

0 - BMP 24-бит

1 - JPG

4 - PNG

5 - TIFF


SetResolution method (PrintToRasterParams)

Задает значение разрешающей способности (dpi) растра.

Применяется к:

PrintToRasterParams

Синтаксис:

Visual Basic:

Sub SetResolution(nRes as Long)

nRes - разрешение растра


SetScale method (PrintToRasterParams)

Задает значение масштаба печати карты в растр.

Применяется к:

PrintToRasterParams

Синтаксис:

Visual Basic:

Sub SetScale(dScale as Double)

dScale - масштаб печати


Project object

Объект, представляющий проект системы ZuluGIS.

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

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.Project

CLSID:

{12507090-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Links

LinksCount

MapPath

MapsCount

MapUserName

Name

StartMap

UserName

AddLink

AddMap

Close

Create

FindLayerLinks

FindMapLinks

MoveLink

Open

RemoveLink

RemoveMap

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.Project
Set obj = New ZuluLib.Project
//Delphi:
obj: IProject;
obj := CoProject.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.Project")


AddLink method (Project)

Добавляет новую связь между картами в проект.

Применяется к:

Project

Синтаксис:

Visual Basic:

Function AddLink(NewLink As ProjectLink) As Long

NewLink - объект с описанием новой связи.

Описание:

Если связь успешно добавлена, метод вернет 0. В противном случае метод вернет -1.


AddMap method (Project)

Добавляет карту в проект.

Применяется к:

Project

Синтаксис:

Visual Basic:

FunctionAddMap(Path As String) As Boolean

Path - полный путь к файлу или URL карты.

Описание:

В случае успешного завершения операции метод возвращает значение True.

Пример:

Private Sub Command1_Click()

Dim pr As Project
Dim zt As ZuluTools

Set pr = New Project

    'откроем существующий проект
    pr.Open ("D:\progekt.zpr")

    'добавим в проект карту

     If pr.AddMap("D:\Zulu 5.2\Examples\Gidro\Voda.zmp") = True Then
        MsgBox ("карта в проект добавлена")
    Else: MsgBox ("карта не добавлена")
    End If

End Sub


Close method (Project)

Закрывает проект.

Применяется к:

Project

Синтаксис:

Visual Basic:

Sub Close()

Описание:

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


Create method (Project)

Создает новый проект.

Применяется к:

Project

Синтаксис:

Visual Basic:

Function Create(Path As String,UserName As String, LayerPath As String) As Boolean

Path - полный путь к файлу проекта.

UserName - пользовательское название проекта.

LayerPath - параметр не используется.

Описание:

Метод вернет True, если файл проекта успешно создан, в противном случае возвращается значение False.


FindLayerLinks method (Project)

Находит все связанные с указанным объектом карты.

Применяется к:

Project

Синтаксис:

Visual Basic:

Function FindLayerLinks(LayerPath As String, ElemID As Long) As ProjectLinks

LayerPath - полный путь к файлу или URL слоя, которому принадлежит объект.

ElemID - ID элемента, для которого производится поиск.


FindMapLinks method (Project)

Находит все связи для указанной карты проекта.

Применяется к:

Project

Синтаксис:

Visual Basic:

Function FindMapLinks(MapPath As String) As ProjectLinks

MapPath -полный путь к файлу или URL карты.


Links property (Project)

Возвращает коллекцию связей между картами проекта ProjectLinks.

Применяется к:

Project

Синтаксис:

Visual Basic:

Property Links As ProjectLinks

read-only


LinksCount property (Project)

Возвращает количество связей между картами проекта.

Применяется к:

Project

Синтаксис:

Visual Basic:

Property LinksCount As Long

read-only


MapPath property (Project)

Возвращает имя карты проекта по индексу.

Применяется к:

Project

Синтаксис:

Visual Basic:

Property MapPath(Index As Long) As String

read-only

Index - номер карты в проекте (нумерация с нуля).

Пример:

'Вызываем метод
Private Sub Command1_Click()

    Dim pr As Project

    Dim zt As ZuluTools
    Set pr = New Project

    Set zt = New ZuluTools

    zt.ShowOpen Form1.hWnd, 64, "Выбор проекта"

    pr.Open zt.FileName

    Dim N As Long
    Dim i As Long

    N = pr.MapsCount

    For i = 0 To N - 1

        List1.AddItem pr.MapPath(i)

    Next i

End Sub


MapsCount property (Project)

Возвращает количество карт в проекте.

Применяется к:

Project

Синтаксис:

Property MapsCount As Long

read-only


MapUserName property (Project)

Возвращает пользовательское название карты.

Применяется к:

Project

Синтаксис:

Visual Basic:

Property MapUserName(Index As Long) As String

read-only

Index - номер карты в проекте (нумерация с нуля).

Пример:

'Вызываем метод
Private Sub Command1_Click()

    Dim pr As Project

    Dim zt As ZuluTools
    Set pr = New Project

    Set zt = New ZuluTools

    zt.ShowOpen Form1.hWnd, 64, "Выбор проекта"

    pr.Open zt.FileName

    Dim N As Long
    Dim i As Long

    N = pr.MapsCount

    For i = 0 To N - 1

        List1.AddItem pr.MapUserName(i)

    Next i

End Sub


MoveLink method (Project)

Зарезервирован.

Применяется к:

Project

Синтаксис:

Visual Basic:

Sub MoveLink(Link As ProjectLink, Order As eLayerOrder)


Name property (Project)

Возвращает полный путь к файлу проекта или URL проекта в случае сервера.

Применяется к:

Project

Синтаксис:

Property Name As String

read-only


Open method (Project)

Открывает проект.

Применяется к:

Project

Синтаксис:

Visual Basic:

Function Open(Path As String) As Boolean

Path - полный путь к файлу или URL проекта.

Описание:

Метод вернет True, если файл проекта найден и успешно открыт, в противном случае возвращается значение False.

При открытии проекта не происходит автоматического открытия всех карт, входящих в проект.

Если указана стартовая карта проекта (StartMap), то она будет открыта.


RemoveLink method (Project)

Удаляет из проекта связь между картами.

Применяется к:

Project

Синтаксис:

Visual Basic:

Function RemoveLink(Link As ProjectLink) As Boolean

Link - объект с описанием удаляемой связи.

Описание:

Если связь успешно удалена, метод вернет True.


RemoveMap method (Project)

Удаляет из проекта карту.

Применяется к:

Project

Синтаксис:

Visual Basic:

Function RemoveMap(Path As String) As Boolean

Path - полный путь к файлу или URL карты.

Описание:

Если карта успешно удалена, метод вернет True.


StartMap property (Project)

Возвращает\устанавливает имя стартовой карты проекта.

Применяется к:

Project

Синтаксис:

Property StartMap As String


UserName property (Project)

Возвращает/устанавливает пользовательское название проекта.

Применяется к:

Project

Синтаксис:

Property UserName As String


ProjectLink object

Объект, представляющий связи проекта. Является образующим объектом коллекции ProjectLinks.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

ElemFrom

LayerFrom

MapFrom

MapTo

ScaleFrom

ScaleTo

XFrom

XTo

YFrom

YTo


ElemFrom property (ProjectLink)

Возвращает\устанавливает ключ объекта, для которого установлена связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property ElemFrom As Long


LayerFrom property (ProjectLink)

Возвращает\устанавливает имя слою, от которого идет связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property LayerFrom As String


MapFrom property (ProjectLink)

Возвращает\устанавливает имя карты, от которой идет связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property MapFrom As String


MapTo property (ProjectLink)

Возвращает\устанавливает имя карты, к которой идет связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property MapTo As String


ScaleFrom property (ProjectLink)

Возвращает\устанавливает масштаб отображения карты, от которой идет связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property ScaleFrom As Double


ScaleTo property (ProjectLink)

Возвращает\устанавливает масштаб отображения карты, к которой идет связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property ScaleTo As Double


XFrom, YFrom property (ProjectLink)

Возвращает\устанавливает координаты центра карты, от которой идет связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property XFrom As Double

Property YFrom As Double


XTo, YTo property (ProjectLink)

Возвращает\устанавливает координаты центра карты, к которой идет связь.

Применяется к:

ProjectLink

Синтаксис:

Visual Basic:

Property XTo As Double

Property YTo As Double


ProjectLinks object

Коллекция связей проекта. Коллекция возвращается свойством Project.Links, методами Project.FindLayerLinks и Project.FindMapLinks.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ProjectLink

CLSID:

{125070A0-0B01-11D2-B55D-444553540000}

Свойства:

Свойства

Count

Item

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.ProjectLink
Set obj = New ZuluLib.ProjectLink
//Delphi:
obj: IProjectLink;
obj := CoProjectLink.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.ProjectLink")


Count property (ProjectLinks)

Возвращает число связей в коллекции.

Применяется к:

ProjectLinks

Синтаксис:

Property Count As Long

read-only


Item property (ProjectLinks)

Возвращает по индексу элемент коллекции ProjectLink.

Применяется к:

ProjectLinks

Синтаксис:

Property Item(Index As Long) As ProjectLink

read-only

Index - номер элемента в коллекции (нумерация начинается с 1).


RasterObject object

Объект для работы с растровыми файлами.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

Create

DrawToDC

DrawToDC2

GetBitCount

GetHeight

GetPaletteColor

GetPaletteCount

GetPixel

GetPlanes

GetSizeImage

GetSrcFileName

GetSrcFileType

GetTempFileName

GetWidth

Open

OpenEx

SaveAs

SetPaletteColor

SetPixel


Create method (RasterObject)

Создает растр с заданными параметрами.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function Create(Width As Long, Height As Long, BitsPerPixel As Long, XDpi As Long, YDpi As Long) As Boolean

Width - ширина растра.

Height - высота растра.

BitsPerPixel - количество бит на пиксел.

XDpi - разрешение по оси X.

YDpi - разрешение по оси Y.

Описание:

Объект инициализируется заданными параметрами. Если объект был ранее уже инициализирован методами Open или Create, текущее состояние объекта обновляется с потерей предыдущей накопленной информации.

Если метод выполнен успешно, он вернет True. В противном случае метод вернет False.


DrawToDC method (RasterObject)

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

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function DrawToDC(hDC As Long, destX As Long, destY As Long, destW As Long, destH As Long,

Rx As Long, Ry As Long, rScale As Double, Angle As Double) As Boolean

hDC - контекст устройства.

destX - x-координата левого верхнего угла прямоугольной области отрисовки.

destY - y-координата левого верхнего угла прямоугольной области отрисовки.

destW - ширина прямоугольной области отрисовки.

destH - высота прямоугольной области отрисовки.

Rx - сдвиг левого верхнего угла растра по x в контекст устройства.

Ry - сдвиг левого верхнего угла растра по y в контекст устройства.

rScale - масштаб отрисовки растра.

Angle - угол поворота растра при отображении.


DrawToDC2 method (RasterObject)

Отрисовывает растр в указанный контекст устройства.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function DrawToDC2(hDC As Long, destX As Long, destY As Long, destW As Long, destH As Long, Rx As Long,

Ry As Long, rScale As Double, Angle As Double, bMask As Boolean, ROP2 As Long, StretchMode As Integer) As Boolean

hDC - контекст устройства.

destX - x-координата левого верхнего угла прямоугольной области отрисовки.

destY - y-координата левого верхнего угла прямоугольной области отрисовки.

destW - ширина прямоугольной области отрисовки.

destH - высота прямоугольной области отрисовки.

Rx - сдвиг левого верхнего угла растра по x в контекст устройства.

Ry - сдвиг левого верхнего угла растра по y в контекст устройства.

rScale - масштаб отрисовки растра.

Angle - угол поворота растра при отображении.

bMask

ROP2

StretchMode


GetBitCount method (RasterObject)

Возвращает число бит на цвет для однй точки растра.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetBitCount() As Long


GetHeight method (RasterObject)

Возвращает высоту растра в пикселах.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetHeight() As Long


GetPaletteColor method (RasterObject)

Возвращает цвет из палитры растра по индексу.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetPaletteColor(Index As Long) As Long

Index - индекс цвета в палитре (нумерация с нуля).

Описание:

В случае успеха метод вернет RGB цвет из палитры растра. Если у растрового объекта отсутствует палитра, или задано неверное значение индекса, метод вернет -1.


GetPaletteCount method (RasterObject)

Возвращает число цветов в палитре растра.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetPaletteCount() As Long

Описание:

Если у растрового объекта есть палитра, метод вернет число цветов в палитре. В противном случае метод вернет 0.


GetPixel method (RasterObject)

Возвращает цвет заданной точки растра.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetPixel(X As Long, Y As Long) As Long

X - x-координата точки растра.

Y - y-координата точки растра.

Описание:

Координаты точки должны находятся в интервалах:

0 <= X < GetWidth, 0 <= Y < GetHeight.

В этом случае метод вернет RGB цвет точки. В противном случае метод вернет -1.


GetPlanes method (RasterObject)

Возвращает число цветовых плоскостей растра.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetPlanes() As Long


GetSizeImage method (RasterObject)

Возвращает размер изображения в байтах.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetSizeImage() As Long


GetSrcFileName method (RasterObject)

Возвращает имя растрового файла.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetSrcFileName() As String

Описание:

Если объект был успешно инициализирован вызовом Open или OpenEx, метод вернет имя растрового файла. В противном случае метод вернет пустую строку.


GetSrcFileType method (RasterObject)

Возвращает формат растрового файла.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetSrcFileType() As Long

Описание:

Метод возвращает одно из возможных значений:

-1

формат не определен

0

Bitmap Picture (BMP)

1

Joint Photographic Experts Group (JPEG)

2

Graphics Interchange Format (GIF)

3

Tagged Image File Format (TIFF)

4

Portable Network Graphics (PNG)

5

PCExchange (PCX)


GetTempFileName method (RasterObject)

Возвращает имя временного файла в формате BMP.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetTempFileName() As String

Описание:

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


GetWidth method (RasterObject)

Возвращает ширину растра в пикселах.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function GetWidth() As Long


Open method (RasterObject)

Открывает растровый файл.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function Open(Filename As String) As Boolean

Filename - имя файла.

Описание:

Объект инициализируется параметрами из открываемого файла. Если объект был ранее уже инициализирован методами Open или Create, текущее состояние объекта обновляется с потерей предыдущей накопленной информации.

Если метод выполнен успешно, он вернет True. В противном случае метод вернет False.


OpenEx method (RasterObject)

Открывает растровый файл.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function OpenEx(Filename As String, Flags As Long) As Boolean

Filename - имя файла.

Flags - зарезервирован, должен быть 0.

Описание:

Объект инициализируется параметрами из открываемого файла. Если объект был ранее уже инициализирован методами Open или Create, текущее состояние объекта обновляется с потерей предыдущей накопленной информации.

Если метод выполнен успешно, он вернет True. В противном случае метод вернет False.


SaveAs method (RasterObject)

Сохраняет растровый объект в файл.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Function SaveAs(Filename As String, Format As Long, OverwriteExisting As Boolean) As Boolean

Filename - имя файла.

Format - формат файла.

OverwriteExisting - признак перезаписи существующего файла.

Описание:

Параметр Format может принимать одно из возможных значений:

0

Bitmap Picture (BMP)

1

Joint Photographic Experts Group (JPEG)

2

Graphics Interchange Format (GIF)

3

Tagged Image File Format (TIFF)

4

Portable Network Graphics (PNG)

Если объект успешно сохранен, метод вернет True. В противном случае - False.


SetPaletteColor method (RasterObject)

Задает цвет в палитре растра по индексу.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Sub SetPaletteColor(Index As Long, Color As Long)

Index - индекс цвета в палитре (нумерация с нуля).

Color - RGB цвет.

Описание:

В случае успеха метод установит в палитре растра RGB цвет по заданному индексу. Если у растрового объекта отсутствует палитра, или задано неверное значение индекса, метод не выполнит никаких действий.


SetPixel method (RasterObject)

Устанавливает цвет для заданной точки растра.

Применяется к:

RasterObject

Синтаксис:

Visual Basic:

Sub SetPixel(X As Long, Y As Long, Color As Long)

X - x-координата точки растра.

Y - y-координата точки растра.

Color - RGB цвет.

Описание:

Координаты точки должны находятся в интервалах:

0 <= X < GetWidth, 0 <= Y < GetHeight.

В этом случае метод установит RGB цвет для заданной точки. В противном случае метод не выполнит никаких действий.


Selection object

Представляет объект, содержащий набор свойств и методов для работы с группой выделенных объектов слоя. Входит как свойство в объект Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

ElementKeys

Visible

AddByContour

AddByPolyContour

AddElem

Area

CalcArea

CalcLength

ChangeDirections

Clear

ConvertToNetwork

ConvertToPolygons

ConvertToPolylines

ConvertToSymbols

CreateConcaveHull

CreateConvexHull

ExcludeSymbols

GetBounds

GetBoundsRectangle

GetLayer

GetStamp

Invert

IsSelected

Length

Modify

ModifyByKeyPairs

ModifyByKeys

ModifyByType

ModifyEx

RemoveElem

SelectAll

SelectDubbed

WriteToLayer


AddByContour method (Selection)

Выделяет группу объектов слоя по пересечению с контуром.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub AddByContour(Contour As Contour, Crit As eCrossCriteria)

Contour - контурный объект, задающий область выделения.

Crit - критерий пересечения объектов слоя с контуром, может принимать значения из набора eCrossCriteria.

Пример:

Dim Cells As Layer
Dim Houses As Layer
Dim Cell As Contour

Set Cells = New Layer
'Открываем слой кварталов
Cell.Open "g:\Zulu\Data\Cells.b00"

Set Houses = New Layer
'Открываем слой домов
Houses.Open "g:\Zulu\Data\Houses.b00"

'Получаем контур квартала с ID=1
Set Cell = Cells.Elements.Item(1).Contour

'Выделяем все дома, полностью попавшие в квартал
Houses.Selection.AddByContour Cell, eFullyInside


AddByPolyContour method (Selection)

Выделяет группу объектов слоя по пересечению с составным полигоном.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub AddByPolyContour(PolyC As PolyContour, Crit As eCrossCriteria)

PolyC - составной полигон для пересечения со слоем.

Crit - критерий пересечения объектов слоя.


AddElem method (Selection)

Добавляет в группу слоя объект с указанным ID.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub AddElem(ElemID As Long)

ElemID - ID объекта слоя.


Area method (Selection)

Возвращает суммарную площадь выделенных обектов.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function Area() As Double

Пример:

'выделить в активном слое все объекты
MapCtrl1.Map.Layers.Active.Selection.SelectAll

'вернуть их суммарную площадь
MsgBox MapCtrl1.Map.Layers.Active.Selection.Area


CalcArea method (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function CalcArea(inCRS As CRS, eMeasure As eMeasureType) As Double

inCRS - система координат в которой вычисляется площадь.

eMeasure - способ вычисления площади (в прямоугольной системе или на сфероиде).

Описание:

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


CalcLength method (Selection)

Возвращает суммарную длину группы объектов в указанной системе координат.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function CalcLength(inCRS As CRS, eMeasure As eMeasureType) As Double

inCRS - система координат в которой вычисляется площадь.

eMeasure - способ вычисления площади (в прямоугольной системе или на сфероиде).

Описание:

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


ChangeDirections method (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function ChangeDirections()As Long

Описание:

Метод аналогичен последовательному вызову метода Element.ChangeDirection для всех участков группы.


Clear method (Selection)

Отменяет группу выделенных объектов слоя.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub Clear()


ConvertToNetwork method (Selection)

Преобразует объекты группы в элементы сети.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function ConvertToNetwork(iParams As ConvertToNetworkParams) As Long

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

Пример:

'Преобразование в сеть выделенных объектов активного слоя активной карты
Sub ConvertToNetwork

'Создаем объект для задания параметров преобразования
Set Params = CreateObject("ZuluLib.ConvertToNetworkParams")

'Преобразуем простые линии
Params.ConvertLinePrimitives = True

'Преобразуем простые символы
Params.ConvertPointPrimitives = True

'Подтягиваем концы линий к узлам
Params.AttachEndsOfLineToNodes = True

'Ставим точки перелома на пересечениях линий
Params.InsertIntersectionPoints = True

'Разбиваем линии узлами в точках перелома
Params.SplitLinesByNodes = true

'Ставим точки перелома в местах примыкания линий
Params.InsertTouchPoints = True

'Задаем режим участков
Params.SetTypeModeForLine 6, 1

'Задаем режим для соединений участков
Params.SetTypeModeForJunction 2, 1

'Задаем режим для узлов на концевых участках
Params.SetTypeModeForDeadlock 3, 1

'Активный слой
Set L = Zulu.ActiveMapDoc.Layers.Active

'Преобразуем группу в сеть
L.Selection.ConvertToNetwork Params

End Sub


ConvertToPolygons method (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function ConvertToPolygons(Style As ElemStyle, ElemType As Long, ElemMode As Long, Delta As Double) As Long

Style - объект, описывающий стиль полигона.

ElemType - номер типа полигона.

ElemMode - номер режима полигона.

Delta - окрестность для замыкания концов ломаной в метрах.

Описание:

В случае успеха, метод вернет 0 и поменяет все линейные объекты в полигоны, в противном случае, метод вернет -1. Можно преобразовывать как в примитив, так и в определенный тип с режимом. При преобразовании в примитив, ElemType и ElemMode должны быть равны значению -1 (как во втором примере).

Пример 1:

'преобразуем в тип
Sub Selection_ConvertToPolygons
Set L = Zulu.ActiveMapDoc.Layers.Active
output = L.Selection.ConvertToPolygons(st, 1, 2, 1)
MsgBox(output)
End Sub

Пример 2:

'преобразуем в приметив
Sub Selection_ConvertToPolygons
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект Стиля объекта
Set st = CreateObject ("ZuluLib.ElemStyle")
'задаем красный цвет узора
st.PatColor = 255
output = L.Selection.ConvertToPolygons(st, -1, -1, 1)
MsgBox(output)
End Sub


ConvertToPolylines method (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function ConvertToPolylines(Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long

Style - объект, описывающий стиль линии.

ElemType - номер типа линии.

ElemMode - номер режима линии.

Описание:

В случае успеха, метод вернет 0 и поменяет все контуры площадных объектов в линии, в противном случае, метод вернет -1. Можно преобразовывать как в примитив, так и в определенный тип с режимом. При преобразовании в примитив, ElemType и ElemMode должны быть равны значению -1 (как в первом примере).

Пример 1:

'преобразуем в приметив
Sub Selection_ConvertToPolylines
Set L = Zulu.ActiveMapDoc.Layers.Active
Set obj = L.Elements.GetElement(ID)
'создаем объект Стиля объекта
Set st = CreateObject ("ZuluLib.ElemStyle")
'задаем красный цвет
st.LineColor = 255
'превращает полигон в линии примитив с заданным стилем
output = L.Selection.ConvertToPolylines(st, -1, -1)
'выводим результат операции
MsgBox(output)
End Sub

Пример 2:

'преобразаем в определенный тип и режим
Sub Selection_ConvertToPolylines
Set L = Zulu.ActiveMapDoc.Layers.Active
'превращает полигоны в линии типа 3 и режимом 1
output = L.Selection.ConvertToPolylines(Nothing, 3, 1)
'выводим результат операции
MsgBox(output)
End Sub


ConvertToSymbols method (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function ConvertToSymbols(Style As ElemStyle, ElemType As Long, ElemMode As Long, flags As Long) As Long

Style - объект, описывающий стиль символа.

ElemType - номер типа символа.

ElemMode - номер режима символа.

flags - зарезервирован, должен быть 0.

Описание:

В случае успеха, метод вернет 0 и создаст символы по середине преобразуемых объектов, в противном случае, метод вернет -1. Можно преобразовывать как в примитив, так и в определенный тип с режимом. При преобразовании в примитив, ElemType и ElemMode должны быть равны значению -1, также стиль объекта должен указывать на ID символа (как в первом примере).

Пример 1:

'преобразуем в приметив
Sub Selection_ConvertToSymbols
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект Стиля объекта
Set st = CreateObject ("ZuluLib.ElemStyle")
'задаем ID символа и его размер
st.SymbolID = 1
st.SymbolSize = 100
'превращает полигоны/линии в символьный приметив с заданным стилем
output = L.Selection.ConvertToSymbols( st, -1, -1, 0)
'выводим результат операции
MsgBox(output)
End Sub

Пример 2:

'преобразуем в типовые символы
Sub Selection_ConvertToSymbols
Set L = Zulu.ActiveMapDoc.Layers.Active
'создаем объект Стиля объекта
Set st = CreateObject ("ZuluLib.ElemStyle")
'задаем ID символа и его размер
st.SymbolID = 1
st.SymbolSize = 100
'превращает полигон/линию в символьные объекты с типом 2 и режимом 3
output = L.Selection.ConvertToSymbols( st, 2, 3, 0)
'выводим результат операции
MsgBox(output)
End Sub


CreateConcaveHull method (Selection)

Создает вогнутую оболочку для группы объектов.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function CreateConcaveHull(EdgeLengthParameter As Double, Flags As Long) As Contour

EdgeLengthParameter - параметр, определяющий степень вогнутости.

Flags - набор флагов.

Описание:

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

Если параметр Flags не содержит флаг 0x1, то параметр EdgeLengthParameter должен принимать значения в диапазоне от 0 до 1.

Значение 0 соответствует максимальной вогнутости без нарушения связности оболочки.

Значение 1 соответствует построению минимальной выпуклой оболочки.

Если параметр Flags содержит флаг 0x1, то в параметре EdgeLengthParameter нужно задавать максимальную длину ребра в метрах.


CreateConvexHull method (Selection)

Создает по группе выделенных объектов выпуклую оболочку в виде контурного объекта Contour

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function CreateConvexHull() As Contour


ElementKeys property (Selection)

Возвращает коллекцию ElementKeys, содержащую ключи объектов слоя, входящих в группу.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Property ElementKeys As ElementKeys

read-only

Пример:

Private Sub Command1_Click()

Dim i As Long
Dim elkeys As ElementKeys

'Получаем коллекцию ключей выделенных элементов  активного слоя
Set elkeys = MapCtrl1.Map.Layers.Active.Selection.ElementKeys

'Просмотр всех ключей активного слоя, входящих  в коллекцию
For i = 1 To elkeys.Count
MsgBox elkeys.Item(i)
Next i

End Sub


ExcludeElem method (Selection)

Исключает из группы объект с указанным ID.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub ExcludeElem(ElemID As Long)

ElemID - ID исключаемого элемента.


ExcludeSymbols method (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function ExcludeSymbols()As Long

Описание:

Метод аналогичен последовательному вызову метода Layer.ExcludeSymbol для всех символов группы.


GetBounds method (Selection)

Возвращает габариты группы.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub GetBounds(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double)

X1, Y1 - координаты левого верхнего угла.

X2, Y2 - координаты правого нижнего угла.


GetBoundsRectangle method (Selection)

Возвращает объект ZRectangle, содержащий габариты группы.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function GetBoundsRectangle() As ZRectangle


GetLayer Method (Selection)

Возвращает объект Layer, которому принадлежит данная группа.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function GetLayer() As Layer


GetStamp method (Selection)

Возвращает значения счетчика изменений группы.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function GetStamp() As Long

Описание:

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


Invert method (Selection)

Инвертирует группу слоя. Создает новую группу, в которую будут входить все объекты, не входящие в текущую группу.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub Invert()


IsSelected method (Selection)

Возвращает признак принадлежности объекта к группе.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function IsSelected(ElemID As Long) As Boolean

ElemID - ID объекта слоя.

Описание:

Если объект входит в группу, метод вернет True.


Length (Selection)

Возвращает суммарную длину выделенных обектов.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function Length() As Double


Modify method (Selection)

Изменяет группу выделенных объектов слоя по списку ключей (ID) объектов слоя.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub Modify(What As eModifySelection, nElemCount As Long, pElemIDs As Long)

What - способ изменения группы.

nElemCount - количество ключей в списке.

pElemIDs - список ключей (массив четырехбайтовых целых чисел).


ModifyByKeyPairs method (Selection)

Изменяет группу выделенных объектов слоя по списку ключей из коллекции ElementKeyPairs.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub ModifyByKeyPairs(What As eModifySelection, KeyPairs As ElementKeyPairs, nRow As Long)

What - способ изменения группы.

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

nRow - указывает, из какого элемента пары берется ключ ( 0 - FirstKey, 1 - SecondKey).


ModifyByKeys method (Selection)

Изменяет группу выделенных объектов слоя по списку ключей (ID) элементов слоя.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub ModifyByKeys(What As eModifySelection, Keys As ElementKeys)

What - способ изменения группы, может принимать значения из набора eModifySelection.

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

Пример:

'Выделяем все объекты с типом 6
Private Sub Command2_Click(Layer1 As Layer)

 Layer1.Selection.ModifyByKeys eSelCreate, Layer1.SelectByType(6, 0)

 Эквивалентно
Layer1.Selection.ModifyByType eSelCreate, 6, 0

End Sub


ModifyByType method (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub ModifyByType(What As eModifySelection, TypeID As Long, nMode As Long)

What - способ изменения группы, может принимать значения из набора eModifySelection.

TypeID - ID типа.

nMode - номер режима.

Описание:

Если nMode равен 0, то в изменении группы будут участвовать все объекты указанного типа, независимо от режима.

Если TypeID равен 0, то в изменении группы будут участвовать объекты всех типов с заданным режимом.

Если TypeID равен -1, то в изменении группы будут участвовать примитивы графического типа (eElemGraphType), заданного в параметре nMode.


ModifyEx method (Selection)

Изменяет группу выделенных объектов слоя по списку ключей объектов слоя.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub Modify(What As eModifySelection, vKeys)

What - способ изменения группы

vKeys - переменная VARIANT со списком ключей объектов

В качестве VARIANT могут применяться числовой массив VT_ARRAY, а так же интерфейсы VT_DISPATCH и VT_UNKNOWN.

На данный момент поддерживаются интерфейсы ElementKeys и IZbDataset

Описание:

В случае подстановки IZbDataset подразумевается, что список ключей расположен в первой колонке.

Пример 1:

Visual Basic
'Выделяем объекты, заданные массивом
Private Sub Command2_Click(Layer1 As Layer)

dim arr(3) as long

arr(0) = 118
arr(1) = 116
arr(2) = 5

Layer1.Selection.ModifyEx eSelCreate, arr

End Sub

'Выделяем одиночный объект
Private Sub Command3_Click(Layer1 As Layer)

Layer1.Selection.ModifyEx eSelCreate, 118

End Sub

Пример 2:

VBScript
'Выделяем объекты по результату SQL запроса к слою

Const eSelCreate = 1

Sub SelectFromSql

Set Map = Zulu.ActiveMapDoc

Set L = Map.Layers.Active

Set SqlResult = L.ExecSQL ("SELECT Sys FROM [Gaz_ps] WHERE [Вид прокладки] = ""Подземная""")

Set Ds = SqlResult.DataSet

L.Selection.ModifyEx eSelCreate, DS

End Sub


RemoveElem method (Selection)

Убирает из выделенной группы объект с указанным ID.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub RemoveElem(ElemID As Long)

ElemID - ID объекта.

Пример:

Sub Selection_RemoveElem
Set L = Zulu.ActiveMapDoc.Layers.Active
L.Selection.RemoveElem(123)
End Sub


SelectAll method (Selection)

Выделяет все объекты слоя.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub SelectAll()


SelectDubbed method (Selection)

Выделяет дублированные объекты. Под дублированными понимаются объекты, геометрически совпадающие друг с другом.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Sub SelectDubbed(Flags As Long)

Flags:

0 - поиск по всему слою,

1 - поиск среди выделенных объектов.


Visible (Selection)

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

Применяется к:

Selection

Синтаксис:

Visual Basic:

Property Visible As Boolean


WriteToLayer method (Selection)

Записывает (копирует) объекты группы в другой слой.

Применяется к:

Selection

Синтаксис:

Visual Basic:

Function WriteToLayer(Layer As Layer, Flags As Long) As Long

Layer - слой для записи.

Flags:

0 - записывает только графику.

1 - записывает графику и табличные данные.

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

Описание:

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


Symbol object

Представляет символ системы Zulu. Является основным объектом коллекции Symbols.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.Symbol

CLSID:

{125070B2-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

HotSpot

Id

Name

Picture

SymbolElements

AddArc

AddContour

AddEllipse

AddImagePath

AddPolyLine

AddText

Draw

DrawEx

GetBLOB

GetBLOBSize

GetBoundsRectangle

SetBLOB

SetHotSpot

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.Symbol
Set obj = New ZuluLib.Symbol
//Delphi:
obj: ISymbol;
obj := CoSymbol.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.Symbol")


AddArc method (Symbol)

Добавляет в символ дугу.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function AddArc(Arc As ZArc, Style As ElemStyle) As Long

Arc - объект-дуга, задающий параметры добавляемого элемента.

Style - объект, задающий стиль отображения добавляемого объекта.

Описание:

Метод возвращает ключ добавленного в символ объекта (если добавить объект не удалось, возвращает -1).


AddContour method (Symbol)

Добавляет полигон в символ.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function AddContour(Region As Contour,Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long

Region - контурный объект, задающий параметры добавляемого элемента.

Style - объект, задающий стиль отображения добавляемого объекта.

ElemMode, ElemType - для символа не используются.

Описание:

Метод возвращает ключ добавленного в символ объекта (если добавить объект не удалось, возвращает -1).


AddEllipse method (Symbol)

Добавляет эллипс в символ.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function AddEllipse(Ellipse As ZEllipse, Style As ElemStyle) As Long

Ellipse - объект-элипс, задающий параметры добавляемого элемента.

Style - объект, задающий стиль отображения добавляемого объекта.

Описание:

Метод возвращает ключ добавленного в символ объекта (если добавить объект не удалось, возвращает -1).


AddImage method (Symbol)

Добавляет изображение в символ.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function AddImage(Stream As IUnknown, X As Double, Y As Double) As Long

Stream - поток бинарных данных, содержащий изображение в одном из форматов (png, jpg...).

X, Y - координаты вставки изображения по верхнему левому углу в системе кординат символа.

Описание:

Метод возвращает ключ добавленного в символ объекта (если добавить объект не удалось, возвращает -1).


AddImagePath method (Symbol)

Добавляет растровое изображение в символ из файла.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function AddImagePath(ImagePath As String, X As Double, Y As Double) As Long

ImagePath - путь до растрового изображения.

X, Y - координаты привязки верхнего левого угла изображения.

Описание:

Метод возвращает ключ добавленного в символ объекта (если добавить объект не удалось, возвращает -1).


AddPolyLine method (Symbol)

Добавляет ломаную в символ.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function AddPolyLine(Pline As PolyLine, Style As ElemStyle, ElemType As Long, ElemMode As Long) As Long

Pline - ломаная, задающая параметры добавляемого элемента.

Style - объект, задающий стиль отображения добавляемого объекта.

ElemType,ElemMode - не используются.

Описание:

Метод возвращает ключ добавленного в символ объекта (если добавить объект не удалось, возвращает -1).


AddText method (Symbol)

Добавляет текст в символ.

Применяется к:

Symbol

Синтаксис:

Function AddText(X As Double, Y As Double, text As String, Style As ElemStyle) As Long

X, Y - координаты левого нижнего угла текста.

text - текст.

Style - объект, задающий стиль отображения добавляемого объекта.

Описание:

Метод возвращает ключ добавленного в символ объекта (если добавить объект не удалось, возвращает -1).


Draw method (Symbol)

Отображает символ в контекст устройства.

Применяется к:

Symbol

Синтаксис:

Sub Draw(hDC As Long, X As Double, Y As Double, Scale As Double, Angle As Double)

hDC - контекст устройства.

X, Y - координаты вывода точки привязки символа на устройство.

Scale - масштаб отображения текста.

Angle - угол поворота символа.


DrawEx method (Symbol)

Отображает символ в контекст устройства.

Применяется к:

Symbol

Синтаксис:

Sub DrawEx(hDC As Long, X As Double, Y As Double, Scale As Double, Angle As Double), SymbolColor As Long

hDC - контекст устройства.

X, Y - координаты вывода точки привязки символа на устройство.

Scale - масштаб отображения текста.

Angle - угол поворота символа.

SymbolColor - цвет для элементов символа, чей цвет задан как "Авто".


DrawSampleImage method (Symbol)

Создает изображение символа с заданными параметрами и записывает его в поток.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function DrawSampleImage(Stream As IUnknown, Width As Long, Height As Long, SpaceX As Long, SpaceY As Long, Format As Long, ImageBkColor As Long, ImageTransparent As Boolean, Scale As Double, Angle As Double) As Boolean

Stream - поток для записи результата с изображением.

Width - ширина рисунка.

Height - высота рисунка.

SpaceX - поля по вертикали.

SpaceY - поля по горизонтали.

Format - формат растрового зображения.

ImageBkColor - цвет фона изображения.

ImageTransparent - признак прозрачности изображения.

Scale - масштабный коэффициент изображения.

Angle - угол поворота символа.

Описание:

Параметр Format может принимать одно из возможных значений:

0

Bitmap Picture (BMP)

1

Joint Photographic Experts Group (JPEG)

2

Graphics Interchange Format (GIF)

3

Tagged Image File Format (TIFF)

4

Portable Network Graphics (PNG)


DrawToRaster method (Symbol)

Создает изображение символа с заданными параметрами и записывает его в файл.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function DrawToRaster(FileName As String, RasterType As Long, Width As Long, Height As Long, spaceX As Long, spaceY As Long, Scale As Double, Angle As Double, SymbolColor As Long, BkColor As Long, Transparent As Boolean) As Long

FileName - файл для записи изображения.

RasterType - формат растрового файла.

Width - ширина рисунка.

Height - высота рисунка.

SpaceX - поля по вертикали.

SpaceY - поля по горизонтали.

Scale - масштабный коэффициент изображения.

Angle - угол поворота символа.

SymbolColor - цвет символа.

ImageBkColor - цвет фона изображения.

Transparent - признак прозрачности изображения.

Описание:

Параметр Format может принимать одно из возможных значений:

0

Bitmap Picture (BMP)

1

Joint Photographic Experts Group (JPEG)

2

Graphics Interchange Format (GIF)

3

Tagged Image File Format (TIFF)

4

Portable Network Graphics (PNG)


DrawToStream method (Symbol)

Создает изображение символа с заданными параметрами и записывает его в поток.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function DrawToStream(Stream As IUnknown, RasterType As Long, Width As Long, Height As Long, spaceX As Long, spaceY As Long, Scale As Double, Angle As Double, SymbolColor As Long, BkColor As Long, Transparent As Boolean) As Long

Stream - поток для записи изображения.

RasterType - формат растрового файла.

Width - ширина рисунка.

Height - высота рисунка.

SpaceX - поля по вертикали.

SpaceY - поля по горизонтали.

Scale - масштабный коэффициент изображения.

Angle - угол поворота символа.

SymbolColor - цвет символа.

ImageBkColor - цвет фона изображения.

Transparent - признак прозрачности изображения.

Описание:

Параметр Format может принимать одно из возможных значений:

0

Bitmap Picture (BMP)

1

Joint Photographic Experts Group (JPEG)

2

Graphics Interchange Format (GIF)

3

Tagged Image File Format (TIFF)

4

Portable Network Graphics (PNG)


GetBLOB method (Symbol)

Возвращает символ в виде бинарного объекта.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function GetBLOB(pVal) As Boolean

Описание:

Метод возвращает переменную типа VARIANT, которая содержит массив байт (VT_UI1 | VT_ARRAY).


GetBLOBSize method (Symbol)

Возвращает размер символа как бинарного объекта.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function GetBLOBSize() As Long


GetBoundsRectangle method (Symbol)

Возвращает объект ZRectangle, содержащий габариты символа.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function GetBoundsRectangle(Angle As Double) As ZRectangle

Angle - угол поворота символа при определении габаритов.


HotSpot property (Symbol)

Возвращает точку призязки символа к карте.

Применяется к:

Symbol

Синтаксис:

Property HotSpot As ZPoint

read-only


Id property (Symbol)

Возвращает ID символа.

Применяется к:

Symbol

Синтаксис:

Property Id As Long

read-only


Name property (Symbol)

Возвращает\устанавливает пользовательское название символа.

Применяется к:

Symbol

Синтаксис:

Property Name As String


Picture property (Symbol)

Возвращает OLE Picture объект с изображением символа.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Property Picture As StdPicture

read-only

Пример:

'Получить объект-картинку выделенного на карте символа и вывести его в стандартный
'элемент управления PictureBox(Picture1).

Dim pic As StdPicture

Set pic = MapCtrl1.Map.Layers.Active.Symbols.ItemById(SymbolID).Picture

Picture1.Width = pic.Width / 10
Picture1.Height = pic.Height / 10
Picture1.picture = pic


SaveBLOBAs method (Symbol)

Записывает символ во внутреннем формате ZuluGIS в бинарный файл.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function SaveBLOBAs(sFileName As String) As Boolean

sFileName - имя файла для записи.

Описание:

Полученный бинарный файл можно в дальнейшем использовать для записи символа в слой методом SetBLOB.


SetBLOB method (Symbol)

Заполняет символ данными из массива двоичных данных (от BLOB - binary large object).

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Function SetBLOB(pVal) As Boolean

pVal - VARIANT с массивом байт.

Описание:

Переменная типа VARIANT должна содержать массив байт (VT_UI1 | VT_ARRAY). Если входные данные распознаны как символ, они будут скопированы в объект, и метод вернет True. В противном случае метод вернет False.


SetHotSpot method (Symbol)

Установить точку привязки символа.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Sub SetHotSpot(X As Double, Y As Double)

X, Y - новые координаты точки привязки символа.


SymbolElements property (Symbol)

Возвращает коллекцию элементов, из которых состоит символ.

Применяется к:

Symbol

Синтаксис:

Visual Basic:

Property SymbolElements As SymbolElements

read-only


SymbolElement object

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

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Arc

Contour

ElemStyle

ElemText

Ellipse

GraphType

Key

PolyLine

XY


Arc property (SymbolElement)

Возвращает объект ZArc - дугу.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property Arc As ZArc

read-only


Contour property (SymbolElement)

Возвращает полигон Contour.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property Contour As Contour

read-only


ElemStyle property (SymbolElement)

Возвращает/устанавливает стиль элемента.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property ElemStyle As ElemStyle


ElemText property (SymbolElement)

Возвращает/устанавливает текст элемента.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property ElemText As String


Ellipse property (SymbolElement)

Возвращает объект ZEllipse - эллипс.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property Ellipse As ZEllipse

read-only


GraphType property (SymbolElement)

Возвращает графический тип элемента.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property GraphType As eElemGraphType

read-only


Key property (SymbolElement)

Возвращает индекс элемента в коллекции SymbolElements.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property Key As Long

read-only


PolyLine property (SymbolElement)

Возвращает объект PolyLine - полилинию.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property PolyLine As PolyLine

read-only


XY property (SymbolElement)

Возвращает объект ZPoint для точки привязки символа.

Применяется к:

SymbolElement

Синтаксис:

Visual Basic:

Property HotSpot As ZPoint

read-only


SymbolElements collection

Коллекция элементов, из которых состоит символ. Возвращается как свойство SymbolElements объекта Symbol.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

RemoveItem


Count property (SymbolElements)

Возвращает число элементов коллекции.

Применяется к:

SymbolElements

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Item property (SymbolElements)

Возвращает объект SymbolElement из коллекции по индексу.

Применяется к:

SymbolElements

Синтаксис:

Visual Basic:

Property Item(Index As Long) As SymbolElement

read-only

Index - индекс элемента в коллекции (нумерация с нуля).


RemoveItem method (SymbolElements)

Удаляет элемент из коллекции.

Применяется к:

SymbolElements

Синтаксис:

Visual Basic:

Function RemoveItem(Index As Long) As Boolean

Index - индекс удаляемого элемента в коллекции (нумерация с нуля).


Symbols object

Коллекция символов слоя. Возвращается как свойство Symbols объекта Layer.

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

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

ItemById

AddItem

AddItemEx

GetIdByIndex

GetIndexById

RemoveItem

ReplaceItem


AddItem method (Symbols)

Добавляет символ в библиотеку символов.

Применяется к:

Symbols

Синтаксис:

Function AddItem(Symbol As Symbol) As Long

Symbol - объект, задающий параметры добавляемого символа.

Описание:

Метод возвращает ID добавленного в слой символа. Если символ в коллекцию добавить не удалось, метод вернет -1.


AddItemEx method (Symbols)

Добавить символ с указанным ID в библиотеку символов.

Применяется к:

Symbols

Синтаксис:

Function AddItemEx(Symbol As Symbol, Id As Long) As Long

Symbol - объект, задающий параметры добавляемого символа.

Id - ID добавляемого символа.

Описание:

Если Id равен -1, то ID символа присваивается автоматически.

Если символ с указанным Id уже существует, то символ добавлен не будет.

Метод возвращает ключ добавленного в слой символа. Если символ в коллекцию добавить не удалось, метод вернет -1.


ChangeId method (Symbols)

Назначает новый ID для указанного символа.

Применяется к:

Symbols

Синтаксис:

Visual Basic:

Function ChangeId(ID As Long, NewID As Long) As Long

ID - текущий ID символа.

NewID - новый ID символа.

Описание:

Если новый ID уже присутствует в коллекции символов слоя, то назначения ID не произойдет и метод вернет -1.

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


Count property (Symbols)

Возвращает число символов в коллекции.

Применяется к:

Symbols

Синтаксис:

Property Count As Long

read-only


GetIdByIndex method (Symbols)

Возвращает ID символа из коллекции символовов слоя по индексу.

Применяется к:

Symbols

Синтаксис:

Visual Basic:

Function GetIdByIndex(Index As Long) As Long

Index - индекс символа в коллекции (нумерация с нуля).

Описание:

В случае успеха метод вернет ID. В противном сучае, метод вернет -1.


GetIdByIndex method (Symbols)

Возвращает индекс символа из коллекции символовов слоя по ID.

Применяется к:

Symbols

Синтаксис:

Visual Basic:

Function GetIndexById(Id As Long) As Long

Id - ID символа в коллекции символов слоя.

Описание:

В случае успеха метод вернет индекс символа (нумерация с нуля). В противном сучае, метод вернет -1.


Item property (Symbols)

Возвращает по номеру объект Symbol из коллекции.

Применяется к:

Symbols

Синтаксис:

Property Item(Index As Long) As Symbol

read-only

Index - номер символа в коллекции (нумерация с нуля).


ItemById property (Symbols)

Возвращает объект Symbol из коллекции по ID символа.

Применяется к:

Symbols

Синтаксис:

Property ItemById(SymbolID As Long) As Symbol

read-only

SymbolID - ID символа в библиотеке символов.


RemoveItem method (Symbols)

Удаляет символ из библиотеки символов.

Применяется к:

Symbols

Синтаксис:

Visual Basic:

Function RemoveItem(SymbolID As Long) As Boolean

SymbolID - ID удаляемого из библиотеки символа.

Описание:

В случае успешного удаления метод вернет True.


ReplaceItem method (Symbols)

Удаляет символ из библиотеки символов.

Применяется к:

Symbols

Синтаксис:

Visual Basic:

Function ReplaceItem(SymbolID As Long, Symbol As Symbol) As Boolean

SymbolID - ID заменяемого символа.

Symbol - символ для замены.

Описание:

В случае успешной замены метод вернет True.


SymbolStyle object

Описывает стиль символьных объектов.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Color

FixLowScale

FixScale

ForEach

Name

Orientable

Rotatable

Scalable

Size

SwitchState

Symbol

Tag


Color property (SymbolStyle)

Задает\возвращает цвет символа для элементов, содержащих стиль Авто.

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Color As Long


FixLowScale property (SymbolStyle)

Задает\возвращает признак при котором символ не уменьшается меньше заданного размера.

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property FixLowScale As Boolean


FixScale property (SymbolStyle)

Задает\возвращает признак при котором символ не увеличивается больше заданного размера.

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property FixScale As Boolean


ForEach property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property ForEach As Boolean


Name property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Name As String


Orientable property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Orientable As Boolean


Rotatable property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Rotatable As Boolean


Scalable property (SymbolStyle)

Задает\возвращает признак масштабируемости символа.

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Scalable As Boolean


Size property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Size As Long


SwitchState property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property SwitchState As Long


Symbol property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Symbol As Long


Tag property (SymbolStyle)

Применяется к:

SymbolStyle

Синтаксис:

Visual Basic:

Property Tag As eObjectTypeTag

read-only


TargetSelection object

Представляет объект, содержащий набор свойств и методов для работы с мишенью слоя. Входит как свойство в объект Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

ElementKeys

Clear

Combine

CopyFromSelection

EraseInside

EraseOutside

Invert

RemoveElem

Split

SplitByPolyline


AddElem method (TargetSelection)

Добавляет в мишень слоя объект с указанным ID.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Sub AddElem(ElemID As Long)

ElemID - ID объекта слоя.


Clear method (TargetSelection)

Отменяет мишень слоя.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Sub Clear()


Combine method (TargetSelection)

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

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Function Combine(Options As Long) As Long

Options:

0 - объединять общие границы полигонов,

1 - оставлять общие границы полигонов.

Примечание:

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


CopyFromSelection method (TargetSelection)

Создает мишень слоя на основе входящих в группу объектов. Все элементы группы становятся элементами мишени, а сама группа при этом отменяется. Метод аналогичен команде системы ZuluПравка\Установить мишень Ctrl+T.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Sub CopyFromSelection()


ElementKeys property (TargetSelection)

Возвращает коллекцию ElementKeys, содержащую ключи объектов, входящих в мишеь слоя.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Property ElementKeys As ElementKeys

read-only

Пример:

Private Sub Command1_Click()

Dim i As Long
Dim elkeys As ElementKeys

'Получаем коллекцию ключей мишени активного слоя
Set elkeys = MapCtrl1.Map.Layers.Active.TargetSelection.ElementKeys

'Просмотр всех ключей активного слоя, входящих в мишень
For i = 1 To elkeys.Count
    MsgBox elkeys.Item(i)
Next i

End Sub


EraseInside method (TargetSelection)

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

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Function EraseInside(Layer As Layer, Options As Long) As Long

Layer - слой, пересекаемый с данным слоем.

Options - зарезервирован, должен быть 0.

Примечание:

Слой с мишенью и слой с группой выделенных объектов могут совпадать, наример:

Mapctrl1.Map.Layers(1).TargetSelection.EraseInside Mapctrl1.Map.Layers(1), 0


EraseOutside method (TargetSelection)

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

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Function EraseOutside(Layer As Layer, Options As Long) As Long

Layer - слой, пересекаемый с данным слоем.

Options - зарезервирован, должен быть 0.

Примечание:

Слой с мишенью и слой с группой выделенных объектов могут совпадать, наример:

Mapctrl1.Map.Layers(1).TargetSelection.EraseOutside Mapctrl1.Map.Layers(1), 0


Invert method (TargetSelection)

Инвертирует мишень слоя. Отменяет мишень слоя и ставит мишень на все объекты, на которых не стояло мишени.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Sub Invert()

Пример:

Sub TargetSelection_Invert
'Инвертирует мишень в активном слое
Set L = Zulu.ActiveMapDoc.Layers.Active
L.TargetSelection.Invert
End Sub


RemoveElem method (TargetSelection)

Убирает из мишени слоя объект с указанным ID.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Sub RemoveElem(ElemID As Long)

ElemID - ID объекта слоя.

Пример:

Sub TargetSelection_RemoveElem
Set L = Zulu.ActiveMapDoc.Layers.Active
'Убираем из мишени объект с ключем 9
L.TargetSelection.RemoveElem 9
End Sub


Split method (TargetSelection)

Разделяет объекты мишени слоя на две области. Одна - область пересечения с группой выделенных объектов заданного слоя. Вторая - оставшаяся от вычитания пересечения.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Function Split(Layer As Layer, Options As Long) As Long

Layer - слой, пересекаемый с данным слоем.

Options - зарезервирован, должен быть 0.

Примечание:

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

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


SplitByPolyline method (TargetSelection)

Разрезает объекты мишени слоя ломаной линией, выделенной в заданном слое.

Применяется к:

TargetSelection

Синтаксис:

Visual Basic:

Function SplitByPolyline(Layer As Layer, Options As Long) As Long

Layer - слой, пересекаемый с данным слоем.

Options - зарезервирован, должен быть 0.

Примечание:

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

Слой с мишенью и слой с группой, где выделена полилиния, могут совпадать.

Объекты мишени, не имеющие пересечений с полилинией, не разделяются и остаются без изменений.

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


Theme object

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

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.Theme

CLSID:

{1250708E-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Field

FieldCount

LayerPath

Name

Parameter

UserName

Close

Create

Open

OpenByThemeId

Remove

Save

SaveAs

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.Theme
Set obj = New ZuluLib.Theme
//Delphi:
obj: ITheme;
obj := CoTheme.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.Theme")


AutoUpdate property (Theme)

Возвращает\устанавливает признак автообновления тематической раскраски.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Property AutoUpdate() As Boolean


Close Method (Theme)

Закрывает ранее открытый тематический файл.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Sub Close()

Описание:

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


Create Method (Theme)

Создает и открывает для редактирования тематический файл.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Function Create(Path As String, UserName As String, LayerPath As String) As Boolean

Path - имя создаваемого файла.

UserName - пользовательское название создаваемого файла.

LayerPath - имя слоя (полный путь), для которого создается тема.

Описание:

Если имя файла задано неверно или слой с указанным именем отсутствует, то метод вернет False.

В случае успеха будет создан файл с FieldCount = 0 и метод вернет True.

Пример:

см. здесь


Field property (Theme)

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

Применяется к:

Theme

Синтаксис:

Visual Basic:

Property Field(Index As Long) As eThemeField

read-only

Index - порядковый номер поля.

Описание:

Нумерация полей тематического файла идет с единицы. Если поле с указанным номером отсутствует, или объект вообще не инициализирован, свойство вернет значение eThemeNone.


FieldCount property (Theme)

Возвращает количество полей темы.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Property FieldCount As Long

read-only


LayerPath property (Theme)

Возвращает имя слоя, для которого создавалась тема.

Применяется к:

Theme

Синтаксис:

Visual Basic:

PropertyLayerPath As String

read-only

Описание:

Свойство содержит имя слоя на момент создания тематического файла и не отвечает за наличие слоя с этим именем в текущий момент.


Name property (Theme)

Возвращает полное имя файла темы.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Property Name As String

read-only

Описание:

Если никакой файл не загружен, т.е. не были выполнены методы Open или Create, свойство вернет пустую строку.


Open Method (Theme)

Открывает тематический файл.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Function Open(Path As String) As Boolean

Path - имя открываемого файла.

Описание:

Если имя файла задано неверно или файл не является файлом тематической раскраски системы Zulu, метод вернет False.

В случае успеха метод вернет True.


OpenByThemeId method (Theme)

Открывает для редактирования вариант тематический раскраски по указанному идентификатору раскраски в списке тематических раскрасок указанного слоя.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Function OpenByThemeId(LayerPath As String, ThemeId As Long) As Boolean

LayerPath - имя слоя.

ThemeId - идентификатор раскраски данного слоя.


Parameter property (Theme)

Возвращает/устанавливает значение параметра отображения указанного типа для указанного ID объекта слоя.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Property Parameter(ElemID As Long, Field As eThemeField)

ElemID - ID объекта слоя.

Field - тип редактируемого поля.

Описание:

Через это свойство осуществляется редактирование предварительно открытого тематического файла.

Значение любого параметра (кроме имени шрифта) равное -1, означает, что для элемента с заданным ID будет применяться параметр, который применялся бы в отсутствие тематического файла.

Пример:

Private Sub Command1_Click()

'Создаем объект
    Dim theme As Theme
    Set theme = New Theme

    'Создаем тематический файл для активного слоя карты
    theme.Create "g:\ZData\h1.ztm", "Пример", MapCtrl1.Map.Layers.Active.Name

    'Присваиваем красный цвет заливки контуру с ключом 123
    theme.Parameter(123, eThemePatColor) = 255

    'Сохраняем файл
    theme.Save
         'Подключаем созданный файл к активному слою
    MapCtrl1.Map.Layers.Active.ThemeName  = "g:\ZData\h1.ztm"

    'Перерисовываем карту
    MapCtrl1.Redraw
    'Теперь все объекты активного слоя будут отображаться как
    'отображались, а объект с ID=123 будет заливаться красным цветом.

End Sub


Remove method (Theme)

Закрывает и физически уничтожает ранее открытый тематический файл.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Sub Remove()


Save method (Theme)

Сохраняет ранее открытый тематический файл.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Function Save() As Boolean

Описание:

Этот метод всегда нужно вызывать после редактирования темы. В противном случае все изменения открытого файла будут утеряны.

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

Пример:

см. здесь


SaveAs method (Theme)

Сохраняет тему в файл с указанным именем.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Function SaveAs(NewPath As String) As Boolean

NewPath - имя файла для сохранения темы.


UserName property (Theme)

Возвращает/устанавливает пользовательское название темы.

Применяется к:

Theme

Синтаксис:

Visual Basic:

Property UserName As String


ThemeFilterDesc object

Объект описывает тематический фильтр (шаблон раскраски). Фильтр представляет собой набор запросов по выбору значений из семантических баз данных. Количество запросов (условий ConditionsCount) не ограничено. Для каждого условия задаются база данных и имя запроса, к которому применяется условие, параметры отображения графических объектов, соответствующие заданным условиям (Parameter).

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

BaseID

ConditionName

ConditionsCount

ConditionSQLString

ConditionString

DatabaseName

FieldName

FieldsCount

Parameter

ParametersCount

ParameterType

QueryName

UserName

AddCondition

AddField

AddParameter

DeleteCondition

DeleteField

DeleteParameter

Open


AddCondition method (ThemeFilterDesc)

Добавляет новое условие в тематический фильтр.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Function AddCondition(Name As String, BaseID As Long) As Long

Name - название условия (соответствует свойству ConditionName).

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

Возвращает номер добавленного условия в фильтре. Добавление нового условия увеличивает значение свойства ConditionsCount на единицу.


AddField method (ThemeFilterDesc)

Добавляет новое поле в условие с указанным номером.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Function AddField(ConditionNum As Long, Name As String, ConditionString As String) As Long

ConditionNum - номер условия (нумерация с нуля).

Name - имя добавляемого поля в базе данных (соответствует свойству ConditionString property (ThemeFilterDesc) FieldName).

ConditionString - строка c условием для поля (соответствует свойству ConditionString).

Возвращает номер поля в данном условии. Если поле добавлено, то значение свойства FieldsCount увеличивается на единицу.


AddParameter method (ThemeFilterDesc)

Добавляет новый параметр раскраски в условие с указанным номером.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Function AddParameter(ConditionNum As Long, Type As eThemeField, Value) As Long

ConditionNum - номер условия (нумерация с нуля).

Type - тип параметра из списка eThemeField (соответствует свойству ParameterType).

Value - вариантная переменная со значением параметра (соответствует свойству Parameter).

Возвращает номер параметра в данном условии. Если параметр добавлен, то значение свойства ParametersCount увеличивается на единицу. Если параметр такого типа уже в условии присутствовал, то будет обновлено только его значение.


BaseID property (ThemeFilterDesc)

Возвращает\устанавливает идентификатор базы данных слоя для указанного условия тематического фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property BaseID(ConditionNum As Long) As String

ConditionNum - номер условия (нумерация с нуля).


ConditionName property (ThemeFilterDesc)

Возвращает\устанавливает пользовательское название тематического фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property ConditionName(ConditionNum As Long) As String

ConditionNum - номер условия (нумерация с 0).


ConditionsCount property (ThemeFilterDesc)

Возвращает число условий тематического фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property ConditionsCount As Long

read-only


ConditionSQLString property (ThemeFilterDesc)

Возвращает строку SQL, задающую условие выбора объектов по указанному номеру запроса.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property ConditionSQLString(ConditionNum As Long) As String

read-only

ConditionNum - номер запроса.


ConditionString property (ThemeFilterDesc)

Возвращает\устанавливает строку условия для данного поля запроса.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property ConditionString(ConditionNum As Long, FieldNum As Long) As String

ConditionNum - номер запроса (нумерация с 0).

FieldNum - номер поля семантической базы данных, для которого возвращается строка условия (нумерация с 0).

Пример:

Dim i As Long, tt As String
Dim Filter As ThemeFilterDesc

Set Filter = New ThemeFilterDesc
    Filter.Open App.Path & "\square.ztt"
    Text1 = Filter.UserName
    Text2 = Filter.DatabaseName
    Text3 = Filter.ConditionsCount

    For i = 0 To Filter.ConditionsCount - 1
        tt = tt & Filter.ConditionString(i, 0) & Chr(13) & Chr(10)
    Next i

Text4 = tt


DatabaseName property (ThemeFilterDesc)

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

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property DatabaseName As String

read-only

Описание:

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

Свойство устарело, т.к. имя базы данных хранят только фильтры, созданные версиями Zulu до октября 2006 года.


DeleteCondition method (ThemeFilterDesc)

Удаляет условие с указанным номером из фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Function DeleteCondition(ConditionNum As Long) As Boolean

ConditionNum - номер условия (нумерация с нуля).


DeleteField method (ThemeFilterDesc)

Удаляет поле из условия с указанным номером.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Function DeleteField(ConditionNum As Long, FieldNum As Long) As Boolean

ConditionNum - номер условия (нумерация с нуля).

FieldNum - номер поля в условии (нумерация с нуля).


DeleteParameter method (ThemeFilterDesc)

Удаляет параметр из условия с указанным номером.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Function DeleteParameter(ConditionNum As Long, ParameterNum As Long) As Boolean

ConditionNum - номер условия (нумерация с нуля).

ParameterNum - номер параметра в условии (нумерация с нуля).


FieldName property (ThemeFilterDesc)

Возвращает\устанавливает имя поля семантической базы данных по номеру.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property FieldName(ConditionNum As Long, FieldNum As Long) As String

ConditionNum - номер условия.

FieldNum - номер поля.


FieldsCount property (ThemeFilterDesc)

Возвращает количество полей, участвующих в запросе.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property FieldsCount(ConditionNum As Long) As Long

read-only

ConditionNum - номер запроса.


Open method (ThemeFilterDesc)

Открыть тематический фильтр.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Function Open(FilterName As String) As Boolean

FilterName - имя файла тематического фильтра.

В случае, если указанный тематический фильтр существует и его удалось открыть, метод вернет True, в противном случае - False.


Parameter property (ThemeFilterDesc)

Возвращает\устанавливает значение параметра тематического фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property Parameter(ConditionNum As Long, ParameterNum As Long)

ConditionNum - номер условия (нумерация с 0).

ParameterNum - номер параметра (нумерация с 0).

Описание:

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


ParametersCount property (ThemeFilterDesc)

Возвращает количество параметров, задаваемых для указанного номера условия тематического фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property ParametersCount(ConditionNum As Long) As Long

ConditionNum - номер условия (нумерация с нуля).


ParameterType property (ThemeFilterDesc)

Возвращает\устанавливает тип параметра из набора eThemeField.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property ParameterType(ConditionNum As Long, ParameterNum As Long) As eThemeField

ConditionNum - номер условия (нумерация с 0).

ParameterNum - номер параметра (нумерация с 0).

Описание:

Тип параметра позволяет определить, какое значение вернуло свойство Parameter. Если тип параметра - цвет узора контура (eThemePatColor), то свойство Parameter вернет номер цвета, если тип параметра - толщина линии (eThemeLineWidth), то свойство Parameter вернет установленную толщину и т. п.


QueryName property (ThemeFilterDesc)

Возвращает\устанавливает имя запроса базы данных слоя для указанного условия тематического фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Property QueryName(ConditionNum As Long) As String

ConditionNum - номер условия (нумерация с нуля).

Синтаксис:

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


UserName property (ThemeFilterDesc)

Возвращает\устанавливает пользовательское название тематического фильтра.

Применяется к:

ThemeFilterDesc

Синтаксис:

Visual Basic:

Property UserName As String


ThemeFilters collection

Коллекция тематических фильтров (раскраски) слоя Layer. Фильтр представляет собой набор запросов по выбору значений из семантических баз данных.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

GetIdByIndex

GetIndexById

GetItemById

GetItemByIndex

Remove

SetFilter


Count property (ThemeFilters)

Возвращает количество фильтров для тематических раскрасок слоя в коллекции ThemeFilters.

Применяется к:

ThemeFilters

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetIdByIndex method (ThemeFilters)

Возвращает идентификатор фильтра тематической раскраски слоя из коллекции ThemeFilters по указанному номеру.

Применяется к:

ThemeFilters

Синтаксис:

Visual Basic:

Function GetIdByIndex(Index As Long) As Long

Index - порядковый номер фильтра в коллекции (нумерация с нуля).


GetIndexById method (ThemeFilters)

Возвращает порядковый номер (нумерация с нуля) фильтра тематической раскраски слоя в коллекции ThemeFilters по указанному идентификатору.

Применяется к:

ThemeFilters

Синтаксис:

Visual Basic:

Function GetIndexById(FilterID As Long) As Long

FilterID - идентификатор фильтра раскраски в слое.


GetItemById method (ThemeFilters)

Возвращает объект ThemeFilterDesc для фильтра тематической раскраски слоя из коллекции ThemeFilters с указанным значением идентификатора.

Применяется к:

ThemeFilters

Синтаксис:

Visual Basic:

Function GetItemById(FilterID As Long) As ThemeFilterDesc

FilterID - идентификатор фильтра в коллекции.


GetItemByIndex method (ThemeFilters)

Возвращает объект ThemeFilterDesc для фильтра тематической раскраски слоя из коллекции ThemeFilters с указанным порядковым номером.

Применяется к:

ThemeFilters

Синтаксис:

Visual Basic:

Function GetItemByIndex(Index As Long) As ThemeFilterDesc

Index - порядковый номер фильтра в коллекции (нумерация с нуля).


Remove method (ThemeFilters)

Удаляет фильтр тематической раскраски с указанным ID из коллекции ThemeFilters.

Применяется к:

ThemeFilters

Синтаксис:

Visual Basic:

Function Remove(FilterID As Long) As Boolean

FilterID - идентификатор фильтра.


SetFilter method (ThemeFilters)

Обновляет или добавляет новый фильтр в коллекцию ThemeFilters.

Применяется к:

ThemeFilters

Синтаксис:

Visual Basic:

Function SetFilter(FilterID As Long, FilterDesc As ThemeFilterDesc) As Long

FilterID - идентификатор фильтра.

FilterDesc - объект с описанием фильтра.

Описание:

Если фильтр с указанным идентификатором в коллекции отсутствует, новый фильтр будет добавлен в коллекцию, и метод вернет значение его ID.

Если фильтр с указанным идентификатором уже существует, то новый фильтр его заменит под тем же ID.


Themes collection

Коллекция вариантов тематических раскрасок слоя Layer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

Item

ThemeFilterId

ThemeId

ThemeName

ThemeUserName

AddTemporaryTheme

AddTheme

CloneTheme

DisableAll

GetAutoUpdate

GetEnabled

GetIndexById

GetTheme

RemoveTemporaryThemes

RemoveTheme

Rename

SetAutoUpdate

SetEnabled

SetTheme

UpdateForOneElem

UpdateTheme


AddTemporaryTheme method (Themes)

Добавляет временную тематическую раскраску в коллекцию раскрасок слоя и возвращает идентификатор добавленной раскраски.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function AddTemporaryTheme(Theme As Theme) As Long

Theme - добавляемый объект с тематической раскраской.

Описание:

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


AddTheme method (Themes)

Добавляет тематическую раскраску в коллекцию раскрасок слоя и возвращает идентификатор добавленной раскраски.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function AddTheme(Theme As Theme) As Long

Theme - добавляемый объект с тематической раскраской.

Пример:

Private Sub Command1_Click()

'Сделать ряд объктов невимдимыми
    Dim theme As Theme
    Dim ID As long
    Set theme = New Theme

    'Присваиваем признак невидимости нескольким объектам
    theme.Parameter(123, eThemeInvisible) = 1
    theme.Parameter(135, eThemeInvisible) = 1
    theme.Parameter(3635, eThemeInvisible) = 1

    'Добавляем тему в слой
    ID = MapCtrl1.Map.Layers.Active.Themes.AddTheme(theme)

    'Применяем тему
    MapCtrl1.Map.Layers.Active.Themes.SetEnabled ID, true

    'теперь объекты ID=123,135,3635 будут невидимы.

End Sub


CloneTheme method (Themes)

Добавляет тематическую раскраску в коллекцию раскрасок слоя и возвращает идентификатор добавленной раскраски.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function CloneTheme(ThemeId As Long, UserName As String, Flags As Long) As Long

ThemeId - ID дублируемой раскраски.

UserName - пользовательское название дубликата.

Flags - способ добавления дубликата темы:

0 - постоянная,

1 - временная.

Описание:

Метод дублирует вариант раскраски под новым пользовательским названием. Дублироваться раскраска может как временная или как постоянная.

Этим методом, например, временную раскраску можно скопировать как постоянную. И наоборот.


Count property (Themes)

Возвращает количество тематических раскрасок в коллекции.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Property Count As Long

read-only


DisableAll method (Themes)

Отключает все тематические раскраски слоя.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Sub DisableAll()


GetAutoUpdate method (Themes)

Возвращает признак автообновления раскраски.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function GetAutoUpdate(ThemeId As Long) As Boolean

ThemeId - ID тематической раскраски.

Описание:

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

Для тематической раскраски слоя с заданным ID метод вернет True, если для темы задан признак автообновления.

Если автообновление для данной темы не задано метод вернет False.


GetEnabled method (Themes)

Возвращает состояние подключения тематической раскраски.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function GetEnabled(ThemeId As Long) As Boolean

ThemeId - ID тематической раскраски.

Описание:

Для тематической раскраски слоя с заданным ID возвращает True, если раскраска подключена к карте и False, если не подключена.


GetIdByName method (Themes)

Возвращает ID тематической раскраски по ее названию.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function GetIdByName(ThemeName As String) As Long

ThemeName - название тематической раскраски.


GetIndexById method (Themes)

Возвращает номер тематической раскраски по ID.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function GetIndexById(Id As Long) As Long

Id - ID тематической раскраски.


GetIndexByName method (Themes)

Возвращает номер тематической раскраски в списке раскрасок слоя по ее названию.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function GetIndexByName(ThemeName As String) As Long

ThemeName - название тематической раскраски.


GetTheme method (Themes)

Возвращает объект Theme для варианта тематической раскраски слоя с указанным идентификатором (ID).

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function GetTheme(ThemeId As Long) As Theme

ThemeId - Id раскраски слоя.

Пример:

'Например, нужно взять первую раскраску из списка раскрасок
'активного слоя и изменить эту раскраску так, чтобы
'линия с ID = 21 была красного цвета

Private Sub Command3_Click()

       Dim L As Layer
       Dim Th As Theme

       'Получили активный слой
       Set L = MapCtrl1.Map.Layers.Active

       'Получаем первую тему в списке тем слоя
       Set Th = L.Themes.GetTheme(L.Themes.ThemeId(0))

       'Присваиваем в полученной теме объекту с ID = 21 красный цвет линий
       Th.Parameter(21, eThemeLineColor) = 255

       'Сохраняем измененную тему под тем же ID в слое
       L.Themes.SetTheme L.Themes.ThemeId(0), Th

End Sub


GetThemeByName method (Themes)

Возвращает объект, описывающий тематическую раскраску слоя, по ее названию.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function GetThemeByName(ThemeName As String) As Theme

ThemeName - название тематической раскраски.


Item property (Themes)

Возвращает объект Theme для варианта тематической раскраски слоя по индексу.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Property Item(Index As Long) As Theme

read-only

Index - порядковый номер раскраски в коллекции (нумерация с нуля).


RemoveTemporaryThemes method (Themes)

Удаляет все временные раскраски с из коллекции Themes слоя.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Sub RemoveTemporaryThemes()

Описание:

Временные раскраски видны и доступны только в сеансе пользователя, в котором они были созданы и имеют ID > 65536. Временные раскраски создаются программно методом AddTemporaryTheme


RemoveTheme method (Themes)

Удаляет вариант раскраски с указанным идентификатором (ID) из коллекции Themes слоя.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function RemoveTheme(ThemeId As Long) As Boolean

ThemeId - Id раскраски слоя.


Rename method (Themes)

Задает новое название для тематической раскраски с заданным ID.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Sub Rename(ThemeId As Long, UserName As String) as Boolean

ThemeId - ID тематической раскраски.

UserName - новое название темы.


SetAutoUpdate method (Themes)

Подключает или отключает возможность автообновления раскраски с заданным ID.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Sub SetAutoUpdate(ThemeId As Long, bAuto As Boolean)

ThemeId - ID тематической раскраски.

bEnabled:

True - включить автообновление,

False - отключить автообновление.

Описание:

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


SetEnabled method (Themes)

Подключает или отключает тематическую раскраску с заданным ID.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Sub SetEnabled(ThemeId As Long, bEnabled As Boolean)

ThemeId - ID тематической раскраски.

bEnabled:

True - подключить раскраску,

False - отключить.


SetTheme method (Themes)

Обновляет тематическую раскраску слоя по заданному идентификатору (ID).

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function SetTheme(ThemeId As Long, Theme As Theme) As Boolean

ThemeId - Id раскраски слоя.

Пример:

'Например, нужно взять первую раскраску из списка раскрасок
'активного слоя и изменить эту раскраску так, чтобы линия с ID = 21 была расного цвета
Private Sub Command3_Click()

    Dim L As Layer
    Dim Th As Theme

    'Получили активный слой
    Set L = MapCtrl1.Map.Layers.Active

    'Получаем первую тему в списке тем слоя
    Set Th = L.Themes.GetTheme(L.Themes.ThemeId(0))

    'Присваиваем в полученной теме объекту с ID = 21 красный цвет линий
    Th.Parameter(21, eThemeLineColor) = 255

    'Сохраняем измененную тему под тем же ID в слое
    L.Themes.SetTheme L.Themes.ThemeId(0), Th

End Sub


ThemeFilterId property (Themes)

Для заданного идентификатора тематической раскраски слоя, возвращает ID тематического фильтра, по которому раскраска была создана.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Property ThemeFilterId(ThemeId As Long) As Long

read-only

ThemeId - идентификатор тематической раскраски слоя.

Описание:

Если раскраска с указанным ID не существует или раскраска создавалась не через фильтр раскраски, метод вернет -1.


ThemeId property (Themes)

Возвращает по заданному номеру тематической раскраски ее ID.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Property ThemeId(Index As Long) As Long

read-only

Index - порядковый номер раскраски в коллекции (нумерация с нуля).


ThemeName property (Themes)

Возвращает имя тематической раскраски по заданному номеру.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Property ThemeName(Index As Long) As String

read-only

Index - номер тематической раскраски (нумерация с нуля).


ThemeUserName property (Themes)

Возвращает польлзовательское название тематической раскраски по заданному номеру.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Property ThemeUserName(Index As Long) As String

read-only

Index - номер тематической раскраски в коллекции (нумерация с нуля).


UpdateForOneElem method (Themes)

Обновляет тематическую раскраску для заданного объекта слоя.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function UpdateForOneElem(ElemId As Long, ThemeId As Long, BaseId As Long, QueryName As String, Fields As String, Flags As Long) As Long

ElemId - ID объекта слоя.

ThemeId - ID темы. Если ThemeId = -1, рассматриваются для обновления все темы для данного объекта.

BaseID - ID базы данных. Если BaseID = -1, рассматриваются для обновления темы для данного объекта с любыми базами.

QueryNamе - имя запроса для базы, заданной параметром BaseID.

Fields - параметр пока зарезервирован, должен быть пустой строкой.

Flags - параметр пока зарезервирован, должен быть нулем.

Описание:

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


UpdateTheme method (Themes)

Пересоздает вариант тематической раскраски с указанным идентификатором (ID), если он был создан по тематическому фильтру и этот фильтр еще существуе. Т.е. ThemeFilterId для этой раскраски не должен быть равен -1.

Применяется к:

Themes

Синтаксис:

Visual Basic:

Function UpdateTheme(ThemeId As Long) As Boolean

ThemeId - Id раскраски слоя.


TileLayerDef object

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

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

Новый тайловый слой создается методом ZuluTools.TileLayerCreate.

Получить описатель существующего тайлового слоя можно методом Layer.TileLayer.GetLayerDef.

Новые параметры существующего тайлового слоя задаются методом Layer.TileLayer.SetLayerDef.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

GetCRSCode

GetEasting

GetExtension

GetLat0

GetLon0

GetMaxLevel

GetMinLevel

GetModel

GetNorthing

GetQueryTemplateString

GetTitle

GetUseCacheFlag

GetXYOrder

SetCRSCode

SetExtension

SetLat0

SetLevelRange

SetLon0

SetModel

SetNorthing

SetQueryTemplateString

SetTitle

SetUseCacheFlag

SetXYOrder


GetCRSCode method (TileLayerDef)

Получает строку с кодом географической проекции

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetCRSCode() As String


GetEasting method (TileLayerDef)

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

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetEasting() As Boolean

Описание:

Метод возвращает True, если ось координат направлена на восток и False, если ось направлена на запад.


GetExtension method (TileLayerDef)

Возвращает строку с расширением файлов с плитками.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetExtension() As String


GetLat0 method (TileLayerDef)

Возвращает широту начала координат тайловой системы в градусах.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetLat0() As Double


GetLon0 method (TileLayerDef)

Возвращает долготу начала координат тайловой системы в градусах.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetLon0() As Double


GetMaxLevel method (TileLayerDef)

Возвращает величину максимального уровня (масштаба) плиток тайловой системы.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetMaxLevel() As Long


GetMinLevel method (TileLayerDef)

Возвращает величину минимального уровня (масштаба) плиток тайловой системы.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetMinLevel() As Long


GetModel method (TileLayerDef)

Возвращает тип модели тайловой системы в виде константы из набора eTileModel.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetModel() As eTileModel


GetNorthing method (TileLayerDef)

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

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetNorthing() As Boolean

Описание:

Метод возвращает True, если ось координат направлена на юг и False, если ось направлена на север.


GetQueryTemplateString method (TileLayerDef)

Возвращает строку с шаблоном запроса к Tile-серверу.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetQueryTemplateString() As String


GetTitle method (TileLayerDef)

Возвращает строку с пользовательским названием тайлового слоя.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetTitle() As String


GetUseCacheFlag method (TileLayerDef)

Возвращает признак наличия кэширования данных Tile-сервера.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetUseCacheFlag() As Boolean


GetXYOrder method (TileLayerDef)

Возвращает параметр, определяющий порядок следования значений X и Y в модели c типом eOpenStreetMap.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function GetXYOrder() As Boolean

Описание:

Метод возвращает True, если последовательность координат x/y и False, если если последовательность координат y/x.


SetCRSCode method (TileLayerDef)

Задает географическую проекцию тайловой системы в виде строкового кода.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function SetCRSCode(sCode As String) As Boolean

sCode - cтроковый код географической проекции.

Значение по умолчанию: "EPSG:3857"

Пример:

Dim Def As TileLayerDef

'Создаем объект TileLayerDef
Set Def = New TileLayerDef

'Задаем в качестве проекции тайловой системы World Mercator WGS 84
Def.SetCRSCode "EPSG:3395"


SetExtension method (TileLayerDef)

Задает расширение для файлов с плитками.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function SetExtension(sExt As String) As Boolean

sExt - cтрока с расширением файла.

Описание:

Задаваемое расширение определяет формат файлов изображения в котором будут сохраняться плитки при их создании. Задание формата файлов изображения применяется только ко вновь созданному слою (или при создании слоя через ZuluTools.TileLayerCreate), когда плитки в слое отсутствуют.

Пример:

Dim Def As TileLayerDef

'Создаем объект TileLayerDef
Set Def = New TileLayerDef

'Задаем PNG формат для файлов с плитками
Def.SetExtension "png"


SetLat0 method (TileLayerDef)

Задает широту начала координат тайловой системы в градусах.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function SetLat0(dLat As Double) As Boolean

dLat - широта в градусах.

Значение по умолчанию: 90.


SetLevelRange method (TileLayerDef)

Задает минимальный и максимальный уровни масштаба запрашиваемых с сервера плиток.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function SetLevelRange(nZmin As Long, nZmin As Long) As Boolean

nZmin - минимальный уровень масштаба.

nZmin - максимальный уровень масштаба.

Значения по умолчанию: 0, 23.

Пример:

Dim Def As TileLayerDef

'Создаем объект TileLayerDef
Set Def = New TileLayerDef

'Задаем диапазон уровней с 1 по 15
Def.SetLevelRange 1, 15


SetLon0 method (TileLayerDef)

Задает долготу начала координат тайловой системы в градусах.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function SetLon0(dLon As Double) As Boolean

dLon - долгота в градусах.

Значение по умолчанию: -180.


SetModel method (TileLayerDef)

Задает тип модели тайловой системы в виде константы из набора eTileModel.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function SetModel(eModel As eTileModel) As Boolean

eModel - тип модели тайловой системы.

Значение по умолчанию: eTileModelXYZ.

Пример:

Dim Def As TileLayerDef

'Создаем объект TileLayerDef
Set Def = New TileLayerDef

'Задаем модель Bing
Def.SetLevelRange eTileModelBing


SetNorthing method (TileLayerDef)

Задает ориентацию вертикальной оси координат тайловой системы.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Sub SetNorthing(bNorthing As Boolean)

bNorthing - ориентация вертикальной оси координат:

True - ось направлена на юг,

False - ось направлена на север.

Значение по умолчанию: True.


SetQueryTemplateString method (TileLayerDef)

Задает строку шаблона запроса к Tile-серверу.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Function SetQueryTemplateString(sTemplate As String) As Boolean

sTemplate - строка шаблона.

Пример:

Dim Def As TileLayerDef

'Создаем объект TileLayerDef
Set Def = New TileLayerDef

'Задаем шаблон запроса к плиткам ArcGIS сервера сайта http://maps.rosreestr.ru
Def.SetQueryTemplateString "http://maps.rosreestr.ru/ArcGIS/rest/services/BaseMaps/BaseMap/MapServer/tile/<z>/<y>/<x>"


SetTitle method (TileLayerDef)

Задает пользовательское название тайлового слоя.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Sub SetTitle(sTitle As String)

sTitle - строка с новым пользовательским названием слоя.


SetUserCacheFlag method (TileLayerDef)

Задает признак наличия кэширования данных Tile-сервера.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Sub SetUseCacheFlag(bCache As Boolean)

bCache - признак кэширования.

Значение по умолчанию: True.


SetXYOrder method (TileLayerDef)

Задает параметр, определяющий порядок следования значений X и Y в модели c типом eOpenStreetMap.

Применяется к:

TileLayerDef

Синтаксис:

Visual Basic:

Sub SetXYOrder(bOrder As Boolean)

bOrder - порядок следования координат:

True - x/y,

False - y/x.

Значение по умолчанию: True.


UserMode object

Зарезервирован для дальнейшего использования.

Входит в состав ZuluGIS 2021 Library.


Window object

Представляет окно приложения Zulu. Входит как образующий элемент в коллекцию Windows.

Входит в состав библиотеки ZuluGIS 2021 Application.

Свойства и методы:

Свойства

Методы

Active

Caption

ClientHeight

ClientWidth

Document

Height

hWnd

Left

Top

Visible

Width

WindowState

WindowType

Activate

Close

NewWindow


Activate method (Window)

Делает окно активным и передает ему фокус ввода. Если окно было скрыто или свернуто, оно становится видимым.

Применяется к:

Window

Синтаксис:

Visual Basic:

Sub Activate()


Active property (Window)

Определяет, является ли окно текущим активным.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Active As Boolean

read-only


Caption property (Window)

Возвращает текст заголовка окна.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Caption As String

read-only


ClientHeight property (Window)

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

Применяется к:

Window

Синтаксис:

Visual Basic:

Property ClientHeight As Long

Описание:

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

Изменять габариты окна можно только в случаях, если:

- окно является плавающих (не прикреплено к боковым гранях главного окна).

- окно является окном документа и не свернуто или развернуто.


ClientWidth property (Window)

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

Применяется к:

Window

Синтаксис:

Visual Basic:

Property ClientWidth As Long

Описание:

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

Изменять габариты окна можно только в случаях, если:

- окно является плавающих (не прикреплено к боковым гранях главного окна).

- окно является окном документа и не свернуто или развернуто.


Close method (Window)

Закрывает окно, при необходимости сохраняет изменения.

Применяется к:

Window

Синтаксис:

Visual Basic:

Function Close([SaveOption As eSaveOption]) As Boolean

SaveOption - одно из значений, перечисленных в наборе констант eSaveOption.

Описание:

Метод закрывает данное окно. Если окну соответствует документ, параметр SaveOption определяет, надо ли сохранять изменения в нем.

Если окно успешно закрыто, метод возвращает True, иначе (например, данные не удалось сохранить или пользователь прервал закрытие окна отказом) - False.


Document property (Window)

Возвращает объект Document, представляющий документ, который данное окно отображает.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Document As Document

read-only

Описание:

В случае, если окно представляет собой окно документа, свойство Document вернет ссылку на этот документ, иначе - Null.


Height property (Window)

Возвращает/устанавливает высоту окна в пикселах.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Height As Long

Описание:

Свойство возвращает или устанавливает высоту окна с учетом рамки и заголовка (если окно - плавающее).

Изменять габариты окна можно только в случаях, если:

- окно является плавающих (не прикреплено к боковым гранях главного окна).

- окно является окном документа и не свернуто или развернуто.


hWnd property (Window)

Возвращает дескриптор окна (HWND) в виде целого числа.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property hWnd As Long

read-only


Left property (Window)

Возвращает/устанавливает горизонтальное положение левого верхнего угла окна в пикселах относительно левой внутренней границы окна-родителя или левой границы экрана (если окно - плавающее).

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Left As Long


NewWindow method (Window)

Открывает новое окно для документа.

Применяется к:

Window

Синтаксис:

Visual Basic:

Function NewWindow() As Window

Описание:

Метод создает новое окно для документа и возвращает объект Window. Если окно, у которого вызывается данный метод, не является окном документа, метод возвращает Null.


Top property (Window)

Возвращает/устанавливает вертикальное положение левого верхнего угла окна в пикселах относительно верхней внутренней границы окна-родителя или верха экрана (если окно - плавающее).

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Left As Long


Visible property (Window)

Определяет, является ли окно видимым.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Visible As Boolean


Width property (Window)

Возвращает/устанавливает ширину окна в пикселах.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property Width As Long

Описание:

Свойство возвращает или устанавливает ширину окна с учетом рамки и заголовка (если окно - плавающее).

Изменять габариты окна можно только в случаях, если:

- окно является плавающих (не прикреплено к боковым гранях главного окна).

- окно является окном документа и не свернуто или развернуто.


WindowState property (Window)

Задает состояние окна (максимизировано, минимизировано, обычный режим). Возможные значения перечислены в наборе eWindowState.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property WindowState As eWindowState


WindowType property (Window)

Возвращает тип окна. Возможные значения перечислены в наборе eWindowType.

Применяется к:

Window

Синтаксис:

Visual Basic:

Property WindowType As eWindowType

read-only


ZArc object

Объект-дуга. Входит как свойство Arc в объект SymbolElement.

Дуга характеризуется координатами точек (x1, y1) и (x2, y2), а также точкой, задающей (x3, y3).

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ZArc

CLSID:

{125070C2-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

Filled

Points

SetArc

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.ZArc
Set obj = New ZuluLib.ZArc
//Delphi:
obj: IZArc;
obj := CoZArc.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.ZArc")


Filled property (ZArc)

Возвращает признак того, является ли дуга заполненным объектом (сегментом) или нет.

Применяется к:

ZArc

Синтаксис:

Visual Basic:

Property Filled As Boolean

read-only


Points property (ZArc)

Возвращает объект Points - коллекцию точек, возвращает координаты точек, характеризующих дугу.

Применяется к:

ZArc

Синтаксис:

Visual Basic:

Property Points As Points

read-only


SetArc method (ZArc)

Задает дугу.

Применяется к:

ZArc

Синтаксис:

Visual Basic:

Function SetArc(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double, FillFlag As Boolean) As Boolean


ZbDatabase Object

ZbDatabase - объект базы данных ZuluGIS.

Входит в состав ZuluGIS 2021 Database Connection Library.

Регистрационная информация:

PROGID:

Zb.Database

CLSID:

{12507363-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства:

Методы:

ActiveForm

ActiveQuery

BlobFileDir

Books

Forms

GeoDataSource

GeoFilterType

IgnoreCase

LastError

LastErrorString

LastNativeError

LoginPassword

LoginPrompt

LoginType

LoginUserName

ModelName

Name

Queries

QuestionsResolving

Reports

Sources

Tables

Tags

UserName

WarnLevel

AlterTable

AppendBaseRecord

AppendBlankByKeySet

Close

CloseConnections

CompileSQLQuery

CreateBySingleTable

CreateDataset

CreateTable

CreateTableEx

CreateTableFromAscii

CreateTableFromAsciiEx

DeleteBaseRecord

DropTable

ExecSQL

ExecSQLEx

GetCustomDataStg

GetTableDef

Join

ModifyByKeySet

Open

OpenSQL

OpenSQLEx

QueryByExample

ResetSchemaCache

Save

SaveAs

SaveDatasetToTable

SelectAll

SelectByExample

SelectByKey

SelectByKeySet

SelectForm

ShrinkByKeySet

TableExists

UpdateBaseRecord

UpdateFromAscii

Описание:

Используется для выполнения запросов к базам данных согласно описателям баз данных Zulu (.zb файлы). Описатель можно загрузить из файла .zb с помощью метода Open, после этого выполнять запросы.

Описатель БД характеризуется набором таблиц (свойство Tables), участвующих в запросах, набором запросов (свойство Queries), задающими правила выборки значений из таблиц, набором форм (свойство Forms) для отображения в браузере. Для более удобной работы с запросами некоторые таблицы могут быть описаны как справочники (свойство Books).

При открытии базы данных запрос, установленный по умолчанию, становится активным (свойство ActiveQuery), а все запросы к базе данных адресуются к активному запросу.

Пример создания:

'Visual Basic:
Dim db As Zb.ZbDatabase
Set db = New Zb.ZbDatabase
//Delphi:
db: IZbDatabase;
db := CoZbDatabase.Create;
'VBScript:
Set db = CreateObject("Zb.Database")


ActiveForm property (ZbDatabase)

Возвращает/устанавливает текущую активную форму.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property ActiveForm As IZbFormInfo

Описание:

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

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


ActiveQuery property (ZbDatabase)

Возвращает/устанавливает текущий активный запрос.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property ActiveQuery As IZbQueryInfo

Описание:

Активный запрос - запрос, к которому делегируются все вызовы методов выполнения запросов к данным SelectAll, SelectByKey, SelectByKeySet и др. объекта базы данных ZbDatabase. Аналогичные методы есть и у объекта IZbQueryInfo.

При открытии базы данных (метод Open) активным становится запрос, отмеченный в базе как основной (см. IZbQueries.Default).


AlterTable method (ZbDatabase)

Изменяет структуру таблицы (реструктурирует таблицу).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function AlterTable([Source], TableName As String, TableDef As IZbTableDef) As Boolean

Source - источник таблицы (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

TableName - имя таблицы. Если параметр Source пуст, TableName должно содержать полный путь к таблице.

TableDef - объект IZbTableDef, описывающий структуру таблицы.

Описание:

Метод позволяет изменить структуру таблицы. Измененная структура таблицы задается объектом IZbTableDef. Свойство FieldIndex у объектов IZbFieldDef в списке полей определяет, берется ли это поле из имеющейся структуры таблицы или добавляется как новое. Для имеющихся полей FieldIndex - номер поля начиная с единицы, для новых полей - 0.

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

В случае успеха метод возвращает True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.

ВАЖНО: При выполнении метода с объектом TableDef, в котором у полей не прописаны индексы FieldIndex, все поля старой таблицы будут удалены, т.е. вся таблица целиком будет удалена и на ее месте будет создана новая с новой структурой.

Рекомендуемый порядок изменение структуры таблицы приведен на примере ниже:

'Пример Visual Basic
Dim TableDef As IZbTableDef

'Получаем текущую структуру таблицы
'(свойство FieldIndex у всех полей прописано)
TableDef = Db.GetTableDef(Source, TableName)

'Добавляем новое поле
TableDef.AddField "NewField", zbftInteger, 0, 0, False
'Удаляем старое поле
TableDef.DeleteField(5)
'Изменяем  поле
TableDef.FieldName(4) = "NewFieldName"

'Выполняем реструктуризацию
Db.AlterTable Source, TableName, TableDef


AppendBaseRecord method (ZbDatabase)

Добавляет запись в базовую таблицу (базовой является та таблицу, для которой указано поле связи с картой).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function AppendBaseRecord(Fields, Values, [Count]) As Boolean

Fields - набор полей. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом целых чисел, представляющий индексы полей базовой таблицы.

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

Values - набор значений. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

Описание:

В случае успешного добавления записи метод вернет True.

Данный метод оставлен для совместимости с предвыдущими версиями и передает управление аналогичному методу AppendBaseRecord активного запроса (см. ActiveQuery).


AppendBlankByKeySet method (ZbDatabase)

Добавляет пустые записи по заданному набору ключей (идентификаторов объектов).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function AppendBlankByKeySet(KeySet, OptionsOrCount As Long) As Boolean

KeySet, OptionsOrCount - задают набор ключей.

Описание:

Метод делегирует выполнение аналогичному методу текущего активного запроса (см. IZbQueryInfo.AppendBlankByKeySet).

В случае успешного добавления записи метод вернет True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


BlobFileDir property (ZbDatabase)

Задает папку для документов, присоединяемых с помощью тега "(document)".

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property BlobFileDir As String

Описание:

Свойство BlobFileDir задает папку, в которой хранятся файлы документов, присоединяемых с помощью тега "(document)". Это может быть как абсолютный путь (например "C:\Data\"), так относительный (например "..\Data"). В последнем случае путь к папке определяется относительно файла описателя базы данных.

Если у строкового поля в визуальном запросе указан тег "(document)", то значение поля трактуется как имя файла документа, присоединенного к объекту слоя. Если папка для документов не задана, имя файла должно содержать полный путь, чтобы система Zulu могла его окрыть или отобразить. Если же такая папка задана, то поле может содержать только имена файлов, находящихся в этой папке, либо относительные пути, относительгно этой папки.


Books property (ZbDatabase)

Возвращает коллекцию справочников базы данных (объект IZbBooks).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Books As IZbBooks

read-only


Close method (ZbDatabase)

Закрывает описатель базы данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Sub Close(fCloseConnections As Boolean)

Описание:

Метод очищает содержимое описателя базы данных, освобождает занятые ресурсы. Если параметре fCloseConnections имеет значение True, текущие активные соединения с СУБД, указанные в этом описателе, будут закрыты.


CloseConnections method (ZbDatabase)

Закрывает текущие активные соединения с СУБД, перечисленные в описателе базы данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Sub CloseConnections()


CompileSQLQuery method (ZbDatabase)

Формирует текст SQL-запроса, соответствующего строкам запроса по образцу.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function CompileSQLQuery(QueryStrings, [FieldNames], SQLQuery As String) As Boolean

QueryStrings - строки условий запроса.

FieldNames - список полей, для которых заданы условия.

SQLQuery - сформированный запрос.

Описание:

Метод делегирует выполнение аналогичному методу текущего активного запроса (см. IZbQueryInfo.CompileSQLQuery).

В случае успешного добавления записи метод вернет True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


CreateBySingleTable method (ZbDatabase)

Автоматически формирует базу данных по указанной таблице.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function CreateBySingleTable(TableName As String) As Boolean

TableName - полный путь к файлу таблицы в формате Paradox или dBase.

Описание:

Данный метод автоматически формирует базу данных по указанной таблице:

В случае успешного добавления записи метод вернет True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


CreateDataset method (ZbDatabase)

Создает объект IZbDataset, представляющий набор данных "в памяти".

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function CreateTable(TableDef As ZbTableDef) As IZbDataset

TableDef - задаёт структуру записи, набор полей и их типов.

Описание:

Метод создаёт набор данных "в памяти" с указанной структурой и возвращает в виде объекта IZbDataset. Созданный пустой набор данных может быть заполнен с помощью методов AppendRecord и SetFieldValue.


CreateTable method (ZbDatabase)

Создает таблицу в формате Paradox. Метод устарел. Для новых приложений рекомендуется использовать метод CreateTableEx.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function CreateTable(TableName As String, FieldNames, FieldTypes, FieldSizes, PrimaryKeys As Long) As Boolean

TableName - полный путь к файлу таблицы.

FieldNames - набор названий полей, задается либо как массив строк, либо как строки, разделенные символом переноса (код ASCII 10).

FieldTypes - набор типов полей, задается как массив целых чисел, тип поля определяется константами из набора zbFieldType.

FieldSizes - набор размеров полей, задается как массив целых чисел, имеет смысл для строковых полей, для нестроковых - задает точность числа.

PrimaryKeys - число ключевых полей. Если больше 0, то первые PrimaryKeys полей будут сделаны ключевыми.

Описание:

В случае успеха метод возвращает True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


CreateTableEx method (ZbDatabase)

Создает новую таблицу и (опционально) добавляет ее в базу данных Zulu.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function CreateTableEx([Source], TableName As String, TableDef As ZbTableDef, [bAddToDatabase As Boolean], [Table As IZbTableInfo]) As Boolean

Source - источник таблицы (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

TableName - имя таблицы или полный путь к файлу таблицы.

TableDef - объект ZbTableDef, описывающий структуру таблицы.

bAddToDatabase - флаг, указывающий на то, надо ли добавлять таблицу в базу данных.

Table - в случае, если таблица добавлена в базу, будет содержать ссылку на объект IZbTableInfo.

Описание:

Метод создает новую таблицу и, если надо, добавляет ее в базу данных Zulu.

Для создания локальной таблицы Paradox или dBase параметр Source может быть пустым, а TableName содержать полный путь к файлу таблицы, включая расширение (.db или .dbf).

Для создания таблицы на сервере ZuluServer, параметр Source может быть пустым, а TableName содержать имя таблицы (напр. "Table1").

Если в базу добавлены источники данных ADO или BDE/ODBC, то в параметре Source можно указывать либо объект IZbSourceInfo, либо имя источника данных в базе (напр. "Источник ADO 1"). TableName в этом случае содержит просто имя таблицы (напр. "Table1").

Параметр TableDef содержит структуру новой таблицы.

В случае успеха метод возвращает True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.

Если параметр bAddToDatabase имеет значение True, созданная таблица будет добавлена в базу данных и соответствующий ей объект IZbTableInfo будет помещен в параметр Table.


CreateTableFromAscii method (ZbDatabase)

Создает новую таблицу из ASCII файла.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function CreateTableFromAscii(TableName As String, AsciiFileName As String, [TableDef], [Format As zbAsciiInfo]) As Boolean

TableName - полный путь к создаваемой таблице.

AsciiFileName - путь к исходному ASCII файлу.

TableDef - (необязательный) объект ZbTableDef, описывающий структуру таблицы.

Format - (необязательный) структура zbAsciiInfo, описывающая формат ASCII файла.

Описание:

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

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

В случае успешного добавления записи метод вернет True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


CreateTableFromAsciiEx method (ZbDatabase)

Создает новую таблицу из ASCII файла.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function CreateTableFromAscii(Source, TableName As String, AsciiFileName As String, [TableDef As ZbTableDef ], [Format As ZbAsciiFormat ]) As Boolean

Source - источник данных, в котором создается таблица.

TableName - имя создаваемой таблицы.

AsciiFileName - полный путь к исходному ASCII файлу.

TableDef - (необязательный) объект ZbTableDef, описывающий структуру таблицы.

Format - (необязательный) объект ZbAsciiFormat, описывающая формат ASCII файла.

Описание:

Метод создает новую таблицу из исходного ASCII файла. Параметры Source и TableName задают таблицу, которую создает метод и в которую заносятся данные из текстового файла. Путь к текстовому файлу задается параметром AsciiFileName.

В качестве Source можно передавать объект IZbSourceInfo, имя соединения, созданного в базе данных или имя источника данных Zulu.

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

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

В случае успешного добавления записи метод вернет True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


DeleteBaseRecord property (ZbDatabase)

Удаляет запись из базовой таблицы текущего активного запроса.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function DeleteBaseRecord(Key, Fields, Values, [Count]) As Boolean

Key - ключ объекта.

Fields - набор дополнительных полей для поиска записи. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом целых чисел, представляющий индексы полей базовой таблицы.

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

Values - набор дополнительных значений для поиска записи. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

Описание:

Метод делегирует выполнение аналогичному методу текущего активного запроса (см. IZbQueryInfo.DeleteBaseRecord).

В случае успешного добавления записи метод вернет True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


DropTable method (ZbDatabase)

Удаляет указанную таблицу.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function DropTable([Source], TableName As String) As Boolean

Source - источник таблицы (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

TableName - имя таблицы. Если параметр Source пуст, TableName должно содержать полный путь к таблице.

Описание:

Удаляет указанную таблицу, включая все данные, индексы и т.п. Соответствует инструкции DROP TABLE языка SQL.

В случае успеха метод возвращает True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


ExecByExample method (ZbDatabase)

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

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function ExecByExample(QueryStrings As String, Fields As String) As Boolean

QueryStrings - строки запроса, разделенные символом ASCII 10.

Fields - имена полей, которым соответствуют строки запроса (также разделенные символом ASCII 10).

Описание:

Метод делегирует выполнение текущему активному запросу (см. IZbQueryInfo.ExecByExample, ActiveQuery).


ExecSQL method (ZbDatabase)

Выполняет произвольный SQL запрос.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function ExecSQL([Source], SqlText As String) As Boolean

Source - источник данных (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

SqlText - текст SQL запроса.

Описание:

Метод выполняет произвольный SQL запрос, заданный строкой SqlText. В случае успеха, метод возвращает True. В случае ошибки метод вернет False и свойство LastErrorString будет содержать сообщение об ошибке.


ExecSQLEx method (ZbDatabase)

Выполняет произвольный SQL запрос с параметрами.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function ExecSQL([Source], SqlText As String, Params) As Boolean

Source - - источник данных (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

SqlText - текст SQL запроса.

Params - значения параметров запроса.

Описание:

Метод выполняет произвольный SQL запрос, заданный строкой SqlText. В случае успеха, метод возвращает True. В случае ошибки метод вернет False и свойство LastErrorString будет содержать сообщение об ошибке.

В дополнительном параметре Params передаются значения параметров запроса. Это может быть объект IZbSqlParams, хранящий значения параметров, массив (safearray) значений, либо одиночное значение, если у SQL запроса предполагается единственный параметр.


Forms property (ZbDatabase)

Возвращает коллекцию форм базы данных (объект IZbForms).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Forms As IZbForms

read-only


GeoDataSource property (ZbDatabase)

Возвращает/устанавливает источник геоданных для выполнения запросов с учетом пространсвенных данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property GeoDataSource As Unknown

Описание:

Метод зарезервирован для служебного пользования.


GeoFilterType property (ZbDatabase)

Возвращает/устанавлтвает тип фильтра пространственных данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property GeoFilterType As Long

Описание:

Метод зарезервирован для служебного пользования.


GetCustomDataStg property (ZbDatabase)

Служебный метод.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function GetCustomDataStg() As Unknown

Описание:

Метод зарезервирован для служебного пользования и в настоящий момент не используется.


GetTableDef method (ZbDatabase)

Возвращает объект ZbTableDef, описывающий структуру указанной таблицы.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function GetTableDef([Source], TableName As String) As ZbTableDef

Source - источник таблицы (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

TableName - имя таблицы. Если параметр Source пуст, TableName должно содержать полный путь к таблице.

Описание:

Метод возвращает объект ZbTableDef, описывающий структуру таблицы.


IgnoreCase property (ZbDatabase)

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

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property IgnoreCase As Boolean

Описание:

Если свойство IgnoreCase установлено в True, при выполнении запросов, требующих сравнение строк (например поиск по подстроке), регистр не будет учитываться.

По-умолчанию свойство имеет значение False.


Join method (ZbDatabase)

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

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function Join(KeyXlatFile As String, [SrcDb], [SrcQuery], [DestQuery], [Options As Long]) As Boolean

KeyXlatFile - файл соответствия ключей.

SrcDb - исходная база данных.

SrcQuery - исходный запрос, откуда берутся данные. Если не указан, берется активный запрос базы SrcDb.

DestQuery - запрос, куда записываются данные. Если не указан, берется текущий активный запрос

Options - (необязательный) набор флагов опций.

Описание:

Метод записывает данные из базовой таблицы SrcQuery в базовую таблицу DestQuery. При записи поле связи с картой получает новое значение согласно файлу соответствия ключей KeyXlatFile.

В текстовом файле KeyXlatFile в каждой строке через запятую указываются исходное значение ключа (из SrcQuery) и его новое значение (в DestQuery).

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

В случае успеха метод возвращает True, иначе False. Свойства LastError и LastErrorString содержат информацию об ошибке.


LastError property (ZbDatabase)

Возвращает код последней ошибки.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property LastError As Long

read-only

Значения кодов возвращаемых ошибок перечислены в списке констант zbErrCode.


LastErrorString property (ZbDatabase)

Возвращает текстовое описание последней ошибки.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property LastErrorString As String

read-only


LastNativeError property (ZbDatabase)

Возвращает внутренний код ошибки в зависимости от используемого для запросов сервиса.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property LastNativeError As Variant

read-only


LoginPassword property (ZbDatabase)

Задает предопределенный пароль, который следует использовать при соединении с источниками данных. Работает в паре с LoginUserName.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property LoginPassword As String


LoginPrompt property (ZbDatabase)

Разрешает/запрещает появление панели авторизации для доступа к серверным СУБД.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property LoginPrompt As Boolean

Описание:

Свойство LoginPrompt позволяет запретить или разрешить появление панели авторизации для доступа к серверным СУБД. Если свойство LoginPrompt установлено в значение False, то панель авторизации для ввода имени пользователя и пароля не будет появлятся, и текущая операция будет прервана с ошибкой.

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


LoginType property (ZbDatabase)

Определяет поведение при авторизации на источниках данных. Значение берется из набора констант zbLoginType.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property LoginType As zbLoginType


LoginUserName property (ZbDatabase)

Задает предопределенное имя пользователя, которое будет испоользоваться при соединении с источниками данных. Работает совместно с LoginPassword.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property LoginUserName As String


ModelName property (ZbDatabase)

Задает внутреннее имя в модели данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property ModelName As String

Описание:

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


ModifyByKeySet method (ZbDatabase)

Метод зарезервирован и в настоящий момент не используется.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function ModifyByKeySet(Operation As Long, KeySet, OptionsOrCount As Long, Fields, Values, [Count]) As Boolean


Name property (ZbDatabase)

Полное имя файла семантической базы данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Name As String

Пример:

"С:\Program Files\Zulu 7.0\Examples\Termo\Kvartal\Doma.zb"


Open method (ZbDatabase)

Открывает существующую семантическую базу данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function Open(FilePath As String) As Boolean

FilePath - полное имя файла описателя базы данных.

Описание:

Открывает существующую семантическую базу данных. При открытии активным запросом становится основной запрос.

Пример:

    'Пример 1.
    'Открываем базу по простым объектам
    Dim Db As ZbDatabase
    Dim BaseName As String
    'получаем имя базы
    BaseName = Layer.BaseName
    Set Db = New ZbDatabase
    Db.Open BaseName


OpenSQL method (ZbDatabase)

Выполняет SQL запрос и возвращает набор данных. Предполагается, что в запросе используется оператор SELECT.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function OpenSQL([Source], SqlText As String) As IZbDataset

Source - источник данных (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

SqlText - текст SQL запроса.

Описание:

Метод выполняет SQL запрос, заданный строкой SqlText и возвращает набор данных в виде объекта IZbDataset. В случае ошибки метод вернет Null, а свойство LastErrorString будет содержать сообщение об ошибке.


OpenSQLEx method (ZbDatabase)

Выполняет SQL запрос с параметрами и возвращает набор данных. Предполагается, что в запросе используется оператор SELECT.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function OpenSQL([Source], SqlText As String,Params) As IZbDataset

Source - источник данных (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

SqlText - текст SQL запроса.

Params - значения параметров запроса.

Описание:

Метод выполняет SQL запрос, заданный строкой SqlText и возвращает набор данных в виде объекта IZbDataset. В случае ошибки метод вернет Null, а свойство LastErrorString будет содержать сообщение об ошибке.

В дополнительном параметре Params передаются значения параметров запроса. Это может быть объект IZbSqlParams, хранящий значения параметров, массив (safearray) значений, либо одиночное значение, если у SQL запроса предполагается единственный параметр.


Queries property (ZbDatabase)

Возвращает коллекцию запросов базы данных (объект IZbQueries).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Queries As IZbQueries

read-only


QueryByExample method (ZbDatabase)

Вополняет запрос по образцу.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function QueryByExample(QueryStrings, [Fields], [QueryResult As Long], [DataSet As IZbDataset]) As Boolean

QueryStrings - строки запроса, разделенные символом ASCII 10.

Fields - имена полей, которым соответствуют строки запроса, разделенные символом ASCII 10.

QueryResult - возвращаемое число из набора констант zbQueryResultType, определяющее тип запроса.

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

Описание:

Метод делегирует выполнение текущему активному запросу (см. IZbQueryInfo.QueryByExample, ActiveQuery)


QuestionsResolving property (ZbDatabase)

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property QuestionsResolving As zbQuestionsResolving

Описание:

Если значение WarnLevel установлено в значение, отличное от zbwlQuestions, то программа не будет выдавать вопросительных сообщений, а будет руководствоваться значением свойства QuestionsResolving. zbqrPessimistic - во всех спорных ситуациях вызовет отказ операции, zbqrOptimistic - продолжение операции.


Reports property (ZbDatabase)

Возвращает коллекцию отчетов IZbReports.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Reports As IZbReports

read-only


ResetSchemaCache method (ZbDatabase)

Сбрасывает внутренний кеш данных о структуре таблиц и индексах.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Sub ResetSchemaCache()

Описание:

Если в описателе базе данных установлена опция «Кешировать данные схемы», ZuluGIS (и ZuluServer) сохраняет полученную от СУБД информацию о структуре таблиц и индексах во внутреннем кеше и не перезапрашивает её до тех пор, пока соединения с СУБД не будут закрыты. Если структура данных каким-либо образом была изменена не инструментами ZuluGIS, а сторонними приложениями или через выполнение операторов SQL, такая кешируемая информация может перестать быть актуальной. Метод ResetSchemaCache очищает внутренний кеш полученных данных схемы и позволяет актуализировать эту информацию.


Save method (ZbDatabase)

Сохраняет описатель базы данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function Save(Options As Long) As Boolean

Options - зарезервирован.

Описание:

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


SaveAs method (ZbDatabase)

Сохраняет описатель базу данных в указанном файле.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function SaveAs(FilePath As String, Options As Long) As Boolean

FilePath - путь к файлу описателя базы данных (*.zb).

Options - зарезервировано.

Описание:

В случае успешного завершения операции метод вернет True.


SaveDatasetToTable method (ZbDatabase)

Сохраняет набор данных в таблицу.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function SaveDatasetToTable(DataSet As IZbDataset, Source , TableName As String, nSaveOpt As Long) As Boolean

DataSet - набор данных, который нужно записать в таблицу.

Source - источник таблицы (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

TableName - имя таблицы или полный путь к файлу таблицы, в которую записываются данные.

nSaveOpt - зарезервировано.

Описание:

Метод позволяет сохранить набор данных в произвольной таблице. Таблица задается параметрами Source и TableName. Если значение параметра Source пусто, то TableName должен содержать полный путь к файлу таблицы (Paradox или dBase).

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

В случае успешного завершения операции метод вернет True.


SelectAll method (ZbDatabase)

Возвращает все записи текущего запроса.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function SelectAll() As IZbDataset

Описание:

Метод делегирует выполнение текущему активному запросу (см. IZbQueryInfo.SelectAll, ActiveQuery).

Количество возвращаемых полей зависит от того, включено ли поле связи в картой в поля для вывода данного запроса. Если поле связи с картой не включено в список полей, то в возвращаемом наборе записей оно выводится на первом месте. При этом количество возвращаемых полей увеличивается на 1. Выбор записей происходит из текущего запроса. Для смены запросов используйте свойство ActiveQuery. Данный метод передает управление методу активного запроса и оставлен для совместимости версий. Рекомендуется использовать метод SelectAll объекта IZbQueryInfo.


SelectByExample method (ZbDatabase)

Вополняет выборку данных с учетом условий.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function SelectByExample(QueryStrings As String, Fields As String) As IZbDataset

QueryStrings - строки запроса, разделенные символом ASCII 10.

Fields - имена полей, которым соответствуют строки запроса, разделенные символом ASCII 10.

Описание:

Метод делегирует выполнение текущему активному запросу (см. IZbQueryInfo.SelectByExample, ActiveQuery).

Пример:

Private Sub Command2_Click()

    'Открываем базу данных активного слоя для типа с ID = 1

    Dim db as ZbDatabase

    Set db = new ZbDatabase

    If db.Open(MapCtrl1.map.Layers.Active.ObjectTypes.Item(1)) = True Then

        'Запрос аналогичный запросу из окна с информацией:
        'Найти записи, где значение поля T1_r >=150 и Thz_r >=5

        Set ds = db.SelectByExample(">=150" + Chr(10) + ">=5", "T1_r" + Chr(10) + "Thz_r")

        'Выводим количество записей в ответе
        Dim Cnt As Long

        Cnt = 0

        If ds.MoveFirst = True Then
            Do
                Cnt = Cnt + 1

                If ds.MoveNext = False Then Exit Do
            Loop
        End If

        MsgBox Cnt

    End If

 End Sub


SelectByKey method (ZbDatabase)

Возвращает записи по ключу.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function SelectByKey(Key) As IZbDataset

Key - ключ объекта.

Описание:

Данный метод выбирает запись (записи) по значению ключевого поля (поля связи). Данный метод передает управление методу активного запроса и оставлен для совместимости версий. Рекомендуется использовать метод SelectByKey объекта IZbQueryInfo.


SelectByKeySet method (ZbDatabase)

Выбрать все записи по набору ключей.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function SelectByKeySet(KeySet, OptionsOrCount As Long, Fields, [Count]) As IZbDataset

где KeySet - набор ключей. Может быть задан:

KeySet

OptionsOrCount

Значение

строка

zbkoTextFile

набор ключей задается в текстовом файле

строка

zbkoBinaryFile

двоичном файле, первые 4 байта - число ключей, остальные данные - список ключей по 4 байта

значение из набора zbKeyFilterType

zbkoKeyFilter

набор ключей задается указанным фильтром ключей

строка, разделенная символом с ASCII кодом 10

zbkoStrings

набор ключей, перечислен в строке

массив строк

-

массивом строк

массив целых чисел

массив ключей

указатель на первый элемент массива целых чисел

число элементов в массиве

массив ключей

Fields - набор полей. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10,

б) массивом строк,

в) массивом номеров полей,

г) указателем на первый элемент массива, тогда необходимо задать параметр Count - число элементов массива.

Описание:

Данный метод передает управление методу активного запроса и оставлен для совместимости версий. Рекомендуется использовать метод SelectByKeySet объекта IZbQueryInfo.


SelectForm method (ZbDatabase)

Выбрать текущую форму.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Sub SelectForm(Form)

Form:

  • либо пользовательское название формы.

  • либо объект-форма IZbFormInfo.

  • либо индекс в массиве коллекции форм.


ShrinkByKeySet method (ZbDatabase)

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

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function ShrinkByKeySet(KeySet, OptionsOrCount As Long) As Boolean

KeySet

OptionsOrCount

Значение

строка

zbkoTextFile

набор ключей задается в текстовом файле

строка

zbkoBinaryFile

двоичном файле, первые 4 байта - число ключей, остальные данные - список ключей по 4 байта

значение из набора zbKeyFilterType

zbkoKeyFilter

набор ключей задается указанным фильтром ключей

строка, разделенная символом с ASCII кодом 10

zbkoStrings

набор ключей, перечислен в строке

массив строк

-

массивом строк

массив целых чисел

 -

массив ключей

указатель на первый элемент массива целых чисел

число элементов в массиве

массив ключей

Описание:

В случае успешного добавления записи метод вернет True. Данный метод передает управление методу активного запроса и оставлен для совместимости версий. Рекомендуется использовать метод ShrinkByKeySet объекта IZbQueryInfo.


Sources property (ZbDatabase)

Возвращает коллекцию объектов-источников данных (объект IZbSources).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Sources As IZbSources

read-only


TableExists method (ZbDatabase)

Определяет, существует ли указанная таблица или нет.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function TableExists([Source], TableName As String) As Integer

Source - источник таблицы (необязательный параметр). Может быть объектом IZbSourceInfo, либо содержать строку - имя источника данных, либо пусто.

TableName - имя таблицы. Если параметр Source пуст, TableName должно содержать полный путь к таблице.

Описание:

Если таблица существует, метод вернет 1, если нет - 0. В том случае, если соединиться с источником данных не удалось, или в случае иной ошибки, метод вернет 2.


Tables property (ZbDatabase)

Возвращает коллекцию таблиц семантической базы данных (объект IZbTables).

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Tables As IZbTables

read-only


Tags property (ZbDatabase)

Возвращает коллекцию тегов IZbTags, связанных с данным объектом.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property Tags As IZbTags

read-only


UpdateBaseRecord method (ZbDatabase)

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

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function UpdateBaseRecord(Key, Fields, Values, [Count]) As Boolean

Key - ключ объекта.

Fields - набор полей. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом целых чисел, представляющий индексы полей базовой таблицы.

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

Values - набор значений. Может быть задан как:

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

Описание:

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

Данный метод оставлен для совместимости с предвыдущими версиями и передает управление аналогичному методу UpdateBaseRecord активного запроса (см. ActiveQuery).


UpdateFromAscii method (ZbDatabase)

Обновить данные в семантической базе данных по значениям, заданным в текстовом файле.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Function UpdateFromAscii(AsciiFile As String, Fields, [Count], Format As zbAsciiInfo) As Boolean

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

Fields - набор полей. Может быть задан как

а) строки, разделенные символом с кодом ASCII 10.

б) массивом строк.

в) массивом номеров полей.

г) указателем на первый элемент массива, тогда необходимо задать параметр Count - число элементов массива.

Format - задается типом zbAsciiInfo в случае, если формат записи в текстовый файл отличен от стандартного. Стандартный формат записи - значения указываются в кавычках через запятую.

Описание:

В случае успешного добавления записи метод вернет True. Данный метод передает управление методу активного запроса и оставлен для совместимости версий. Рекомендуется использовать метод UpdateFromAscii объекта IZbQueryInfo.


UserName property (ZbDatabase)

Возвращает/устанавливает пользовательское название семантической базы данных.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property UserName As String


WarnLevel property (ZbDatabase)

Определяет режим (уровень) выдачи сообщений об ошибках или предупреждений.

Применяется к:

ZbDatabase

Синтаксис:

Visual Basic:

Property WarnLevel As Long

Описание:

Уровень выдачи сообщений определяется значением из набора констант zbWarnLevel.

Для того, чтобы исключить выдачу любых сообщений об ошибках при работе с данными, установите свойство WarnLevel в значение zbwlQuiet (0).


ZbUtilities Object

Набор методов-утилит по работе с базами данных.

Входит в состав ZuluGIS 2021 Database Connection Library.

Регистрационная информация:

PROGID:

Zb.Utilities

CLSID:

{12507349-0B01-11D2-B55D-444553540000}

Методы:

Методы

ExecuteQBEQuery

GetTableLangDriver

GetTableLevel

TableDelete

TablePack

TableRename

Пример создания:

'Visual Basic:
Dim util As Zb.ZbUtilities
Set util = New Zb.ZbUtilities
//Delphi:
util: IZbUtilities;
util := CoZbUtilities.Create;
'VBScript:
Set util = CreateObject("Zb.Utilities")


ExecuteQBEQuery method (ZbUtilities)

Выполняет QBE запрос.

Применяется к:

ZbUtilities

Синтаксис:

Visual Basic:

Function ExecuteQBEQuery(QueryString As String) As Boolean

Описание:

В случае успеха метод вернет True, иначе False.


GetTableLangDriver method (ZbUtilities)

Возвращает имя языкового драйвера для указанной таблицы Paradox или dBase.

Применяется к:

ZbUtilities

Синтаксис:

Visual Basic:

Function GetTableLangDriver(TableName As String) As String

TableName - полный путь к файлу таблицы.


GetTableLevel method (ZbUtilities)

Возвращает версию формата (level) указанной таблицы Paradox или dBase.

Применяется к:

ZbUtilities

Синтаксис:

Visual Basic:

Function GetTableLevel(TableName As String) As Long

TableName - полный путь к файлу таблицы.


TableDelete method (ZbUtilities)

Удаляет локальную таблицу Paradox или dBase.

Применяется к:

ZbUtilities

Синтаксис:

Visual Basic:

Function TableDelete(TableName As String) As Boolean

TableName - полный путь к файлу таблицы.

Описание:

В случае успеха метод вернет True, иначе False.


TablePack method (ZbUtilities)

Выполняет «сжатие» (pack) таблицы Paradox.

Применяется к:

ZbUtilities

Синтаксис:

Visual Basic:

Function TablePack(TableName As String) As Boolean

TableName - полный путь к файлу таблицы.

Описание:

В случае успеха метод вернет True, иначе False.


TableRename method (ZbUtilities)

Переименовывает локальную таблицу Paradox или dBase.

Применяется к:

ZbUtilities

Синтаксис:

Visual Basic:

Function TableRename(TableNameOld As String, TableNameNew As String) As Boolean

TableNameOld - полный путь к исходной таблице.

TableNameNew - полный путь к новой таблице.

Описание:

В случае успеха метод вернет True, иначе False.


ZElemsStates object

Является коллекцией элементов, содержащих ID элемента, тип и режим. Эти три параметра определяют состояние типового элемента слоя. Коллекция применяется в методах объекта Layer, выполняющих групповое изменение состояний объектов слоя: SetModesByElemsStates и

SetTypesByElemsStates.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

AddItem

AddTypeModeItem

Clear


AddItem method (ZElemsStates )

Добавляет в коллекцию элемент заданным ID, режимом.

Применяется к:

ZElemStates

Синтаксис:

Visual Basic:

Sub AddItem(ElemID As Long, ModeID As Long)

ElemID - ID эелемента слоя.

ModeID - ID режима.


AddTypeModeItem method (ZElemsStates )

Добавляет в коллекцию элемент заданным ID, типом и режимом.

Применяется к:

ZElemsStates

Синтаксис:

Visual Basic:

Sub AddTypeModeItem(ElemID As Long, TypeID As Long, ModeId As Long)

ElemID - ID эелемента слоя.

ModeID - ID режима.

ModeID - ID режима.


Clear method (ZElemsStates )

Удалает все элементы из коллекции.

Применяется к:

ZElemStates

Синтаксис:

Visual Basic:

Sub Clear()


Count property (ZElemsStates )

Возвращает количество элементов коллекции.

Применяется к:

ZElemStates

Синтаксис:

Visual Basic:

Property Count As Long

read-only


ZEllipse object

Объект-эллипс. Входит как свойство Ellipse в объект SymbolElement.

Эллипс характеризуется координатами центра, а также коэффициентами сжатия A, B.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ZEllipse

CLSID:

{125070B8-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

A

Angle

B

Center

Filled

SetEllipse

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.ZEllipse
Set obj = New ZuluLib.ZEllipse
//Delphi:
obj: IZEllipse;
obj := CoZEllipse.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.ZEllipse")


A, B property (ZEllipse)

Возвращает знаяения малой и большой полу-осей эллипса.

Применяется к:

ZEllipse

Синтаксис:

Visual Basic:

Property A As Double

Property B As Double

read-only


Angle property (ZEllipse)

Возвращает угол поворота эллипса.

Применяется к:

ZEllipse

Синтаксис:

Visual Basic:

Property Angle As Double

read-only


Center property (ZEllipse)

Возвращает точку, являющуюся центром эллипса.

Применяется к:

ZEllipse

Синтаксис:

Visual Basic:

Property Center As ZPoint

read-only


Filled property (ZEllipse)

Возвращает признак того, является ли эллипс заполненным (True).

Применяется к:

ZEllipse

Синтаксис:

Visual Basic:

Property Filled As Boolean

read-only


SetEllipse method (ZEllipse)

Задаеит эллипс.

Применяется к:

ZEllipse

Синтаксис:

Visual Basic:

Function SetEllipse(X As Double,Y As Double, A As Double, B As Double, Angle As Double, FillFlag As Boolean) As Boolean


ZGeometry object

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

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ZGeometry

CLSID:

{1250744B-11DD-4DDC-AFDA-3007DB025F4D}

Методы:

Методы

BufferZone

CombinePolyContours

CreateConvexHull

CreateDelaunay

CreateRegularPolygon

CreateVoronoi

CrossSegmentAndStraightLine

CrossSegments

Distance

GetPointOnPolyline

GetPointOnPolylineRatio

GetPointOnPolylineSection

GetSubPolyline

IsPointInContour

IsPointInPolyContour

IsRectanglesIntersects

SimplifyContour

SimplifyPolyline

SmoothPolylineChaikin

VertexAngle

Пример создания:

'Visual Basic:
Dim util As ZuluLib.ZGeometry
Set util = New ZuluLib.ZGeometry
//Delphi:
util: IZGeometry;
util := CoZGeometry.Create;
'VBScript:
Set util = CreateObject("ZuluLib.ZGeometry")


BufferZone method (ZGeometry)

Создает для заданного геометрического объекта буферную зону заданной ширины.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function BufferZone(GeomObject As Object, Width As Double, Options As Long, nPointsPerCircle As Long) As PolyContour

GeomObject - геометрический объект.

Width - ширина буферной зоны в единицах геометрического объекта.

Options - зарезервирован, должен быть 0.

nPointsPerCircle - количество точек при аппроксимации закруглений при построении зоны.

Описание:

Геометрический объект может быть представлен следующими объектами: ZPoint, PolyLine, PolyPolyLine, Contour, PolyContour

Результат построения буферной зоны возвращается в виде нового региона PolyContour.


CombinePolyContours method (ZGeometry)

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

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function CombinePolyContours(Region1 As PolyContour, Region2 As PolyContour, Mode As eCombineMode, Flags As Long) As PolyContour

Region1 - первый регион.

Region2 - второй регион.

Mode - тип операции.

Flags - зарезервирован, должен быть 0.

Описание:

Результат выполнения геометрической операции над двумя регионами возвращается в виде нового региона PolyContour.

Пример:

'Получаем два площадных объекта слоя L1 и записываем их объединение в слой L2
Dim c1 As PolyContour
Dim c2 As PolyContour
Dim c3 As PolyContour

Dim el1 As Element
Dim el2 As Element

Dim G As ZGeometry

'Получаем объект с ключом id1
Set el1 = L1.Elements.GetElement(id1)
'Получаем объект с ключом id2
Set el2 = L1.Elements.GetElement(id2)

'Если оба объекта получены
If el1.Key <> -1 AND el2.Key <> -1 Then

  Set c1 = el1.PolyContour
  Set c2 = el2.PolyContour

    'Если оба объекта площадные
    If TypeName(c1) = "IPolyContour" AND TypeName(c2) = "IPolyContour" Then

    'Создали объект для вызова метода
    Set G = New ZGeometry

    'Получаем объединение объектов
    Set c3 = G.CombinePolyContours(c1, c2, eCombineModeOr, 0)

    'Записываем результат объединения в слой L2
    L2.Active.AddPolyContour c3, Nothing, -1, -1

  End If

End If


CreateConvexHull method (ZGeometry)

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

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function CreateConvexHull(inPoints As PolyLine) As Contour

inPoints - полилиния, содержащая множество точек для построения оболочки (используется как массив точек)

Описание:

Результат возвращается в виде контурного объекта Contour


CreateDelaunay method (ZGeometry)

Выполняет построение триангуляции Делоне по заданному набору точек.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function CreateDelaunay(inPoints As PolyLine) As PolyContour

inPoints - полилиния в качестве массива точек.

Описание:

Массив точек для построения триангуляции задается вершинами полилинией. Результат построения записывается в поликонтур PolyContour, где каждый контур, в составе поликонтура является треугольником.


CreateRegularPolygon method (ZGeometry)

Создает правильный n-угольник.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function CreateRegularPolygon(N As Long, Xc As Double, Yc As Double, R As Double, Angle As Double, flag As Long) As Contour

N - количество сторон многоугольника.

Xc, Yc - координаты центра многоугольника.

R - Сторона многоуголдиника или радиус вписанной или описанной окружности, в зависимости от параметра flag.

Angle - угол поворота многоугольника вокруг центра.

flag - задает назначение параметра R:

0 - радиус вписанной окружности,

1 - радиус описанной окружности,

2 - сторона многоугольника.

Описание:

Результат возвращается в виде контурного объекта Contour


CreateVoronoi method (ZGeometry)

Выполняет построение ячеек Вороного по заданному набору точек.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function CreateVoronoi(inPoints As PolyLine, iRect As ZRectangle, Flags As Long) As PolyContour

inPoints - массив точек.

iRect - зарезервирован, должен быть (0,0,0,0) или Nothing.

iRect - зарезервирован, должен быть (0,0,0,0) или Nothing.

Flags - зарезервирован, должен быть 0.

Описание:

Массив точек для построения ячеек Вороного задается вершинами полилинией. Результат построения записывается в поликонтур PolyContour, где каждый контур, в составе поликонтура является ячейкой Вороного.


CrossSegmentAndStraightLine method (ZGeometry)

Находит пересечение отрезка с прямой линией.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function CrossSegmentAndStraightLine(X11 As Double, Y11 As Double, X12 As Double, Y12 As Double,

X21 As Double, Y21 As Double, X22 As Double, Y22 As Double) As Points

(X11, Y11) (Y12, X12) - пара точек, задающая отрезок.

(X21, Y21) (X22, Y22) - пара точек, задающая прямую.

Описание:

Результат пересечения отрезка с прямой возвращается в коллекции Points. Если свойство Points.Count равно нулю, пересечение отсутствует, единице - есть пересечение, двум - отрезок лежит на прямой.


CrossSegments method (ZGeometry)

Находит пересечение двух отрезков.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function CrossSegments(X11 As Double, Y11 As Double, X12 As Double, Y12 As Double,

X21 As Double, Y21 As Double, X22 As Double, Y22 As Double) As Points

(X11, Y11) (Y12, X12) - пара точек, задающая первый отрезок.

(X21, Y21) (X22, Y22) - пара точек, задающая второй отрезок.

Описание:

Результат пересечения отрезков возвращается в коллекции Points. Если свойство Points.Count равно нулю, пересечение отсутствует, единице - есть одна точка пересечения, двум - отрезки лежат друг на друге.


Distance method (ZGeometry)

Находит расстояние между двумя точками.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function Distance(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double) As Double

X1, Y1 - координаты первой точки.

X2, Y2 - координаты второй точки.

Описание:

Расстояние определяется по формуле D = sqrt((X1-X2)^2 + (Y1-Y2)^2).


GetPointOnPolyline method (ZGeometry)

Возвращает точку на полилинии на заданном расстоянии от начала.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function GetPointOnPolyline(inPolyline As PolyLine, Ratio As Double) As ZPoint

PolyLine - исходная полилиния.

Ratio - отношение расстояния от начала полилинии до искомой точки к длине всей полилинии.

Описание:

Отношение (Ratio) задается в диапазоне от 0 до 1.

Результат возвращается в виде точечного объекта ZPoint.


GetPointOnPolylineRatio method (ZGeometry)

Возвращает отношение расстояния от начала полилинии до заданной точки на полилинии к длине всей полилинии.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function GetPointOnPolylineRatio(inPolyline As PolyLine, X As Double, Y As Double, Delta As Double) As Double

PolyLine - исходная полилиния.

X, Y - координаты точки на полилинии.

Delta - окрестность в пределах которой точка считается лежащей на полилинии.


GetPointOnPolylineSection method (ZGeometry)

Возвращает номер отрезка полилини на который попадает точка на заданном расстоянии от начала полилинии.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function GetPointOnPolylineSection(inPolyline As PolyLine, Ratio As Double) As ZPoint

PolyLine - исходная полилиния.

Ratio - отношение расстояния от начала полилинии до искомой точки к длине всей полилинии.

Описание:

Отношение (Ratio) задается в диапазоне от 0 до 1.

Нумерация отрезков с нуля.

Пример VbScript:

Sub InsertNode
'Разбиваем участок сети с ID=3, кододцем на расстоянии 70% от начала участка

'Создали объект слой
    Set L = CreateObject("ZuluLib.Layer")
'открыли слой
    L.Open "d:\out\voda.b00"

' Получаем полилинию для участка с ID=3
    Set Pl = L.Elements.Item(3).PolyLine

' Создаем объект для работы с геометрией
    Set Geo = CreateObject("ZuluLib.ZGeometry")

' Получаем точку на полилинии на расстоянии 70% от  начала
    Set Pt = Geo.GetPointOnPolyline(Pl, 0.7)

' Получаем номер сегомента полилинии для такой точки
    Num = Geo.GetPointOnPolylineSection(Pl, 0.7)

' Разбиваем символьным объектом (тип 6, режим 1) участок ID = 3 по координатам этой точки в найденную секцию полилинии
    L.InsertSymbol 3, Num, 0, Pt.X, Pt.Y, 6, 1

End Sub


GetSubPolyline method (ZGeometry)

Возвращает фрагмент полилинии ограниченный двумя точками на полилинии.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function GetSubPolyline(inPolyline As PolyLine, Ratio1 As Double, Ratio2 As Double) As PolyLine

PolyLine - исходная полилиния.

Ratio1 - отношение расстояния от начала полилинии до первой точки к длине всей полилинии.

Ratio2 - отношение расстояния от начала полилинии до второй точки к длине всей полилинии.

Описание:

Отношения (Ratio1, Ratio2) задаются в диапазоне от 0 до 1.

Результат возвращается в виде объекта с полилинией PolyLine.


IsPointInContour method (ZGeometry)

Проверяет, попадание точки в полигон.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function IsPointInContour(Region As Contour, X As Double, Y As Double) As Long

Region - полигон.

X, Y - координаты точки.

Описание:

Возможные возвращаемые значения:

0 - точка вне контура,

1 - точка внутри контура,

2 - точка на границе контура.


IsPointInPolyContour method (ZGeometry)

Проверяет, попадание точки в составной полигон.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function IsPointInPolyContour(Region As PolyContour, X As Double, Y As Double) As Long

Region - составной полигон.

X, Y - координаты точки.

Описание:

Возможные возвращаемые значения:

0 - точка вне поликонтура,

1 - точка внутри поликонтура,

2 - точка на границе поликонтура.


IsRectanglesIntersects method (ZGeometry)

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

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function IsRectanglesIntersects(Rect1 As ZRectangle, Rect2 As ZRectangle) As Boolean

Rect1 - первый прямоугольник.

Rect2 - второй прямоугольник.

Описание:

Если прямоугольники имеют пересечение (включая касание), метод возвращает True. В противном случае метод вернет False.


SimplifyContour method (ZGeometry)

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

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function SimplifyContour(inPoints As Contour) As PolyLine

inPoints - исходный контур.

Описание:

Результат возвращается в виде нового контура Contour.


SimplifyPolyline method (ZGeometry)

Возвращает полилинию, полученную путем уменьшения числа вершин исходной полилинии по алгоритму Дугласа — Пекера.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function SimplifyPolyline(inPoints As PolyLine) As PolyLine

inPoints - исходная полилиния.

Описание:

Результат возвращается в виде новой полилинии PolyLine.


SmoothPolylineChaikin method (ZGeometry)

Сглаживает полилинию алгоритмом Чайкина.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function SmoothPolylineChaikin(inPolyline As PolyLine, dist As Double, nIter As Long) As PolyLine

PolyLine - исходная полилиния.

dist - расположение точек сглаживания на стороне отрезка в долях от длины.

nIter - количество итераций сглаживания.

Описание:

Результат возвращает объект со сглаженной полилинией PolyLine.


VertexAngle method (ZGeometry)

Находит угол, заданный тремя точками.

Применяется к:

ZGeometry

Синтаксис:

Visual Basic:

Function VertexAngle(X1 As Double, Y1 As Double, X2 As Double, Y2 As Double, X3 As Double, Y3 As Double) As Double

X1, Y1 - координаты первой точки

X2, Y2 - координаты второй точки (вершины угла)

X3, Y3 - координаты третьей точки

Описание:

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


ZGeoObject object

Сдержит описание геометрического объекта.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы


ZGPS object

Предоставляет набор методов для работы со спутниковыми навигаторами GPS/ГЛОНАСС.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

AutoConnect

AutoDetect

BaudRate

ByteSize

Parity

Port

StopBits

GetValidPort

SetTargetLayer

Start

StartTrack

Stop

StopTrack


AutoConnect property (ZGps)

Возвращает/устанавливает признак автоматического соединения c приемником GPS/ГЛОНАСС при потере связи.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Property AutoConnect As Boolean


AutoDetect property (ZGps)

Возвращает/устанавливает признак автоматического определения СОМ-порта, к которому присоединен приемник GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Property AutoDetect As Boolean


BaudRate property (ZGps)

Возвращает/устанавливает скорость передачи для СОМ-порта, к которому присоединен приемник GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Property BaudRate As eSerialBaudRate


ByteSize property (ZGps)

Возвращает/устанавливает количество бит в байте, используемых при обмене данными с СОМ-портом, к которому присоединен приемник GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Property ByteSize As eSerialByteSize


GetValidPort method (ZGps)

Ищет СОМ-порт, к которому подключен приемник GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Function GetValidPort() As Long

Описание:

Если СОМ-порт найден, возвращает номер СОМ-порта, к которому подключен приемник GPS/ГЛОНАСС. В противном случае метод возвращает 0. Приемник GPS/ГЛОНАСС должен передавать данные на СОМ-порт по протоколу NMEA 0183.


Parity property (ZGps)

Возвращает/устанавливает схему контроля четности при обмене данными с СОМ-портом, к которому присоединен приемник GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Property Parity As eSerialParity


Port property (ZGps)

Возвращает/устанавливает номер СОМ-порта, к которому присоединен приемник GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Property Port As Long


SetTargetLayer method (ZGps)

Устанавливает слой, в который будут записываться данные, полученные из приемника GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Function SetTargetLayer(Layer As Layer) As Boolean

Layer - слой системы Zulu в формате GPX.

Описание:

В случае успеха метод возвращает значение True.

В противном случае метод вернет False.

Пример:

'Объявляем глобальную переменную
Public gps1 As ZGps

'Процедура создания и инициализации объекта ZGps
Private Sub Command1_Click()

Dim lyr As Layer

'Создаем объект ZGps
Set gps1 = New ZGps

'Устанавливаем порт СОМ1
gps1.Port = 1

'Устанавливаем скорость обмена 9600
gps1.BaudRate = eCBR_9600

'Берем активный слой карты
Set lyr = MapCtrl1.Map.Layers.Active

'Устанавливаем слой, куда будут записываться данные из приемника GPS/ГЛОНАСС
If (gps1.SetTargetLayer(lyr)) Then

'Запускаем процесс обработки данных
gps1.Start

'Начинаем запись трека "Test track"
gps1.StartTrack "Test track"

 End If

End Sub

'Процедура остановки записи
Private Sub Command2_Click()

'Останавливаем запись и сохраняем трек в файл слоя
gps1.StopTrack

'Останавливаем процесс обработки данных
gps1.Stop

End Sub


Start method (ZGps)

Запускает процесс обработки данных, получаемых от подключенного приемника GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Function Start() As Long

Описание:

В случае успеха метод возвращает положительное значение.

В противном случае метод вернет -1.

Пример:

'Объявляем глобальную переменную
Public gps1 As ZGps

'Процедура создания и инициализации объекта ZGps
Private Sub Command1_Click()

Dim lyr As Layer

'Создаем объект ZGps
Set gps1 = New ZGps

'Устанавливаем порт СОМ1
gps1.Port = 1

'Устанавливаем скорость обмена 9600
gps1.BaudRate = eCBR_9600

'Берем активный слой карты
Set lyr = MapCtrl1.Map.Layers.Active

'Устанавливаем слой, куда будут записываться данные из приемника GPS/ГЛОНАСС
If (gps1.SetTargetLayer(lyr)) Then

'Запускаем процесс обработки данных
gps1.Start

'Начинаем запись трека "Test track"
gps1.StartTrack "Test track"

 End If

End Sub

'Процедура остановки записи
Private Sub Command2_Click()

'Останавливаем запись и сохраняем трек в файл слоя
gps1.StopTrack

'Останавливаем процесс обработки данных
gps1.Stop

End Sub


StartTrack method (ZGps)

Начинает запись трека с указанным именем.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Function StartTrack(Name As String) As Booelan

Name - имя записываемого трека.

Описание:

Начинает запись трека с указанным именем. Трек записывается в слой, предварительно установленный с помощью метода SetTargetLayer.

В случае успеха метод возвращает True.

В противном случае метод вернет False.

Пример:

'Объявляем глобальную переменную
Public gps1 As ZGps

'Процедура создания и инициализации объекта ZGps
Private Sub Command1_Click()

Dim lyr As Layer

'Создаем объект ZGps
Set gps1 = New ZGps

'Устанавливаем порт СОМ1
gps1.Port = 1

'Устанавливаем скорость обмена 9600
gps1.BaudRate = eCBR_9600

'Берем активный слой карты
Set lyr = MapCtrl1.Map.Layers.Active

'Устанавливаем слой, куда будут записываться данные из приемника GPS/ГЛОНАСС
If (gps1.SetTargetLayer(lyr)) Then

'Запускаем процесс обработки данных
gps1.Start

'Начинаем запись трека "Test track"
gps1.StartTrack "Test track"

 End If

End Sub

'Процедура остановки записи
Private Sub Command2_Click()

'Останавливаем запись и сохраняем трек в файл слоя
gps1.StopTrack

'Останавливаем процесс обработки данных
gps1.Stop

End Sub


Stop method (ZGps)

Останавливает процесс обработки данных, получаемых от подключенного приемника GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Function Stop() As Long

Описание:

В случае успеха метод возвращает положительное значение.

В противном случае метод вернет -1.

Пример:

'Объявляем глобальную переменную
Public gps1 As ZGps

'Процедура создания и инициализации объекта ZGps
Private Sub Command1_Click()

Dim lyr As Layer

'Создаем объект ZGps
Set gps1 = New ZGps

'Устанавливаем порт СОМ1
gps1.Port = 1

'Устанавливаем скорость обмена 9600
gps1.BaudRate = eCBR_9600

'Берем активный слой карты
Set lyr = MapCtrl1.Map.Layers.Active

'Устанавливаем слой, куда будут записываться данные из приемника GPS/ГЛОНАСС
If (gps1.SetTargetLayer(lyr)) Then

'Запускаем процесс обработки данных
gps1.Start

'Начинаем запись трека "Test track"
gps1.StartTrack "Test track"

 End If

End Sub

'Процедура остановки записи
Private Sub Command2_Click()

'Останавливаем запись и сохраняем трек в файл слоя
gps1.StopTrack

'Останавливаем процесс обработки данных
gps1.Stop

End Sub


StopBits property (ZGps)

Возвращает/устанавливает количество стоповых битов при обмене данными с СОМ-портом, к которому присоединен приемник GPS/ГЛОНАСС.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Property StopBits As eSerialStopBits


StopTrack method (ZGps)

Останавливает запись трека.

Применяется к:

ZGps

Синтаксис:

Visual Basic:

Function StopTrack(Save As Booelan) As Boolean

Save - если параметр True, трек сохраняется в файл слоя в формате GPX. Если параметр False, трек не сохраняется.

Описание:

Останавливает запись трека начатую с помощью метода StartTrack и сохраняет. Трек записывается в слой, предварительно установленный с помощью метода SetTargetLayer.

В случае успеха метод возвращает True.

В противном случае метод вернет False.

Пример:

'Объявляем глобальную переменную
Public gps1 As ZGps

'Процедура создания и инициализации объекта ZGps
Private Sub Command1_Click()

Dim lyr As Layer

'Создаем объект ZGps
Set gps1 = New ZGps

'Устанавливаем порт СОМ1
gps1.Port = 1

'Устанавливаем скорость обмена 9600
gps1.BaudRate = eCBR_9600

'Берем активный слой карты
Set lyr = MapCtrl1.Map.Layers.Active

'Устанавливаем слой, куда будут записываться данные из приемника GPS/ГЛОНАСС
If (gps1.SetTargetLayer(lyr)) Then

'Запускаем процесс обработки данных
gps1.Start

'Начинаем запись трека "Test track"
gps1.StartTrack "Test track"

 End If

End Sub

'Процедура остановки записи
Private Sub Command2_Click()

'Останавливаем запись и сохраняем трек в файл слоя
gps1.StopTrack

'Останавливаем процесс обработки данных
gps1.Stop

End Sub


ZGraphics object

Зарезервирован для дальнейшего использования.

Входит в состав ZuluGIS 2021 Library.


ZLabel object

Бирка элемента. Бирка привязывается к центру элемента слоя (CenterPoint), сама бирка имеет точку привязки выносной линии (SnapPoint), для каждой бирки можно задать наклон в градусах по отношению к элементу (Angle). Входит как образующий элемент в коллекцию ZLabels.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ZLabel

CLSID:

{125070D0-0B01-11D2-B55D-444553540000}

Свойства:

Свойства

Angle

CenterPoint

ElemID

FillColor

SnapPoint

Visible

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.ZLabel
Set obj = New ZuluLib.ZLabel
//Delphi:
obj: IZLabel;
obj := CoZLabel.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.ZLabel")


Angle property (ZLabel)

Возвращает/устанавливает угол поворота надписи.

Применяется к:

ZLabel

Синтаксис:

Visual Basic:

Property Angle As Double


CenterPoint property (ZLabel)

Возвращает/устанавливает точку привязки надписи к карте.

Применяется к:

ZLabel

Синтаксис:

Visual Basic:

Property CenterPoint As ZPoint


ElemID property (ZLabel)

Возвращает/устанавливает ключ объекта, к которому относится данная надпись.

Применяется к:

ZLabel

Синтаксис:

Visual Basic:

Property ElemID As Long


FillColor property (ZLabel)

Возвращает/устанавливает цвет заливки рамки для вывода бирки.

Применяется к:

ZLabel

Синтаксис:

Visual Basic:

Property FillCoolor As Long

Описание:

Цвет заливки используется только в тех бирках, у стиль которых подразумевает наличие рамки (см. LabelLayer.FrameStyle).

Пример:

Sub SetLabelColor

    Set Doc = Zulu.ActiveMapDoc

    'Получили бирку текущего слоя для варианта надписей ID = 1 для текущего объекта

    Set Label = Doc.Layers.Active.LabelLayers.ItemById(1).Labels.Item(Doc.Layers.Active.CurrentID)

    'Если объект получен
    If TypeName(Label) = "IZLabel" Then

        'Задаем цвет рамки
        Label.FillColor = RGB(0,255,0)

        'Обновляем бирку в слое
        Doc.Layers.Active.LabelLayers.ItemById(1).Labels.SetItem Label

    End If

End Sub


GetBoundsRectangle method (ZLabel)

Возвращает габариты надписи на местности.

Применяется к:

ZLabel

Синтаксис:

Visual Basic:

Function GetBoundsRectangle(flags As Long) As ZRectangle

flags - зарезервирован, должен быть нулем.


SnapPoint property (ZLabel)

Возвращает/устанавливает точку привязки выносной линии к бирке.

Применяется к:

ZLabel

Синтаксис:

Visual Basic:

Property SnapPoint As ZPoint


Visible property (ZLabel)

Возвращает/устанавливает признак видимости надписи.

Применяется к:

ZLabel

Синтаксис:

Visual Basic:

Property Visible As Boolean


ZLabels collection

Надпись слоя (коллекция меток). Входит как свойство Labels в объект LabelLayer.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Item

MoveLabel

SetItem


Item property (ZLabels)

Возвращает элемент из коллекции по ключу.

Применяется к:

ZLabels

Синтаксис:

Visual Basic:

Property Item(ElemID As Long) As ZLabel

read-only

ElemID - ключ объекта.


MoveLabel method (ZLabels)

Перемещает бирку для заданного объекта слоя.

Применяется к:

ZLabels

Синтаксис:

Visual Basic:

Function MoveLabel(ElemID As Long, shiftX As Double, shiftY As Double) As Boolean

ElemID - ключ объекта слоя

shiftX - сдвиг надписи по X

shiftY - сдвиг надписи по Y


SetItem method (ZLabels)

Добавляет или обновляет надпись заданную объектом ZLabel.

Применяется к:

ZLabels

Синтаксис:

Visual Basic:

Function SetItem(Label As ZLabel) As Boolean

Label - объект с описанием надписи.


ZLicInfo object

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

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Методы

GetKeyID

ReadKeyList


GetKeyID method (ZLicInfo)

Возвращает ID ключа защиты по индексу из списка доступных ключей.

Применяется к:

ZLicInfo

Синтаксис:

Visual Basic:

Function GetKeyID(index As Long) As Long

index - индекс ключа в списке ключей

Описание:

В случае успеха метод возвращает ID ключа, в противном случае метод вернет -1

Пример VBScript:

Sub GetLicInfo

'Создаем объект ZLicInfo
Set Info = CreateObject("ZuluLib.ZLicInfo")

'Читаем список ключей и получаем их количество
count = Info.ReadKeyList

'Получаем ID первого ключа из списка
IF count > 0 THEN
  MsgBox Info.GetKeyID(0)
END IF

End Sub


ReadKeyList method (ZLicInfo)

Читает список доступных ключей защиты и возвращает количество найденных ключей.

Применяется к:

ZLicInfo

Синтаксис:

Visual Basic:

Function ReadKeyList() As Long

Описание:

Возвращаемым значением является количество найденных ключей защиты.

Пример VBScript:

Sub GetLicInfo

'Создаем объект ZLicInfo
Set Info = CreateObject("ZuluLib.ZLicInfo")

'Читаем список ключей и получаем их количество
count = Info.ReadKeyList

'Получаем ID первого ключа из списка
IF count > 0 THEN
  MsgBox Info.GetKeyID(0)
END IF

End Sub


ZPoint object

Объект, описывающий точку с координатами X, Y.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ZPoint

CLSID:

{125070C0-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

X

Y

IsValid

SetPoint

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.ZPoint
Set obj = New ZuluLib.ZPoint
//Delphi:
obj: IZPoint;
obj := CoZPoint.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.ZPoint")


IsValid method (ZPoint)

Возвращает признак того, что координаты объекта проинициализированы корректными значениями.

Применяется к:

ZPoint

Синтаксис:

Visual Basic:

Function IsValid() As Boolean

Описание:

Метод следует применять для проверки возвращаемого рядом методов объекта ZPoint.

Пример:

Dim crs As CRS
Dim pt As ZPoint

Set crs = New CRS

'Сферический Меркатор
crs.InitByCode"EPSG:3857"

'Проецируем точку на глобусе в указанную проекцию
Set pt = crs.GetForward( 60, 30 )

'Проверяем результат
If pt.IsValid = False Then
    MsgBox "Ошибка преобразования"
End If


SetPoint method (ZPoint)

Задает точку.

Применяется к:

ZPoint

Синтаксис:

Visual Basic:

Sub SetPoint(X As Double, Y As Double)


X, Y property (ZPoint)

Возвращает X (Y) координату точки.

Применяется к:

ZPoint

Синтаксис:

Visual Basic:

Property X As Double

Property Y As Double

read-only


ZRasterGroup object

Объект представляет группу растровых объектов. В системе Zulu список растровых объектов хранится в виде текстового файла с расширением ZRG, в котором в каждой строке указано имя файла с растровым объектом.

Объект описывает растровую группой только на уровне файла.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Count

AddItem

GetIndexByName

AddItem method (ZRasterGroup)

GetItemName

Open

RemoveItem

SaveAs


AddItem method (ZRasterGroup)

Добавляет растровый объект в группу.

Применяется к:

ZRasterGroup

Синтаксис:

Visual Basic:

Function AddItem(sName As String) As Long

sName - имя файла c растровым объектом.

Описание:

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

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


Count property (ZRasterGroup)

Возвращает количество растровых объектов в группе.

Применяется к:

ZRasterGroup

Синтаксис:

Visual Basic:

Property Count As Long

read-only


GetIndexByName method (ZRasterGroup)

Возвращает индекс растрового объекта в группе по его имени файла.

Применяется к:

ZRasterGroup

Синтаксис:

Visual Basic:

Function GetIndexByName(sName As String) As Long

sName - имя файла растрового объекта.

Описание:

В случае успеха метод вернет значение индекса. В противном случае метод вернет -1.


GetItemName method (ZRasterGroup)

Возвращает имя файла растрового объекта по индексу.

Применяется к:

ZRasterGroup

Синтаксис:

Visual Basic:

Function GetItemName(Index As Long) As String

Index - индекс объекта в группе (нумерация с нуля).

Описание:

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


Open method (ZRasterGroup)

Загружает данные из файла растровой группы.

Применяется к:

ZRasterGroup

Синтаксис:

Visual Basic:

Function Open(ZrgName As String) As Long

ZrgName - имя файла растровой группы.

Описание:

В случае успеха метод возвращает число растровых объектов в указанном файле. В противном случае метод вернет -1.


RemoveItem method (ZRasterGroup)

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

Применяется к:

ZRasterGroup

Синтаксис:

Visual Basic:

Function RemoveItem(Index As Long) As Boolean

Index - индекс объекта в группе (нумерация с нуля).

Описание:

В случае успеха метод вернет True. В противном случае - False.


SaveAs method (ZRasterGroup)

Сохраняет растровую группу в файл.

Применяется к:

ZRasterGroup

Синтаксис:

Visual Basic:

Function SaveAs(Path As String) As Long

Path - имя файла c растровым объектом.

Описание:

Метод создает текстовый файл и записывает в него список имен файлов описателей растровых объектов. Имена файлов записываются с путями, заданными относительно имени сохраняемого файла.


ZRasterParams object

Представляет объект, содержащий набор свойств и методов для работы с растровым объектом растрового слоя.

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Transparency

TransparentWhite

UseCache

AddGeoref

ClearGeoref

ClearVisibleRegion

DeleteGeoref

GetCRS

GetGeoref

GetGeorefCount

GetImageName

GetObjectName

GetUnits

GetVisibleRegion

Open

Save

SaveAs

SaveZrsToOziMap

SaveZrsToTab

SetCRS

SetImageName

SetUnits

SetVisibleRegion


AddGeoref method (ZRasterParams)

Добавляет точку привязки растра к местности.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function AddGeoref(Rx As Long, Ry As Long, X As Double, Y As Double) As Long

Rx - x-координата точки на растре в пикселах.

Ry - y-координата точки на растре в пикселах.

X - X-координата точки на местности в единицах хранения данных.

Y - Y-координата точки на местности в единицах хранения данных.

Описание:

Координаты точки привязки на местности задаются в единица хранения, возвращаемых методом GetUnits. Если точка успешно добавлена, метод вернет 0. В противном случае метод вернет -1.


ClearGeoref method (ZRasterParams)

Удаляет все точки привязки растра к местности.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Sub ClearGeoref()


ClearVisibleRegion method (ZRasterParams)

Отменяет полигон, задающий область отображения растра.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Sub ClearVisibleRegion()


DeleteGeoref method (ZRasterParams)

Удаляет точку привязки растра к местности.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function DeleteGeoref(Idx As Long) As Long

Idx - индекс точки привязки.

Описание:

Если точка успешно удалена, метод вернет 0. В противном случае метод вернет -1.


GetCRS method (ZRasterParams)

Возвращает систему координат растрового объекта.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function GetCRS() As CRS


GetGeoref method (ZRasterParams)

Возвращает точку привязки растра к местности.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function GetGeoref(Idx As Long, Rx, Ry, X, Y) As Long

Idx - индекс точки привязки.

Rx - вариантная переменная для записи x-координаты точки на растре.

Ry - вариантная переменная для записи x-координаты точки на растре.

X - вариантная переменная для записи X-координаты точки на местности.

Y - вариантная переменная для записи Y-координаты точки на местности.

Описание:

Если точка позаданному индексу существует, метод вернет 0 и запишиет результаты в соответствующие переменные. В противном случае метод вернет -1.


GetGeorefCount method (ZRasterParams)

Возвращает количество точек привязки растра к местности.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function GetGeorefCount() As Long


GetImageName method (ZRasterParams)

Возвращает имя растрового файла.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function GetImageName() As String


GetObjectName method (ZRasterParams)

Возвращает имя файла описателя растрового объекта.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function GetObjectName() As String


GetUnits method (ZRasterParams)

Возвращает единицы хранения координат местности точек привязки растра из набора констант eUnits.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function GetUnits() As eUnits


GetVisibleRegion method (ZRasterParams)

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

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function GetVisibleRegion() As PolyLine


Open method (ZRasterParams)

Загружает растровый объект PolyLine object.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function Open(ZrsName As String) As Long

ZrsName - имя описателя растрового объекта.

Описание:

Если объект с указанным именем существует и успешно загружен, метод вернет 0. В противном случае метод вернет -1.


Save method (ZRasterParams)

Сохраняет описатель растрового объекта PolyLine object.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function Save() As Long

Описание:

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

Если описатель успешно сохранен, метод вернет 0. В противном случае метод вернет -1.


SaveAs method (ZRasterParams)

Сохраняет описатель растрового объекта PolyLine object.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function SaveAs(ZrsName As String) As Long

ZrsName - имя файла для сохранения описателя.

Описание:

Если описатель успешно сохранен в файл с указанным именем, метод вернет 0. В противном случае метод вернет -1.


SaveZrsToOziMap method (ZRasterParams)

Сохраняет растровый объект в файл формата MAP системы OziExplorer.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function SaveZrsToOziMap(MapName As String) As Boolean

MapName имя MAP файла для сохранения описателя.

Описание:

Если описатель успешно сохранен в файл с указанным именем, метод вернет True. В противном случае метод вернет False.


SaveZrsToTab method (ZRasterParams)

Сохраняет растровый объект в файл формата TAB системы MapInfo.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function SaveZrsToTab(TabName As String) As Boolean

TabName имя TAB файла для сохранения описателя.

Описание:

Если описатель успешно сохранен в файл с указанным именем, метод вернет True. В противном случае метод вернет False.


SetCRS method (ZRasterParams)

Устанавливает систему координат в которой хранятся координаты местности точек привязки растра.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function SetCRS(inCRS As CRS) As Long

inCRS - объект, описывающий систему координат.

Описание:

В случае успеха метод вернет 0. В противном случае метод вернет -1.


SetImageName method (ZRasterParams)

Устанавливает имя файла растрового изображения.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Sub SetImageName(sName As String)

sName - имя растрового файла.


SetUnits method (ZRasterParams)

Устанавливает единицы хранения координат местности точек привязки растра из набора констант eUnits.

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function SetUnits(nUnit As eUnits) As Long

nUnit - единицы хранения координат.


SetVisibleRegion method (ZRasterParams)

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

Применяется к:

ZRasterParams

Синтаксис:

Visual Basic:

Function SetVisibleRegion(Region As PolyLine) As Long

Region - полилиния с массивом точек в пикселях растра.


Transparency property (ZRasterParams)

Устанавливает\возвращает уровень прозрачности растра.

Применяется к:

ZRasterParams

Синтаксис:

Property Transparency As long

Описание:

Значение уровня прозрачности задается в относительных единицах от 0 до 100. Ноль соответствует отсутствию прозрачности.


TransparentWhite property (ZRasterParams)

Устанавливает\возвращает признак прозрачности белого цвета.

Применяется к:

ZRasterParams

Синтаксис:

Property TransparentWhite As Boolean

Описание:

Если значение свойства - True, то все пиксели растра, имеющие белый цвет, отображаться не будут (будут полностью прозрачны)


UseCache property (ZRasterParams)

Устанавливает\возвращает признак использования постоянного кэша у растрового объекта.

Применяется к:

ZRasterParams

Синтаксис:

Property UseCache As Boolean

Описание:

Постоянный кэш применяется только для растровых файлов в формате BMP.


ZRectangle object

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

Входит в состав ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

Xmax -верхняя левая координата,

Xmin - нижняя левая координата,

Ymax - верхняя правая координата,

Ymin - нижняя правая координата.

SetRectangle


SetRectangle method (ZRectangle)

Задает прямоугольник.

Применяется к:

ZRectangle

Синтаксис:

Visual Basic:

Sub SetRectangle(Xmin As Double, Ymin As Double, Xmax As Double, Ymax As Double)

Xmin, Ymin - координаты левого нижнего угла.

Xmax, Ymax - координаты правого верхнего угла.


ZsConnection object

Объект ZsConnection содержит набор методов для работы c соединением с ZuluServer.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

Connect

CreateFolder

Disconnect

GetFolder

GetHost

GetLogin

GetPassword

GetPort

GetStatistics

GetStatus


Connect method (ZsConnection)

Устанавливает соединение с ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function Connect(Host As String, Port As Long, Login As String, Password As String) As Long

Host - IP адрес или имя сервера.

Port - номер порта.

Login - логин.

Password - пароль.

Описание:

Если соединение с сервером установлено, метод возвращает номер соединения (число болшее или равное нулю).

Если соединениться с сервером не удалось, метод возвращает -1.

Если объект уже имеет соединение, то перед вызовом Connect следует закрыть текущее соединение методом Disconnect. В противном случае Connect вернет -2.

Пример:

'Объявляем и создаем объект
Dim Zsc As ZsConnection
Set Zsc = New ZsConnection

'Устанавливаем соединение
 If Zsc.Connect("zs.zulugis.ru",  6473, "", "") = -1 Then

MsgBox "Не установить соединение"

Else

'Создаем на сервере папку
Zsc.CreateFolder "Test1", 0

'Закрываем соединение
Zsc.Disconnect

End If


CreateFolder method (ZsConnection)

Создает папку в области данных ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function CreateFolder(Path As String, Flag As Long) As Boolean

Path - путь создаваемой папки.

Flag - зарезервировано, должно быть 0.

Описание:

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

Папку можно создать только в уже существующей папке. Например, для создания папки Test1\Test2, сперва нужно убедится, что существует папка Test1, и в случае отсутствия ее создать, а затем создать папку Test1\Test2

Если папка успешно создана, метод возвращает True. В противном случае метод возвращает False.

Пример:

'Объявляем и создаем объект
Dim Zsc As ZsConnection
Set Zsc = Set ZsConnection

'Устанавливаем соединение
 If Zsc.Connect("zs.zulugis.ru",  6473, "", "") = -1 Then

MsgBox "Не установить соединение"

Else

'Создаем на сервере папку Test1\Test2
Zsc.CreateFolder "Test1", 0

Zsc.CreateFolder "Test1\Test2", 0

'Закрываем соединение
Zsc.Disconnect

End If


Disconnect method (ZsConnection)

Закрывает соединение с ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Sub Disconnect()

Описание:

Если соединение с сервером было ранее установлено методом Connect, оно будет закрыто. Метод следует вызывать, в частности, и перед повторным вызовом метода Connect.

При удалении объекта ZsConnection существующее соединение закрывается автоматически.

Пример:

'Объявляем и создаем объект
Dim Zsc As ZsConnection
Set Zsc = New ZsConnection

'Устанавливаем соединение
 If Zsc.Connect("zs.zulugis.ru",  6473, "", "") = -1 Then

MsgBox "Не установить соединение"

Else

'Создаем на сервере папку
Zsc.CreateFolder "Test1", 0

'Закрываем соединение
Zsc.Disconnect

End If


GetFolder method (ZsConnection)

Возвращает объект ZsFolder, содержащий информацию о папке, расположенной на ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function GetFolder(Path As String, Flag As Long) As ZsFolder

Path - путь папки на сервере.

Flag - зарезервировано, должно быть 0.

Описание:

Информацию о папке на сервере можно получить, если папка существует, при наличии соответствующих прав, и если с сервером установлено соединение.

Пример:

'Объявляем объект ZsFolder
Dim Zsf As ZsFolder

'Объявляем и создаем объект ZsConnection
Dim Zsc As ZsConnection
Set Zsc = New ZsConnection

'Устанавливаем соединение
 If Zsc.Connect("zs.zulugis.ru",  6473, "", "") = -1 Then

MsgBox "Не установить соединение"

Else

'Получаем информацию о папке
Set Zsf = Zsc.GetFolder "Test1\Test2", 0

'Выводим количество элементов в папке
MsgBox Zsf.GetItemCount

'Закрываем соединение
Zsc.Disconnect

End If


GetHost method (ZsConnection)

Возвращает строку с IP адресом или именем сервера, с которым объект установил соединение с ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function GetHost() As String


GetLogin method (ZsConnection)

Возвращает строку с логином, для которого установлено соединение с ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function GetLogin() As String


GetPassword method (ZsConnection)

Возвращает строку с паролем, с которым было установлено соединение с ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function GetPassword() As String


GetPort method (ZsConnection)

Возвращает номер порта, по которому установлено соединение с ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function GetPort() As Long


GetStatistics method (ZsConnection)

Зарезервирован.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function GetStatistics(YearFrom As Long, MonthFrom As Long, DayFrom As Long, HourFrom As Long, YearTo As Long, MonthTo As Long, DayTo As Long, HourTo As Long, Flags As Long) As String


GetStatus method (ZsConnection)

Возвращает информацию о наличии соединения с ZuluServer.

Применяется к:

ZsConnection

Синтаксис:

Visual Basic:

Function GetStatus() As Long

Описание:

Если соединение с сервером установлено, метод возвращает номер соединения (число болшее или равное нулю).

Если соединение с сервером отсутствует, метод возвращает -1.


ZsConnectionList object

Представляет набор соединений к серверам ZuluServer.

Входит в состав ZuluGIS 2021 Library.

Свойства:

Свойства

Count-

Host-

Login-

Name-

Password-

Port-


Count property (ZsConnectionList)

Применяется к:

ZsConnectionList

Синтаксис:

Visual Basic:

Property Count As Long

read-only


Host property (ZsConnectionList)

Применяется к:

ZsConnectionList

Синтаксис:

Visual Basic:

Property Host(Index As Long) As String


Login property (ZsConnectionList)

Применяется к:

ZsConnectionList

Синтаксис:

Visual Basic:

Property Login(Index As Long) As String


Name property (ZsConnectionList)

Применяется к:

ZsConnectionList

Синтаксис:

Visual Basic:

Property Name(Index As Long) As String


Password property (ZsConnectionList)

Применяется к:

ZsConnectionList

Синтаксис:

Visual Basic:

Property Password(Index As Long) As String


Port property (ZsConnectionList)

Применяется к:

ZsConnectionList

Синтаксис:

Visual Basic:

Property Port(Index As Long) As Long


ZsFolder object

Объект ZsFolder содержит информацию о папке на ZuluServer. Возвращается методом ZsConnection.GetFolder.

Входит в состав ZuluGIS 2021 Library.

Методы:

Методы

Exists

GetItemAttributes

GetItemCount

GetItemName

GetPath


Exists method (ZsFolder)

Проверяет существование папки на сервере ZuluServer.

Применяется к:

ZsFolder

Синтаксис:

Visual Basic:

Function Exists() As Boolean

Описание:

Метод ZsConnection.GetFolder всегда вернет объект ZsFolder. Метод Exists позволяет проверить возвращаемый объект.

Если запрошенная папка существует, метод вернет True. В противном случае метод вернет False.

Пример:

'Объявляем объект ZsFolder
Dim Zsf As ZsFolder

'Объявляем и создаем объект ZsConnection
Dim Zsc As ZsConnection
Set Zsc = New ZsConnection

'Устанавливаем соединение
 If Zsc.Connect("zs.zulugis.ru",  6473, "", "") = -1 Then

MsgBox "Не установить соединение"

Else

'Получаем информацию о папке
Set Zsf = Zsc.GetFolder ("Test1", 0)

'Проверяем существование запрошенной папки
If Zsf.Exists = False Then

MsgBox "Запрошенная папка не существует"

End If

'Закрываем соединение
Zsc.Disconnect

End If


GetItemAttributes method (ZsFolder)

Возвращает числоZsFolder object, содержащее информацию об атрибутах элемента папки, расположенного на ZuluServer.

Применяется к:

ZsFolder

Синтаксис:

Visual Basic:

Function GetItemAttributes(Index As Long) As Long

Index - номер элемента папки.

Описание:

Возвращаемое значение в зависимости от типа элемента:

0x0001

векторный слой

0x0002

карта

0x0003

проект

0x0200

виртуальная папка

0x0100

папка

0x0401

растровый слой

0x0801

слой рельефа

0x0C01

слой WMS

0x1001

тайловый слой

Пример:

'Объявляем объект ZsFolder
Dim Zsf As ZsFolder

'Объявляем и создаем объект ZsConnection
Dim Zsc As ZsConnection
Set Zsc = New ZsConnection

'Устанавливаем соединение
 If Zsc.Connect("zs.zulugis.ru",  6473, "", "") = -1 Then

MsgBox "Не установить соединение"

Else

'Получаем информацию о папке
Set Zsf = Zsc.GetFolder ("Test1", 0)

'Проверяем существование запрошенной папки
If Zsf.Exists = False Then

MsgBox "Запрошенная папка не существует"
Else

'Получаем информацию о первом элементе папки
If Zsf.GetItemCount > 0 Then

If Zsf.GetItemAttributes(0) = &H100 Then

MsgBox "Папка"

End If

End If

End If

'Закрываем соединение
Zsc.Disconnect

End If


GetItemCount method (ZsFolder)

Возвращает числоZsFolder object элементов в папке, расположенной на ZuluServer.

Применяется к:

ZsFolder

Синтаксис:

Visual Basic:

Function GetItemCount() As Long


GetItemName method (ZsFolder)

Возвращает имя ZsFolder object элемента папки, расположенной на ZuluServer.

Применяется к:

ZsFolder

Синтаксис:

Visual Basic:

Function GetItemName(Index As Long, NameType As eNameType) As String

Index - номер элемента папки.

NameType - тип имени из числа eNameType.

Описание:

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


GetPath method (ZsFolder)

Возвращает путь папки в области данных ZuluServer.

Применяется к:

ZsFolder

Синтаксис:

Visual Basic:

Function GetPath() As String


ZSqlContext object

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

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ZSqlContext

CLSID:

{1250747B-11DD-4DDC-AFDA-3007DB025F4D}

Методы:

Методы

AddSource

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.ZSqlContext
Set obj = New ZuluLib.ZSqlContext
//Delphi:
obj: IZSqlContext;
obj := CoZSqlContext.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.ZSqlContext")


AddSource property (ZSqlContext)

Добавляет источник данных в контекст SQL запроса.

Применяется к:

ZSqlContext

Синтаксис:

Visual Basic:

Sub AddSource(Source)

Описание:

Метод добавляет в контекст указанный источник данных. Им может быть объект MapDoc или Layer. Таким образом в запросе можно использовать короткие пользовательские имена слоев вместо полных путей к ним.

Примеры:

'Добавляем в контекст карту
Context.AddSource Map
'Выполняем выборку данных из слоя Здания, загруженного в карту Map
Set Rslt = Tools.ExecSQL("SELECT Sys, geometry.STAsText() FROM [Здания]", Context)

'Добавляем в контекст слой с названием Кварталы
Context.AddSource LayerQuart
'Выполняем выборку у слоя Здания тех объектов, которые попали в квартал с Sys=3
Set Rslt = LayerDoma.ExecSQL("SELECT D.Sys FROM [Здания] AS D _
           INNER JOIN [Кварталы] AS Q ON D.geometry.STWithin(Q.geometry) _
           WHERE Q.Sys=3", Context)


Zulu Object

Представляет объект приложения ZuluGIS. Это корневой объект иерархии объектной модели библиотеки ZuluGIS 2021 Application.

Доступ к этом объекту осуществляется либо из плагинов, либо из скриптов внутри оболочки ZuluGIS.

Описание:

В плагине к этому объекту можно получить доступ через свойство Zulu объекта IPluginConnector.

В скриптах, выполняемых внутри Zulu, доступ к объекту можно получить через псевдоним Application:

' Пример доступа к объекту Zulu
Set Doc = Application.NewDocument(1)
' или
Set Doc = Zulu.NewDocument(1)

Кроме того, псевдоним Application в скриптах является неявным, так что при обращении к свойствам и методам головного объекта его можно опустить, как на примере ниже:

' Пример неявного доступа к объекту Zulu
Set Doc = NewDocument(1)

Свойства и методы:

Свойства

Методы

События

ActiveDocument

ActiveMapDoc

ActiveProject

ActiveWindow

Application

ApplicationWindowHandle

BuildNumber

Documents

FullName

MainWindow

Name

Parent

Path

StatusText

Version

Visible

Windows

CloseOutputChannel

CloseProgressBar

CloseProject

CreateControlBar

GetActiveOutputChannel

MessageBox

LoadPlugin

LocatePlugin

NewDocument

NewProject

OpenBrowser

OpenBrowserForElement

OpenDocument

OpenOutputChannel

OpenProgressBar

OpenProject

OpenPropertyBarPage

QueryPlugins

Quit

RunCommand

SetProgressBar

SimpleMessageBox

OnZuluEvent


ActiveDocument property (Zulu)

Возвращает текущий активный документ. Свойство только для чтения.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property ActiveDocument As Document

read-only

Описание:

Свойство возвращает объект Document, соответствующий текущему активному документу, открытому в Zulu. Если такового нет, свойство возвращает NULL.

Эквивалентно свойству Active коллекции Documents.


ActiveMapDoc property (Zulu)

Возвращает текущую карту. Свойство только для чтения.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property ActiveMapDoc As MapDoc

read-only

Описание:

Свойство возвращает объект MapDoc, соответствующий активной карте, открытой в Zulu. Если активного документа нет или активный документ не является картой, свойство возвращает Nothing.


ActiveProject property (Zulu)

Возвращает текущий загруженный в Zulu проект.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property ActiveProject As Project

read-only


ActiveWindow property (Zulu)

Возвращает объект Window, представляющий текущее активное окно.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property ActiveWindow As Window


Application property (Zulu)

Возвращает объект, представляющий приложение Zulu. Свойство только для чтения.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Application As Object

read-only

Описание:

В качестве объекта-приложения метод возвращает объект Zulu.


ApplicationWindowHandle property (Zulu)

Возвращает дескриптор главного окна Zulu. Свойство только для чтения.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property ApplicationWindowHandle As Long

Описание:

Возвращает дескриптор (window handle) главного окна Zulu, представленный числом Long. Этот дескриптор имеет настоящий тип HWND в терминах Win32 API и может быть использован при вызове функций Win32 API, которые требуют параметров типа HWND.


BuildNumber property (Zulu)

Возвращает номер сборки приложения Zulu.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property BuildNumber As Long

Описание:

Допустим полная версия Zulu имеет вид «7.0.0.3570». Свойство BuildNumber в этом случае вернет число «3570». По значению этого свойства можно судить какая функциональность включена в данном релизе приложения.


CloseOutputChannel method (Zulu)

Закрывает дополнительную вкладку окна сообщений с указанным именем.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function CloseOutputChannel(Name As String) As Boolean

Name - название вкладки.

Описание:

Метод закрывает дополнительную вкладку в окне сообщений с указанным имененем, если к ней нет больше подключенных объектов IOutputChannel. В случае успеха, метод вернёт True.


CloseProgressBar method (Zulu)

Убирает общий индикатор процесса.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Sub CloseProgressBar()

Описание:

Методы OpenProgressBar, SetProgressBar и CloseProgressBar позволяют работать с общим индикатором процесса (англ. «progress bar» или «градусник»), находящимся в строке состояния главного окна приложения.


CloseProject method (Zulu)

Закрывает текущий проект Zulu.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Sub CloseProject()


CreateControlBar method (Zulu)

Создает новую пользовательскую панель, которая внедряется в общий пользовательский интерфейс Zulu.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function CreateControlBar(Caption As String, Style As Long) As IControlBar

Caption - название панели.

Style - комбинация (через логическое OR) одного или нескольких флагов, описывающих стиль панели.

Описание:

Метод создает новую панель, которая может быть плавающей, докироваться в главном окне приложения, и иметь вид и поведение такое, как у остальных панелей приложения, таких как «Рабочее место», «Сообщения» и другие. Панель

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

Поведение панели описывается параметром Style в виде комбинации флагов (логическое ИЛИ) из набора констант eControlBarStyle:

Константа

Описание

barVisible = 1

Панель является видимой.

barDockable = 2

Панель является «докируемой» и может крепиться к сторонам главного окна приложения Zulu.

barSizeable = 4

Пользователь может менять размеры панели.

barAllowDockable = 8

Пользователь может включать / выключать режим «докируемости» панель.

barAllowMDIChild = 16

Зарезервировано.

Стили barDockable и barAllowDockable определяют возможность панели «докироваться», т.е. прикрепляться к сторонам главного окна Zulu.

Если указан стиль barDockable, панель является докируемой. Стиль barAllowDockable при этом игнорируется, т.к. эта возможность подразумевается.

Если указан только стиль barAllowDockable, панель изначально не «докируемая», однако пользователь может включить этот режим через пользовательский интерфейс (контекстное меню панели).

Если оба стиля не указаны, панель может быть только плавающей.

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

Стиль barVisible определяет должна ли быть панель видимой. При создании панели можно не указывать этот стиль, чтобы создать панель изначально невидимой, встроить в нее дочернее окно, настроить габариты и потом отобразить ее, установив свойство IControlBar.Visible в True, тем самым избежав моргания на экране.


Documents property (Zulu)

Возвращает коллекцию Documents, представляющую список открытых документов в Zulu.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Documents As Documents

read-only

Описание:

Возвращает коллекцию открытых документов. Доступ к отдельному документу может осуществляться через свойство Item, либо как показано в примере на Visual Basic:

Zulu.Documents(1).Title = "Новое название документа"


evBrowserAfterCustomBrowse event (Zulu)

Возникает в процессе обработки нажатия кнопки «многоточие» или «ярлык» на странице «Текущая запись» браузера у поля, отмеченного специальными тегами custombrowseobject, custombrowsemethod и custombrowsemethod2.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evBrowserAfterCustomBrowse (из набора eZuluEvents).

Source - источник события - объект IZbBrowser.

Param1 - объект IZbStdBrowseParam, содержащий данные для обработки события.

Param2 - код нажатой кнопки (1 - «многоточие», 2 - «ярлык»).

Param3 - пусто.

Описание:

Событие возникает при обработке нажатия кнопки «многоточие» или «ярлык» после того, как выполнятся прочие обработчики этого нажатия.

В параметре Source передается ссылка на объект IZbBrowser - браузер базы данных.

В параметре Param1 передается объект IZbStdBrowseParam. Свойство nField содержит индекс поля (начиная с нуля), у которого нажата кнопка. Свойство Form возвращает объект IZbStdBrowseForm, с помощью которого можно управлять стандартной формой запроса, отображаемой на странице «Текущая запись» браузера.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evBrowserCustomBrowse event (Zulu)

Возникает при нажатии кнопки «многоточие» или «ярлык» на странице «Текущая запись» браузера у поля, отмеченного специальными тегами custombrowseobject, custombrowsemethod и custombrowsemethod2.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evBrowserCustomBrowse (из набора eZuluEvents).

Source - источник события - объект IZbBrowser.

Param1 - объект IZbStdBrowseParam, содержащий данные для обработки события.

Param2 - код нажатой кнопки (1 - «многоточие», 2 - «ярлык»).

Param3 - пусто.

Описание:

Событие служит для специальной обработки нажатия кнопки «многоточие» или «ярлык».

Для того, чтобы предотвратить стандартную обработку этой кнопки оболочкой или другими обработчиками событий, функция-обработчик события OnZuluEvent должна вернуть True, иначе False.

В параметре Source передается ссылка на объект IZbBrowser - браузер базы данных.

В параметре Param1 передается объект IZbStdBrowseParam. Свойство nField содержит индекс поля (начиная с нуля), у которого нажата кнопка. Свойство Form возвращает объект IZbStdBrowseForm, с помощью которого можно управлять стандартной формой запроса, отображаемой на странице «Текущая запись» браузера.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evBrowserRecordChanged event (Zulu)

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

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evBrowserRecordChanged (из набора eZuluEvents).

Source - источник события - объект IZbBrowser.

Param1 - код операции.

Param2 - объект IZbQueryInfo.

Param3 - массив VARIANT, содержащий имена ключевых полей и их значения.

Описание:

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

В параметре Source передается ссылка на объект IZbBrowser - браузер базы данных.

В параметре Param1 содержится код операции. 0 - изменение записи, 1 - добавление записи, 2 - удаление записи.

В параметре Param2 передается ссылка на объект IZbQueryInfo, соответствующему текущему запросу.

В параметре Param3 передается массив (safearray) элементов VARIANT, содержащий имена полей и их значения, которые идентифицирует запись. Массив содержит четное число элементов. В четных элементах (0, 2, и т.д.) хранятся имена полей базовой таблицы в виде строк. В нечетных элементах (1, 3 и т.д.) - соответствующие им значений.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evDocActivate event (Zulu)

Возникает когда окно данного документа становится активным.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evDocActivate (из набора eZuluEvents).

Source - источник события - объект Document.

Param1 - пусто.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает всякий раз, когда окно данного документа становится активным в системе Zulu. В параметре Source передается ссылка на объект Document.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evDocClose event (Zulu)

Возникает при закрытии документа.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evDocClose (из набора eZuluEvents).

Source - источник события - объект Document.

Param1 - пусто.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает непосредственно перед тем, как документ будет закрыт. В параметре Source передается ссылка на объект Document.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evDocDeactivate event (Zulu)

Возникает, когда окно документа становится неактивным (теряет фокус).

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evDocDeactivate (из набора eZuluEvents).

Source - источник события - объект Document.

Param1 - пусто.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает, когда окно данного документа становится неактивным, например из-за того, что стало активным окно другого документа. В параметре Source передается ссылка на объект Document.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evDocNew event (Zulu)

Возникает при создании нового документа.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evDocNew (из набора eZuluEvents).

Source - источник события - объект Document.

Param1 - пусто.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает при создании нового документа в системе Zulu. В параметре Source передается ссылка на объект Document, представляющий вновь созданный документ.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evDocOpen event (Zulu)

Возникает при открытии существующего документа.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evDocOpen (из набора eZuluEvents).

Source - источник события - объект Document.

Param1 - путь к файлу документа.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает сразу после открытия документа в системе Zulu. В параметре Source передается ссылка на объект Document. В параметре Param1 передается полный путь к файлу открываемого документа.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evLayerBaseChanged event (Zulu)

Возникает при изменении описателя базы данных, подключенной к слою.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evLayerBaseChanged (из набора eZuluEvents);
Source | - источник события - объект Layer;
Param1 | - идентификатор базы данных;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает после того, как описатель базы данных был изменен в редакторе баз данных .

В параметре Source передается ссылка на объект Layer - слой, чья база была изменена.

В параметре Param1 передается идентификатор базы данных (целое число), который может использоваться для получения информации о базе данных (см. Layer.Bases).

Событие может обрабатываться плагином через механизм OnZuluEvent.


evLayerLabelsChanged event (Zulu)

Возникает при изменении состояния бирок у конкретного слоя.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evLayerLabelsChanged (из набора eZuluEvents);
Source | - источник события - объект Layer;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

В параметре Source передается ссылка на объект Layer - слой, чьи бирки изменились.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evLayerStructChanged event (Zulu)

Возникает при изменении структуры слоя.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evLayerStructChanged (из набора eZuluEvents);
Source | - источник события - объект Layer;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

В параметре Source передается ссылка на объект Layer - слой, чья структура изменилась.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evLayerThemesChanged event (Zulu)

Возникает при изменении состояния той или иной темы у конкретного слоя.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evLayerThemesChanged (из набора eZuluEvents);
Source | - источник события - объект Layer;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает после того, как тема у данного слоя изменилась.

В параметре Source передается ссылка на объект Layer - слой, чья тема изменилась.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapAfterDraw event (Zulu)

Возникает при обновлении окна карты после окончания прорисовки всей картографической информации.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapAfterDraw (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - DrawHandle;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится дескриптор DrawHandle в виде числа Long, который можно использовать в дальнейшем для дополнительной отрисовки поверх карты.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapAfterLayerDraw event (Zulu)

Возникает при обновлении окна карты после прорисовки отдельного слоя.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapAfterLayerDraw (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - DrawHandle;
Param2 | - индекс слоя;
Param3 | - continue_flag;

Описание:

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

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится дескриптор DrawHandle в виде числа Long, который можно использовать в дальнейшем для дополнительной отрисовки.

В параметре Param2 передается номер слоя (начиная с 0), который был отрисован.

В параметре Param3 передается флаг продолжения continue_flag (в виде long *). Если отрисовку следует прервать, суда необходимо записать ненулевое значение.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapAfterLayerRemoved event (Zulu)

Возникает после того, как слой удален из карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapAfterLayerRemoved (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - имя_слоя.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает после того, как слой удален из карты.

В параметре Source передается ссылка на объект MapDoc - карту, из которой удален слой.

В параметре Param1 содержится строка - полный путь к файлу слоя.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapAfterPaint event (Zulu)

Возникает после обновления изображения в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapAfterPaint (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - hDC;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает после каждого обновления окна карты.

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится дескриптор hDC в виде числа Long, который можно использовать с функциями GDI для дополнительной отрисовки поверх карты.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapBeforeDraw event (Zulu)

Возникает непосредственно перед началом перерисовки в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapBeforeDraw (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - DrawHandle;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится дескриптор DrawHandle в виде числа Long, который можно использовать для дополнительной отрисовки подложки под картой.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapBeforeLayerAdd event (Zulu)

Возникает перед тем, как слой будет добавлен в карту.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapBeforeLayerAdd (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - имя_слоя.

Param2 - skip_flag.

Param3 - пусто.

Описание:

Событие возникает перед тем, как слой будет добавлен в карту.

В параметре Source передается ссылка на объект MapDoc - карту, в которую добавляется слой.

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

В параметре Param2 передается ссылка на флаг skip_flag (тип long*). В случае, если нужно предотвратить загрузку слоя, в эту переменую нужно записать ненулевое значение.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapBeforeLayerDraw event (Zulu)

Возникает непосредственно перед началом прорисовки конкретного слоя в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapBeforeLayerDraw (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - DrawHandle;
Param2 | - индекс слоя;
Param3 | - continue_flag;

Описание:

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

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится дескриптор DrawHandle в виде числа Long, который можно использовать в дальнейшем для дополнительной отрисовки.

В параметре Param2 передается номер слоя (начиная с 0), который должен быть отрисован.

В параметре Param3 передается флаг продолжения continue_flag (в виде long *). Если отрисовку следует прервать, суда необходимо записать ненулевое значение.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapBeforeScaleChange event (Zulu)

Возникает при попытке изменить масштаб отображения в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapBeforeScaleChange (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - новый масштаб;
Param2 | - continue_flag;
Param3 | - пусто;

Описание:

Событие возникает непосредственно перед тем, как масштаба отображения в окне карты должен быть изменен.

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 передается новый масштаб отображения (вещественное число).

В параметре Param2 передается флаг продолжения continue_flag (в виде long *). В случае, если изменение масштаба нужно предотвратить, сюда необходимо записать ненулевое значение.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapBookmarksChanged event (Zulu)

Возникает при каком-либо изменении в закладках карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapBookmarksChanged (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - пусто.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает всякий раз, когда происходит какое-либо изменение в закладках карты (добавление, удаление, изменение). В параметре Source передается ссылка на объект MapDoc - карту, в которой произошло измененение.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapCurIDChanged event (Zulu)

Возникает всякий раз, когда на карте сменяется мигающий объект.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapCurIDChanged (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - слой - объект Layer;
Param2 | - ключ элемента (long);
Param3 | - пусто;

Описание:

Событие возникает всякий раз, когда на карте сменяется мигающий объект. В параметре Source передается ссылка на объект MapDoc - карту, в которой произошло измененение.

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

Если никакой элемент не мигает, то в Param1 будет пусто, а в Param2 будет значение -1.

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

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapElementsChanged event (Zulu)

Возникает при изменении объекта(ов) пользователем в режиме редактирования.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapElementsChanged (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - коллекция элементов ChangedElementKeys.

Param2 - пусто.

Param3 - пусто.

Описание:

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

Событие при создании нового документа в системе Zulu. В параметре Source передается ссылка на объект MapDoc - карту, в которой произошли изменения. В параметре Param1 содержится объект ChangedElementKeys, описывающий изменяемые элементы.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapKeyChar event (Zulu)

Возникает при нажатии на клавишу клавиатуры, соответствующей букве или цифре.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapKeyChar(из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - код символа (long);
Param2 | - счетчик повторений (long);
Param3 | - набор флагов (long);

Описание:

Событие возникает при нажатии на клавишу клавиатуры, соответствующей букве или цифре, в окне карты.

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится код нажатого символа в виде числа Long. Соответствуем параметру WPARAM, полученного сообщения WM_CHAR.

В параметре Param2 передается счетчик повторений в виде числа Long. Соответствуем младшему слову параметра LPARAM, полученного сообщения WM_CHAR.

В параметре Param3 содержится набор флагов в виде числа Long. Соответствуем старшему слову параметра LPARAM, полученного сообщения WM_CHAR.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapKeyDown event (Zulu)

Возникает при нажатии на клавишу клавиатуры в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapKeyDown (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - код клавиши (long);
Param2 | - счетчик повторений (long);
Param3 | - набор флагов (long);

Описание:

Событие возникает при нажатии на клавишу клавиатуры в окне карты.

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится код нажатой клавиши в виде числа Long. Соответствуем параметру WPARAM, полученного сообщения WM_KEYDOWN.

В параметре Param2 передается счетчик повторений в виде числа Long. Соответствуем младшему слову параметра LPARAM, полученного сообщения WM_KEYDOWN.

В параметре Param3 содержится набор флагов в виде числа Long. Соответствуем старшему слову параметра LPARAM, полученного сообщения WM_KEYDOWN.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapKeyUp event (Zulu)

Возникает при отпускании клавиши клавиатуры в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapKeyUp (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - код клавиши (long);
Param2 | - счетчик повторений (long);
Param3 | - набор флагов (long);

Описание:

Событие возникает при отпускании клавиши клавиатуры в окне карты.

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

В параметре Param1 содержится код нажатой клавиши в виде числа Long. Соответствуем параметру WPARAM, полученного сообщения WM_KEYUP.

В параметре Param2 передается счетчик повторений в виде числа Long. Соответствуем младшему слову параметра LPARAM, полученного сообщения WM_KEYUP.

В параметре Param3 содержится набор флагов в виде числа Long. Соответствуем старшему слову параметра LPARAM, полученного сообщения WM_KEYUP.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLabelStateChanged event (Zulu)

Возникает при изменении состояния отображения бирок в карте.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapLabelStateChanged (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

В параметре Source передается ссылка на объект MapDoc - карту, источник события.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLayerActivate event (Zulu)

Возникает при изменении текущего активного слоя в карте.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLayerActivate (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - объект Layer либо пусто.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает при изменении текущего активного слоя в карте. В параметре Source передается ссылка на объект MapDoc - карту, из которой удален слой.

В параметре Param1 передается объект Layer, соответствующий активному слою, либо пусто, если такого слоя нет (например если из карты удаляется последний слой).

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLayerAdded event (Zulu)

Возникает при добавлении слоя в карту.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLayerAdded (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - объект Layer.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает сразу после того, как слой добавлен в карту. В параметре Source передается ссылка на объект MapDoc - карту, в которую добавлен слой.

В параметре Param1 передается объект Layer, соответствующий добавленному слою.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLayerCompositionChanged event (Zulu)

Возникает при изменении порядка слоев в карте.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLayerCompositionChanged (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - пусто.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает при изменении порядка слоев в карте. В параметре Source передается ссылка на объект MapDoc - карту, источник события.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLayerRemoved event (Zulu)

Возникает при удалении слоя из карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLayerRemoved (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - объект Layer.

Param2 - пусто.

Param3 - пусто.

Описание:

Событие возникает непосредственно перед тем, как слой будет удален из карту. В параметре Source передается ссылка на объект MapDoc - карту, из которую удаляется слой.

В параметре Param1 передается объект Layer, соответствующий удаляемому слою.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLayerVisibilityChanged event (Zulu)

Возникает при изменении отображения слоя в карту.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLayerVisibilityChanged (из набора eZuluEvents).

Source - источник события - объект MapDoc.

Param1 - объект Layer.

Param2 - пусто.

Param3 - пусто.

Описание:

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

В параметре Param1 передается объект Layer, чей режим видимости изменился.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLButtonDblClk event (Zulu)

Возникает при двойном щелчке левой кнопки мыши в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLButtonDblClk (из набора eZuluEvents).

Source - источник события - объект IMapView.

Param1 - флаги, указывающие на нажатие виртуальных клавиш.

Param2 - координаты мыши в виде числа long.

Param3 - пусто.

Описание:

Событие возникает при двойном щелчке левой кнопки мыши в окне карты. В параметре Source передается ссылка на объект IMapView - окно карты, принявшее событие от мыши.

В параметре Param1 передается набор флагов в виде числа long, указывающих на нажатие той или иной виртуальной клавиши. Значение Param1 соответствует параметру WPARAM сообщения WM_LBUTTONDBLCLK в Win32 API.

Флаг

Значение

1 (MK_LBUTTON)

Нажата левая кнопка мыши.

2 (MK_RBUTTON)

Нажата правая кнопка мыши.

4 (MK_SHIFT)

Нажата клавиша Shift.

8 (MK_CONTROL)

Нажата клавиша Ctrl.

16 (MK_MBUTTON)

Нажата средняя кнопка мыши.

32 (MK_XBUTTON1)

Нажата первая X-кнопка мыши.

64 (MK_XBUTTON2)

Нажата вторая X-кнопка мыши.

В параметре Param2 передаются координаты курсора мыши относительно левого верхнего угла рабочей области окна карты. Координаты упакованы в виде числа long - младшее слово содержит координату X, а старшее слово - координату Y. Значение Param2 соответствует параметру LPARAM сообщения WM_LBUTTONDBLCLK в Win32 API.

'Пример (C++):
xPos = LOWORD(Param2.lVal);
yPos = HIWORD(Param2.lVal);

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLButtonDown event (Zulu)

Возникает при нажатии левой кнопки мыши в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLButtonDown (из набора eZuluEvents).

Source - источник события - объект IMapView.

Param1 - флаги, указывающие на нажатие виртуальных клавиш.

Param2 - координаты мыши в виде числа long.

Param3 - пусто.

Описание:

Событие возникает при нажатии левой кнопки мыши в окне карты. В параметре Source передается ссылка на объект IMapView - окно карты, принявшее событие от мыши.

В параметре Param1 передается набор флагов в виде числа long, указывающих на нажатие той или иной виртуальной клавиши. Значение Param1 соответствует параметру WPARAM сообщения WM_LBUTTONDOWN в Win32 API.

Флаг

Значение

1 (MK_LBUTTON)

Нажата левая кнопка мыши.

2 (MK_RBUTTON)

Нажата правая кнопка мыши.

4 (MK_SHIFT)

Нажата клавиша Shift.

8 (MK_CONTROL)

Нажата клавиша Ctrl.

16 (MK_MBUTTON)

Нажата средняя кнопка мыши.

32 (MK_XBUTTON1)

Нажата первая X-кнопка мыши.

64 (MK_XBUTTON2)

Нажата вторая X-кнопка мыши.

В параметре Param2 передаются координаты курсора мыши относительно левого верхнего угла рабочей области окна карты. Координаты упакованы в виде числа long - младшее слово содержит координату X, а старшее слово - координату Y. Значение Param2 соответствует параметру LPARAM сообщения WM_LBUTTONDOWN в Win32 API.

'Пример (C++):
xPos = LOWORD(Param2.lVal);
yPos = HIWORD(Param2.lVal);

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapLButtonUp event (Zulu)

Возникает при отпускании левой кнопки мыши в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapLButtonUp (из набора eZuluEvents).

Source - источник события - объект IMapView.

Param1 - флаги, указывающие на нажатие виртуальных клавиш.

Param2 - координаты мыши в виде числа long.

Param3 - пусто.

Описание:

Событие возникает при отпускании левой кнопки мыши в окне карты. В параметре Source передается ссылка на объект IMapView - окно карты, принявшее событие от мыши.

В параметре Param1 передается набор флагов в виде числа long, указывающих на нажатие той или иной виртуальной клавиши. Значение Param1 соответствует параметру WPARAM сообщения WM_LBUTTONUP в Win32 API.

Флаг

Значение

1 (MK_LBUTTON)

Нажата левая кнопка мыши.

2 (MK_RBUTTON)

Нажата правая кнопка мыши.

4 (MK_SHIFT)

Нажата клавиша Shift.

8 (MK_CONTROL)

Нажата клавиша Ctrl.

16 (MK_MBUTTON)

Нажата средняя кнопка мыши.

32 (MK_XBUTTON1)

Нажата первая X-кнопка мыши.

64 (MK_XBUTTON2)

Нажата вторая X-кнопка мыши.

В параметре Param2 передаются координаты курсора мыши относительно левого верхнего угла рабочей области окна карты. Координаты упакованы в виде числа long - младшее слово содержит координату X, а старшее слово - координату Y. Значение Param2 соответствует параметру LPARAM сообщения WM_LBUTTONUP в Win32 API.

'Пример (C++):
xPos = LOWORD(Param2.lVal);
yPos = HIWORD(Param2.lVal);

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapModeChanged event (Zulu)

Возникает при изменении текущего режима в карте.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapModeChanged (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает при изменении текущего пользовательского режима, такого как выделение объектов, изменение масштаба («лупа»), режима редактирования и другие.

В параметре Source передается ссылка на объект MapDoc - карту, источник события. Узнать какой установлен пользовательский режим можно через свойства Mode или EditMode переданного объекта карты.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapModeVisibililityChanged event (Zulu)

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

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapModeVisibilityChanged (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - слой Layer, чье отображение меняется;
Param2 | - Type As Long;
Param3 | - Mode As Long;

Описание:

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

В параметре Source передается ссылка на объект MapDoc - карту, источник события.

В параметре Param1 передается ссылка на объект Layer - слой, чье отображение меняется.

В параметре Param2 передается идентификатор типа объектов (см. ObjectType.Id), а в Param3 - номер режима (см. ObjectMode.Id), чье отображение меняется. Если меняется отображение типа целиком, то в параметре Param3 передается -1.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapMouseMove event (Zulu)

Возникает при перемещении мыши в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapMouseMove (из набора eZuluEvents).

Source - источник события - объект IMapView.

Param1 - флаги, указывающие на нажатие виртуальных клавиш.

Param2 - координаты мыши в виде числа long.

Param3 - пусто.

Описание:

Событие возникает при перемещении мыши в окне карты. В параметре Source передается ссылка на объект IMapView - окно карты, принявшее событие от мыши.

В параметре Param1 передается набор флагов в виде числа long, указывающих на нажатие той или иной виртуальной клавиши. Значение Param1 соответствует параметру WPARAM сообщения WM_MOUSEMOVE в Win32 API.

Флаг

Значение

1 (MK_LBUTTON)

Нажата левая кнопка мыши.

2 (MK_RBUTTON)

Нажата правая кнопка мыши.

4 (MK_SHIFT)

Нажата клавиша Shift.

8 (MK_CONTROL)

Нажата клавиша Ctrl.

16 (MK_MBUTTON)

Нажата средняя кнопка мыши.

32 (MK_XBUTTON1)

Нажата первая X-кнопка мыши.

64 (MK_XBUTTON2)

Нажата вторая X-кнопка мыши.

В параметре Param2 передаются координаты курсора мыши относительно левого верхнего угла рабочей области окна карты. Координаты упакованы в виде числа long - младшее слово содержит координату X, а старшее слово - координату Y. Значение Param2 соответствует параметру LPARAM сообщения WM_MOUSEMOVE в Win32 API.

'Пример (C++):
xPos = LOWORD(Param2.lVal);
yPos = HIWORD(Param2.lVal);

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapNetworkRecalc event (Zulu)

Возникает при изменении состояния логической сети данного слоя.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapNetworkRecalc (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - индекс слоя, чье состояние обновилось;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

В параметре Source передается ссылка на объект MapDoc - карту, источник события.

В параметре Param1 передается номер (начиная с 0) загруженного в карту слоя, чье состояние изменилось.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapObjectSelect event (Zulu)

Возникает при выделении текущего элемента на карте.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapObjectSelect (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - объект слоя Layer;
Param2 | - ID выделенного элемента;
Param3 | - пусто;

Описание:

Событие возникает когда пользователь выделяет объект на карте.

В параметре Source передается ссылка на объект MapDoc - карту, источник события.

В параметре Param1 передается слой, чей объект выделяется.

В параметре Param2 передается ID выделяемого объекта.

Если текущий выделенный объект сбрасывается, в Param2 передается -1. В этом случае Param1 должен быть игнорирован.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapPathChanged event (Zulu)

Возникает при изменении пути к файлу карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapPathChanged (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapRButtonDown event (Zulu)

Возникает при нажатии правой кнопки мыши в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapRButtonDown (из набора eZuluEvents).

Source - источник события - объект IMapView.

Param1 - флаги, указывающие на нажатие виртуальных клавиш.

Param2 - координаты мыши в виде числа long.

Param3 - пусто.

Описание:

Событие возникает при нажатии правой кнопки мыши в окне карты. В параметре Source передается ссылка на объект IMapView - окно карты, принявшее событие от мыши.

В параметре Param1 передается набор флагов в виде числа long, указывающих на нажатие той или иной виртуальной клавиши. Значение Param1 соответствует параметру WPARAM сообщения WM_RBUTTONDOWN в Win32 API.

Флаг

Значение

1 (MK_LBUTTON)

Нажата левая кнопка мыши.

2 (MK_RBUTTON)

Нажата правая кнопка мыши.

4 (MK_SHIFT)

Нажата клавиша Shift.

8 (MK_CONTROL)

Нажата клавиша Ctrl.

16 (MK_MBUTTON)

Нажата средняя кнопка мыши.

32 (MK_XBUTTON1)

Нажата первая X-кнопка мыши.

64 (MK_XBUTTON2)

Нажата вторая X-кнопка мыши.

В параметре Param2 передаются координаты курсора мыши относительно левого верхнего угла рабочей области окна карты. Координаты упакованы в виде числа long - младшее слово содержит координату X, а старшее слово - координату Y. Значение Param2 соответствует параметру LPARAM сообщения WM_RBUTTONDOWN в Win32 API.

'Пример (C++):
xPos = LOWORD(Param2.lVal);
yPos = HIWORD(Param2.lVal);

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapRButtonUp event (Zulu)

Возникает при отпускании правой кнопки мыши в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

EventID - код события - evMapRButtonUp (из набора eZuluEvents).

Source - источник события - объект IMapView.

Param1 - флаги, указывающие на нажатие виртуальных клавиш.

Param2 - координаты мыши в виде числа long.

Param3 - пусто.

Описание:

Событие возникает при отпускании правой кнопки мыши в окне карты. В параметре Source передается ссылка на объект IMapView - окно карты, принявшее событие от мыши.

В параметре Param1 передается набор флагов в виде числа long, указывающих на нажатие той или иной виртуальной клавиши. Значение Param1 соответствует параметру WPARAM сообщения WM_RBUTTONUP в Win32 API.

Флаг

Значение

1 (MK_LBUTTON)

Нажата левая кнопка мыши.

2 (MK_RBUTTON)

Нажата правая кнопка мыши.

4 (MK_SHIFT)

Нажата клавиша Shift.

8 (MK_CONTROL)

Нажата клавиша Ctrl.

16 (MK_MBUTTON)

Нажата средняя кнопка мыши.

32 (MK_XBUTTON1)

Нажата первая X-кнопка мыши.

64 (MK_XBUTTON2)

Нажата вторая X-кнопка мыши.

В параметре Param2 передаются координаты курсора мыши относительно левого верхнего угла рабочей области окна карты. Координаты упакованы в виде числа long - младшее слово содержит координату X, а старшее слово - координату Y. Значение Param2 соответствует параметру LPARAM сообщения WM_RBUTTONUP в Win32 API.

'Пример (C++):
xPos = LOWORD(Param2.lVal);
yPos = HIWORD(Param2.lVal);

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapScaleChanged event (Zulu)

Возникает при изменении масштаба отображения в окне карты.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapScaleChanged (из набора eZuluEvents);
Source | - источник события - объект IMapView;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает после того, как масштаба отображения в окне карты измененился.

В параметре Source передается ссылка на объект IMapView, представляющий окно карты.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapSelChanged event (Zulu)

Возникает при изменении состава выделенных элементов (группы).

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapSelChanged (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - индекс слоя, чья группа меняется;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает при изменении состава группы выделенных элементов слоя.

В параметре Source передается ссылка на объект MapDoc - карту, источник события.

В параметре Param1 передается номер (начиная с 0) загруженного в карту слоя, которому принадлежит изменившаяся группа.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evMapThemeStateChanged event (Zulu)

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

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evMapThemeStateChanged (из набора eZuluEvents);
Source | - источник события - объект MapDoc;
Param1 | - пусто;
Param2 | - пусто;
Param3 | - пусто;

Описание:

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

В параметре Source передается ссылка на объект MapDoc - карту, источник события.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evProjectClose event (Zulu)

Возникает при закрытии проекта.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evProjectClose (из набора eZuluEvents);
Source | - источник события - объект Project;
Param1 | - путь к файлу проекта;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает при закрытии проекта.

В параметре Source передается ссылка на объект Project, представляющий проект.

В параметре Param1 содержится путь к файлу закрываемого проекта.

Событие может обрабатываться плагином через механизм OnZuluEvent.


evProjectOpen event (Zulu)

Возникает при открытии проекта.

Синтаксис:

Visual Basic:

Function OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3) As Boolean

nEventID | - код события - evProjectOpen (из набора eZuluEvents);
Source | - источник события - объект Project;
Param1 | - путь к файлу проекта;
Param2 | - пусто;
Param3 | - пусто;

Описание:

Событие возникает при открытии проекта.

В параметре Source передается ссылка на объект Project, представляющий проект.

В параметре Param1 содержится путь к файлу открываемого проекта.

Событие может обрабатываться плагином через механизм OnZuluEvent.


FullName property (Zulu)

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

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property FullName As String

Описание:

Возвращает полный путь к исполняемому модулю Zulu, например:

«C:\Program Files\Zulu 7.0\Zulu.exe»


GetActiveOutputChannel method (Zulu)

Возвращает объект IOutputChannel, представляющий текущую активную вкладку окна сообщений.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function GetActiveOutputChannel() As IOutputChannel

Описание:

В отличии от метода OpenOutputChannel, который получает доступ к вкладке с определённым именем, метод GetActiveOutputChannel возвращает объект IOutputChannel для доступа к текущей активной вкладке окна сообщений вне зависимости от её имени.


LoadPlugin method (Zulu)

Зарезервирован для будущего использования. Метод загружает модуль расширения по заданному имени и возвращает объект IPluginConnector для связи с ним.

А навстоящий момент модули расширения не требуют загрузки явно. Для выполнения команд этих модулей служит метод RunCommand.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function LoadPlugin(Name As String) As IPluginConnector

Name - имя зарегистрированного модуля расширения.


LocatePlugin method (Zulu)

Зарезервирован для будущего использования.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function LocatePlugin(Name As String) As IPluginConnector

Name - имя модуля расширения.

Описание:

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


MainWindow property (Zulu)

Возвращает объект Window, представляющий главное окно приложения Zulu.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property MainWindow As Window


MessageBox method (Zulu)

Выводит на экран окно сообщения заданного вида.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function MessageBox(sText, sTitle, mbFlags as Long) as Long

sText - переменная Variant, значение которой выводится в окно сообщения.

sTitle - переменная Variant с заголовком сообщения.

mbFlags - битовые флаги окна сообщения.

Флаг

Описание

0

OK

1

OK/Cancel

2

Abort/Retry/Ignore

3

Yes/No/Cancel

4

Yes/No

5

Retry/Cancel

6

Cancel/Try/Continue

16

Icon Stop

32

Icon Question

48

Icon Exclamation

64

Icon Information

Возвращаемое значение:

1

OK

2

Cancel

3

Abort

4

 Retry

5

Ignore

6

Yes

7

No

8

 Close

9

 Help

10

Try again

11

Continue


Name property (Zulu)

Возвращает имя приложения («Zulu»).

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Name As String


NewDocument method (Zulu)

Возвращает объект Document, представляющий новый пустой документ.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function NewDocument([DocumentType]) As Document

DocumentType - тип документа.

Описание:

Метод создает новый пустой документ и возвращает объект Document.

Необязательный параметр DocumentType задает тип создаваемого документа. В настоящий момент поддерживается только документ-карта, поэтому если DocumentType указывается, то д.б. eMapDoc.


NewProject method (Zulu)

Создает новый проект и делает его текущим.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function NewProject(Path As String, UserName As String) As Project

Path - полное имя файла проекта c расширением .zpr.

UserName - пользовательское название проекта.


OnDocActivate event (Zulu)

Возникает когда документ становится активным и его окно получает фокус ввода.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Event OnDocActivate(Activated As Document, Deactivated As Document )

Activated - документ, получающий фокус ввода (становится активным).

Deactivated - документ, теряющий фокус ввода (если таковой был).


OnDocClose event (Zulu)

Возникает при закрытии документа.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Event OnDocClose(Document As Document)

Document - документ, который закрывается.


OnZuluEvent event (Zulu)

Возникает при всяком событии в системе Zulu. Список возможных событий перечислен в наборе констант eZuluEvents.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Event OnZuluEvent(EvendID As Long, Source As Unknown, Param1, Param2, Param3)

EventID - код события из набора eZuluEvents.

Source - объект-источник события.

Param1 - дополнительный параметр 1.

Param2 - дополнительный параметр 2.

Param3 - дополнительный параметр 3.

Описание:

В параметре Source содержится код события. Список возможных кодов событий перечислен в наборе констант eZuluEvents.

Параметр Source содержит ссылку на объект-источник события. Это может быть объект Zulu, документ Document, окно карты IMapView или какой-либо другой объект, в зависимости от события.

Параметрах Param1, Param2 и Param3 имеют тип VARIANT и в них передается дополнительная информация о конкретном событии.


OpenBrowser method (Zulu)

Открывает браузер для указанной базы данных.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function OpenBrowser(DatabaseName As String) As Unknown

DatabaseName - полное имя файла описателя базы данных.

Описание:

Метод открывает браузер для указанной базы данных и возвращает объект IZbBrowser для связи с ним. Если такая база уже открыта, то возвращается объект уже имеющегося браузера.


OpenBrowserForElement method (Zulu)

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

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function OpenBrowserForElement(Layer As Layer, Key As Long) As Unknown

Layer - слой.

Key - ключ (ID) элемента.

Описание:

Метод открывает браузер семантической информации для указанного элемента слоя и возвращает объект IZbBrowser для управления браузером.


OpenDocument method (Zulu)

Открывает документ по указанному имени файла.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function OpenDocument(PathName As String) As Document

PathName - полное имя файла документа.

Описание:

Метод открывает документ с именем PathName и возвращает объект Document. Если такой документ уже открыт, то возвращается объект уже имеющегося документа.


OpenOutputChannel method (Zulu)

Возвращает объект IOutputChannel, представляющий закладку окна сообщений с указанным именем.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function OpenOutputChannel(Name As String) As IOutputChannel

Name - название вкладки.

Описание:

Метод открывает либо имеющуюся, либо новую закладку окна сообщений с указанным именем Name и возвращает объект IOutputChannel для доступа к этой закладке. Если имя пусто, открывается общая закладка («Сообщения»).

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


OpenProgressBar method (Zulu)

Включает общий индикатор процесса.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Sub OpenProgressBar(Limit As Long)

Limit - максимальное значение индикатора процесса.

Описание:

Методы OpenProgressBar, SetProgressBar и CloseProgressBar позволяют работать с общим индикатором процесса (англ. «progress bar» или «градусник»), находящимся в строке состояния главного окна приложения.

Параметр Limit задает верхнее значение, соответствующее 100% положению индикатора. Последующие вызовы SetProgressBar будут устанавливать положение индикатора пропорционально значению Limit.


OpenProject method (Zulu)

Загружает в Zulu проект и делает его текущим. Возвращает объект Project, соответствующий этому проекту.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function OpenProject(PathName As String) As Project

PathName - полное имя файла проекта.


OpenPropertyBarPage method (Zulu)

Открывает страницу в панели «Свойства» и возвращает объект IPropertyBarPage.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function OpenPropertyBarPage(Name As String) As IPropertyBarPage

Name - имя страницы свойств.

Описание:

Метод открывает страницу свойств с указанным именем в панели «Свойства» и возвращает объект IPropertyBarPage.


Parent property (Zulu)

Возвращает объект Object, являющийся родительским в иерархии объектов.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Parent As Object

read-only

Описание:

Метод формально возвращает объект Zulu.


Path property (Zulu)

Возвращает путь к приложению Zulu.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Path As String

read-only

Описание:

Возвращает путь к папке, где расположено приложение Zulu, например:

«C:\Program Files\Zulu 7.0».


QueryPlugins method (Zulu)

Зарезервирован для будущего использования.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function QueryPlugins(QueryID As Long, Param1, Param2, Param3, bDefResult As Boolean) As Boolean


Quit method (Zulu)

Завершает работу приложения. При необходимости сохраняет изменения в открытых документах.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Sub Quit(SaveOption As eSaveOption )

SaveOption - определяет, сохранять ли изменения в открытых документах.

Описание:

Метод вызывает завершение работы приложения. Параметр SaveOption определяет, сохранять ли изменения в открытых документах. Возможные значения перечислены в наборе eSaveOption.


RunCommand method (Zulu)

Вызывает команду приложения Zulu.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Function RunCommand(Command As String) As Boolean

Command - имя команды.

Описание:

Метод вызывает выполнение команды приложения Zulu с именем Command. Это может быть встроенная команда (см. Список команд системы), либо команда модуля расширения (например «MyPlugin.Command1»).

Пример:

'Включает режим предварительного просмотра
'для текущего документа
Zulu.RunCommand("FilePrintPreview")

'Открывает панель расчетов ZuluThermo
'(Расчеты ZuluThermo - модуль расширения Zulu)
Zulu.RunCommand("Naladka.OpenForm")


SetProgressBar method (Zulu)

Устанавливает положение общего индикатора процесса.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Sub SetProgressBar(Value As Long)

Value - значение индикатора процесса.

Описание:

Методы OpenProgressBar, SetProgressBar и CloseProgressBar позволяют работать с общим индикатором процесса (англ. «progress bar» или «градусник»), находящимся в строке состояния главного окна приложения.

Положение индикатора процесса будет установлено в процентном отношении параметра Value к верхней границе индикатора, установленной методом OpenProgressBar.


SimpleMessageBox method (Zulu)

Выводит на экран окно сообщения.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Sub SimpleMessageBox(sText)

sText - переменная Variant, значение которой выводится в окно сообщения.

Описание:

Метод выводит простое окно сообщения без заголовка с одной кнопкой OK. Сообщение с расширенными возможностями можно выводить методом MessageBox.


StatusText property (Zulu)

Задает текст подсказки в строке состояния.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property StatusText As String

Описание:

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


Version property (Zulu)

Возвращает версию приложения Zulu в виде строки (например «7.0.0.3750»).

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Version As String


Visible property (Zulu)

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

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Visible As Boolean

Описание:

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


Windows property (Zulu)

Возвращает объект IWindows, представляющий коллекцию окон приложения.

Применяется к:

Zulu

Синтаксис:

Visual Basic:

Property Windows As IWindows


Набор диалогов ZuluCommDlg

Элемент ActiveX ZuluCommDlg, представляет набор диалогов для вызова окна выбора или сохранения файла с установкой маски файла.

Входит в состав ZuluXTools 2021

Свойства и методы:

Свойства

Методы

DialogTitle

FileDisplayName

FileName

Index

InitDir

Name

Object

Parent

GetFileCount

GetFileName

GetFolder

ShowOpen

ShowSave


DialogTitle property (ZuluCommDlg)

Устанавливает\возвращает строку с именем заголовка для диалогов GetFolder, ShowOpen, ShowSave.

Применяется к:

ZuluCommDlg

Синтаксис:

Visual Basic:

DialogTitle As String


FileName property (ZuluCommDlg)

Возвращает строку с именем файла или папки, полученного в диалогах GetFolder, ShowOpen, ShowSave.

Применяется к:

ZuluCommDlg

Синтаксис:

Visual Basic:

FileName As String


GetFileCount method (ZuluCommDlg)

Возвращает количество файлов, выбранных методом ShowOpen.

Применяется к:

ZuluCommDlg

Синтаксис:

Visual Basic:

Function GetFileCount() As Long

Описание:

Если метод возвращает 1, то выбранное имя файла можно получить через свойство FileName или метод GetFileName(0).


GetFileName method (ZuluCommDlg)

Возвращает имя фала из списка файлов, выбранных методом ShowOpen.

Применяется к:

ZuluCommDlg

Синтаксис:

Visual Basic:

Function GetFileName(nIndex As Long) As String

nIndex - индекс выбранного файла (нумерация с нуля)

Описание:

Метод незаменим при множественном выборе файлов. В случае одиночного выбора GetFileName(0) вернет то же значение, что и свойство FileName. Если заданный индекс выходит за границы списка выбранных файлов, метод вернет пустую строку.


GetFolder method (ZuluCommDlg)

Открывает диалог выбора папки.

Применяется к:

ZuluCommDlg

Синтаксис:

Visual Basic:

Function GetFolder(dwFlags As Long) As Boolean

dwFlags

 назначение флага

0x80000000

запретить просмотр серверов геоданных

Описание:

Метод возвращает True, если выбор произошел, в противном случае метод вернет False. Выбранное имя папки можно получить через свойство FileName.

Пример:

'Заголовок диалога
 ZuluCommDlg1.DialogTitle = "Пример выбора папки"
'Выбор папки
 If ZuluCommDlg1.GetFolder(0) = True Then
'Выбранная папка
    MsgBox ZuluCommDlg1.FileName
End If


ShowOpen method (ZuluCommDlg)

Открывает окно выбора файла с заданным фильтром.

Применяется к:

ZuluCommDlg

Синтаксис:

Visual Basic:

Function ShowOpen(dwFilters As Long) As Boolean

dwFilters

маска открываемого файла

1

карты (*.zmp)
2 | слои (*.b00, *.zrs, *.zrg)
3 | карты (*.zmp) и слои (*.b00, *.zrs, *.zrg)
4 | базы данных (*.zb)
5 | карты (*.zmp) и базы данных (*.zb)
7 | карты (*.zmp) слои (*.b00, *.zrs, *.zrg) и базы данных (*.zb)
8 | шаблоны надписей (*.zlb)
9 | карты (*.zmp) и шаблоны надписей (*.zlb)
10 | слои (*.b00, *.zrs, *.zrg) и шаблоны надписей (*.zlb)
16 | шаблоны тематических фильтров (*.ztt)
32 | тематические файлы (*.ztm)

64

проекты (*.zpr)

128

все файлы (*.*)

256

"слои WMS, Tile и SRTM3" (*.zww)

512

"любые слои" ( *.b00, *.zrs, *.zrg, *.zl, *.zww, *.ztr, *.gpx, *.plt)

1024

"файлы изображений" ( *.bmp, *.jpg, *.jpeg, *.tif, *.tiff, *.gif, *.png, *.pcx)

0x40000000

разрешить множественный выбор файлов

0x80000000

запретить просмотр серверов геоданных

Описание:

Метод возвращает True, если выбор произошел, в противном случае метод вернет False. Выбранное имя файла можно получить через свойство FileName.

Пример:

'Открыть стандартное окно выбора файла карты
 If ZuluCommDlg1.ShowOpen(1) = True Then
    'Установить полный путь к выбранному файлу карты для компонента  MapCtrl
    MapCtrl1.MapPath = ZuluCommDlg1.FileName
End If


ShowSave method (ZuluCommDlg)

Открывает окно сохранения файла с заданным фильтром.

Применяется к:

ZuluCommDlg

Синтаксис:

Visual Basic:

Function ShowSave(dwFilters As Long) As Boolean

dwFilters

маска открываемого файла

1

карты (*.zmp)
2 | слои (*.b00, *.zrs, *.zrg)
3 | карты (*.zmp) и слои (*.b00, *.zrs, *.zrg)
4 | базы данных (*.zb)
5 | карты (*.zmp) и базы данных (*.zb)
7 | карты (*.zmp) слои (*.b00, *.zrs, *.zrg) и базы данных (*.zb)
8 | шаблоны надписей (*.zlb)
9 | карты (*.zmp) и шаблоны надписей (*.zlb)
10 | слои (*.b00, *.zrs, *.zrg) и шаблоны надписей (*.zlb)
16 | шаблоны тематических фильтров (*.ztt)
32 | тематические файлы (*.ztm)

64

проекты (*.zpr)

128

все файлы (*.*)

256

"слои WMS, Tile и SRTM3" (*.zww)

512

"любые слои" ( *.b00, *.zrs, *.zrg, *.zl, *.zww, *.ztr, *.gpx, *.plt)

1024

"файлы изображений" ( *.bmp, *.jpg, *.jpeg, *.tif, *.tiff, *.gif, *.png, *.pcx)

0x80000000

запретить просмотр серверов геоданных

Описание:

Метод возвращает True, если файл выбран, в противном случае метод вернет False. Выбранное имя файла можно получить через свойство FileName.

Пример:

'Открыть стандартное окно сохранения файла карты
 If ZuluCommDlg1.ShowSave(1) = True Then

    'Сохраняем карту
    MapCtrl1.Map.SaveAs ZuluCommDlg1.FileName

End If


ZuluTools object

Представляет набор методов для доступа к различным функциям системы.

Входит в состав ZuluGIS 2021 Library.

Регистрационная информация:

PROGID:

ZuluLib.ZuluTools

CLSID:

{1250709A-0B01-11D2-B55D-444553540000}

Свойства и методы:

Свойства

Методы

ElemStyle

Filename

AddRasterToGroup

CreateVoronoi

DoEditElemStyle

DoEditFillStyle

DoEditLineStyle

EnumElements

EnumFiles

ExecSQL

ExportToDxf

ExportToGeoJSON

ExportToKML

ExportToMIF

ExportToShape

ExportToShapeEx

GenerateTiles

GetDatums

GetEllipsoids

GetExifInfo

GetFileCount

GetFileName

GetFolder

GetLayerAccessInfo

GetLayerUserName

GetMRUDir

GetProjections

ImportFromDxf

ImportFromKml

ImportFromMIF

ImportFromMIF_Ex

ImportFromShape

ImportFromShapeEx

LayerCopy

LayerCopyEx

LayerCreate

LayerCreateByExample

LayerCreateInMemory

LayerDelete

LayerEditStructure

LayerEmpty

LayerOptimize

LayerPack

LayerRename

LayerTransform

LayerTransformByPoints

LayerUnpack

MapPack

MapUnpack

MBTilesCreate

RasterGroupCreate

SaveGeoTagsToRasterLayer

SaveRasterLayerToOziMap

SaveRasterLayerToTab

SaveEsriWorldFileToRasterLayer

SaveTabToRasterLayer

SetAppTheme

SetDataSource

SetMRUDir

ShowOpen

ShowSave

SqlitedbCreate

ThemeFilterEdit

TileLayerCreate

Пример создания:

'Visual Basic:
Dim obj As ZuluLib.ZuluTools
Set obj = New ZuluLib.ZuluTools
//Delphi:
obj: IZuluTools;
obj := CoZuluTools.Create;
'VBScript:
Set obj = CreateObject("ZuluLib.ZuluTools")


AddRasterToGroup method (ZuluTools)

Добавляет растровый объект в существующую растровую группу.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

AddRasterToGroup(ZrgName As String, ZrsName As String, Options As long) As Long

ZrgName - полный путь или URL создаваемой группы

ZrsName - полный путь или URL добавляемого растрового объекта

Options - флаги:

1 - проверять добавляемый растровый объект на существование

Описание:

Метод возвращает 0, если операция прошла успешно, в противном случае метод возвращает -1.


CreateVoronoi method (ZuluTools)

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

Применяется к:

ZuluTools

Синтаксис:

Function CreateVoronoi(inPoints, inColors, Path As String, UserName As String, Proj, nFlags As Long) As Boolean

inPoints - массив исходных точек

inColors - цвета ячейки для каждой точки

Path - имя слоя для записи

UserName - пользовательское название слоя для записи

Proj - объект, содержащий проекцию слоя для записи

nFlags - флаги


DoEditElemStyle method (ZuluTools)

Вызывает диалог выбора стиля линии или стиля заливки.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function DoEditElemStyle(hWnd As Long, mask As Long, Title As String) As Boolean

hWnd - дескриптор родительского окна.

mask - тип редактора:

0 - выбор стиля линий,

1 - выбор стиля заливки.

Title - заголовок диалога.

Описание:

Диалог инициализируется параметрами стиля, содержащимися в объекте ZuluTools.ElemStyle. Если стиль в диалоге выбран, метод вернет True и результаты выбора стиля так же будут записаны в объект ZuluTools.ElemStyle.


DoEditFillStyle method (ZuluTools)

Вызывает диалог выбора стиля заливки.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function DoEditFillStyle(hWnd As Long, mask As Long, Title As String) As Boolean

hWnd - дескриптор окна.

mask - зарезервирован, должен быть нулем.

Title - заголовок диалога.

Описание:

Диалог инициализируется параметрами стиля заливки, содержащимися в объекте ZuluTools.ElemStyle. Если стиль в диалоге выбран, метод вернет True и результаты выбора стиля заливки так же будут записаны в объект ZuluTools.ElemStyle.


DoEditLineStyle method (ZuluTools)

Вызывает диалог выбора стиля линии.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function DoEditLineStyle(hWnd As Long, mask As Long, Title As String) As Boolean

hWnd - дескриптор родительского окна.

mask - зарезервирован, должен быть нулем.

Title - заголовок диалога.

Описание:

Диалог инициализируется параметрами стиля линии, содержащимися в объекте ZuluTools.ElemStyle. Если стиль в диалоге выбран, метод вернет True и результаты выбора стиля линии так же будут записаны в объект ZuluTools.ElemStyle.


ElemStyle property (ZuluTools)

Возвращает\устанавливает объект ElemStyle.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Property ElemStyle As ElemStyle


EnumElements method (ZuluTools)

Возвращает итератор для доступа к объектам указанного слоя.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function EnumElements(LayerPath As String) As IZEnumElements

LayerPath - имя слоя (путь или URL).

Описание:

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

Пример:

'Просуммировать площади всех объектов слоя
Dim Tools As ZuluTools
Dim Els As IZEnumElements
Dim S As Double

S = 0

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем итератор для слоя "d:\test\voronoi.b00"
Set Els = Tools.EnumElements("d:\test\voronoi.b00")

Els.MoveFirst

'Идем по всем объектам слоя
Do

'Если дошли до конца, завершаем цикл
If Els.IsEOF = True Then Exit Do

'Суммируем площадь
S = S + Els.Area

Els.MoveNext

Loop

MsgBox "Площадь = " + Str(S)


EnumFiles method (ZuluTools)

Возвращает интерфейс IZEnumFiles.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function EnumFiles(FileMask As String, Flags As Long) As IZEnumFiles

FileMask - маска для поиска файлов, включающая полный путь до папки.

Flags - параметр зарезервирован, должен быть нулем.

Описание:

Метод возвращает итератор для просмотра списка файлов, соответствующих маске и папке, заданных в параметре FileMask.


ExecSQL method (ZuluTools)

Выполняет произвольный SQL запрос к данным Zulu.

Применяется к:

ZuluTools

Синтаксис:

Function ExecSQL(SqlText As String, [Context]) As IZSqlResult

SqlText - текст SQL запроса.

Context - необязательный параметр в виде объекта ZSqlContext, задающий дополнительный контекст запроса.

Описание:

Метод выполняет указанный в SqlText запрос и возвращает результат в виде объекта IZSqlResult. В параметре Context можно задать дополнительный контекс запроса.


ExportToDxf method (ZuluTools)

Экспортирует слои c указанным именем в файл в формате DXF AutoCAD.

Применяется к:

ZuluTools

Синтаксис:

Function ExportToDxf(LayerPath As String, DxfName As String, CfgName As String) As Boolean

LayerPath - путь до экспортируемого слоя (имя слоя).

DxfName - имя файла для записи.

CfgName - имя файла конфигурации для экспорта. При отсутствии файла конфигурации следует задать пустую строку.


ExportToGeoJSON method (ZuluTools)

Экспортирует слои c указанным именем в файл в формат GeoJSON.

Применяется к:

ZuluTools

Синтаксис

Visual Basic:

Function ExportToGeoJSON(LayerPath As String, GeoJSONPath As String, CodeEPSG As Integer, flags As Integer) As Boolean

LayerPath - путь до экспортируемого слоя (имя слоя).

GeoJSONPath - имя файла для записи.

CodeEPSG - код EPSG (географической проекции).

flags - параметры экспорта. Может принимать значения:

  • 0 - значение по умолчанию, все объекты с аттрибутами.

  • 1 - только геометрия (без аттрибутов).

Пример

VBScript

Sub ExportToGeoJSON

Set l = Zulu.ActiveMapDoc.Layers.Active
Set ztools = CreateObject("Zululib.ZuluTools")

'С атрибутами в широте/долготе EPSG:4326
ztools.ExportToGeoJSON l.Name, "D:\Data\Geojson\test1.geojson", 4326, 0

'Без атрибутов в широте/долготе EPSG:4326

ztools.ExportToGeoJSON l.Name, "D:\Data\Geojson\test2.geojson", 4326, 1

End Sub


ExportToKML method (ZuluTools)

Экспортирует данные слоя в файлы формата Google KML.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ExportToKML(LayerPath As String, KmlPath As String, flags As Long, iParams As ExportInfoParams) As Boolean

LayerPath - путь до экспортируемого слоя.

KmlPath - путь к файлу KML.

flags - флаги по умолчанию:

2 - экспорт атрибутов.

4 - ID объекта (поле Sys) в качестве бирки.

ExportInfoParams - объект ExportInfoParams с описанием экспортируемых типов.

Описание:

Объект ExportInfoParams содержит список экспортируемых типов с индивидуальными настройками для каждого типа.

Если этот параметр равен Nothing, то экспортируются примитивы и все типы с опциями из параметра flags.

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод аналогичен команде Файл|Экспорт|Google KML системы Zulu.

Пример:

Private Sub Command18_Click()

Dim tools As ZuluTools

Set tools = New ZuluTools
'произведем экспорт всех типов слоя водопроводной сети в формат KML

If tools.ExportToKML("d:\nastya\new\voda.b00", "d:\nastya\new\voda_all.kml", 2+4, Nothing) = True Then
        MsgBox "Слой экспортирован удачно"
    Else: MsgBox "Ошибка экспорта"
End If

'произведем экспорт типа ID=8 (участки) для слоя водопроводной сети в формат KML

Set params = New ExportInfoParams

params.AddType 8, true, true, ""

If tools.ExportToKML("d:\nastya\new\voda.b00", "d:\nastya\new\voda_8.kml", 0, params) = True Then
        MsgBox "Слой экспортирован удачно"
    Else: MsgBox "Ошибка экспорта"
End If

End Sub


ExportToMIF method (ZuluTools)

Экспортирует данные слоя в файлы формата MIF/MID.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ExportToMIF(LayerPath As String, MifPath As String) As Boolean

LayerPath - путь до экспортируемого слоя.

MifPath - путь к папке, в которую будет экспортирован слой.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод аналогичен команде Файл/Экспорт/MapInfoMIF системы Zulu.

Пример:

Private Sub Command18_Click()

    Dim tools As ZuluTools

Set tools = New            ZuluTools
    'произведем экспорт в формат MIF слоя Doma

If tools.ExportToMIF("d:\nastya\new\doma.b00", "d:\nastya\new\456.mif") = True Then
        MsgBox "Слой экспортирован удачно"
    Else: MsgBox "Ошибка экспорта"
    End If

End Sub


ExportToShape method (ZuluTools)

Экспортирует данные слоя в файлы формата Shape.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ExportToShape(LayerPath As String, ShpPath As String) As Boolean

LayerPath - имя (путь) экспортируемого слоя.

ShpPath - путь к файлу SHP.


ExportToShapeEx method (ZuluTools)

Экспортирует данные слоя в файлы формата Shape.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ExportToShapeEx(LayerPath As String, ShpPath As String, flags As Long) As Boolean

LayerPath - имя (путь) экспортируемого слоя.

ShpPath - путь к файлу SHP.

flags - флаги:

кодировка атрибутивных данных:

по умолчанию - кодировка ANSI.

1 - кодировка OEM.

2 - кодировка UTF8.

справочники: 4 - реальные значения полей. По умолчанию - значения из справочников


FileName property (ZuluTools)

Возвращает имя файла выбранное в диалоге ShowOpen или GetFolder.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

PropertyFileName As String

read-only


GenerateTiles method (ZuluTools)

Нарезает плитки для указанного тайлового слоя для заданной карты, в заданной области.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GenerateTiles(Path As String, vSrc, inCRS As CRS, pMap As MapDoc, z1 As Long, z2 As Long, nFlags As Long) As Long

Path - полный путь или URL тайлового слоя для записи

vSrc - объект типа VARIANT определяющий границы области, по которой нарезаются плитки.

На данный момент в качестве параметра можно подставлять следующие объекты:

Element, ZRectangle, Layer

inCRS - проекция, соответствующая объекту vSrc

pMap - карта, по которой создаются плитки

z1 - начальный уровень масштабирования

z2 - конечный уровень масштабирования

nFlags - битовые флаги для опций

бит 1 - создавать плитки с прозрачностью

бит 2 - перезаписывать существующие плитки

бит 4 - при построении плиток по слою участвуют только выделенные объекты

Описание:

Метод возвращает 0, если операция прошла успешно, в противном случае метод возвращает код ошибки в виде значения меньше нуля.

-1 - общая ошибка

-2 - указанный слой не является тайловым слоем

-3 - указанный слой не является слоем тайлового кэша, mbtiles или sqlitedb

-4 - не открыть указанный слой

Пример:

'VBScript
Sub MakeTiles

'создаем объект ZuluTools
Set tools = CreateObject("ZuluLib.ZuluTools")

'текущая карта
Set Map = Zulu.ActiveMapDoc

'активный слой текущей карты
 Set L = Zulu.ActiveMapDoc.Layers.Active

'получаем габариты группы объектов активного слоя текущей карты
Set Rect = L.Selection.GetBoundsRectangle()

'нарезаем по габаритам группы плитки с прозрачностью, перезаписыванием существующих, с 5 по 18 уровень
result = tools.GenerateTiles ("D:\Data\Tiles\tiles.zww", Rect, L.GetCRS(), Map, 5, 18, 1+2)

MsgBox result

End Sub


GetDatums method (ZuluTools)

Возвращает коллекцию предопределенных датумов системы.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetDatums() As IDatums


GetEllipsoids method (ZuluTools)

Возвращает коллекцию предопределенных эллипсоидов системы.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetEllipsoids() As IEllipsoids


GetExifInfo method (ZuluTools)

Возвращает интерфейс IExifInfo для получения информации об EXIF тэгах заданного файла изображения.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetExifInfo(Path As String) As IExifInfo

Path - имя файла изображения.

Описание:

Параметр Path должен содержать полный путь файла.

Пример:

Dim Tools As ZuluTools
Dim Info As IExifInfo

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Получаем IExifInfo
Set Info = Tools.GetExifInfo( "d:\images\IMG_0156.JPG")

'Проверяем наличие EXIF тэгов в указанном файле
If  Info.GetStatus = -1 Then

   MsgBox "Файл не содержит EXIF данных"

End If


GetFileCount method (ZuluTools)

Возвращает количество файлов, выбранных методом ShowOpen

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetFileCount() As Long

Описание:

Если метод возвращает 1, то выбранное имя файла можно получить через свойство FileName или метод GetFileName(0). В общем случае имя файла из списка возвращает метод GetFileName


GetFileName method (ZuluTools)

Возвращает имя фала из списка файлов, выбранных методом ShowOpen.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetFileName(nIndex As Long) As String

nIndex - индекс выбранного файла (нумерация с нуля)

Описание:

Метод незаменим при множественном выборе файлов. В случае одиночного выбора GetFileName(0) вернет то же значение, что и свойство FileName. Если заданный индекс выходит за границы списка выбранных файлов, метод вернет пустую строку.


GetFolder method (ZuluTools)

Вызывает диалог выбора папки.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetFolder(hWnd As Long, dwFlags As Long, Title As String) As Boolean

hWnd - дескриптор родительского окна

dwFilters - флаги:

0x80000000 - запретить просмотр серверов геоданных

Title - заголовок открываемого окна диалога

Описание:

Если метод возвращает True, имя выбранной папки можно получить через свойство ZuluTools.Filename

Если метод возвращает False, это означает отмену выбора.

Пример:

Dim Tools As ZuluTools

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Выбираем папку
If Tools.GetFolder (Form1.hWnd, 0, "Выбор папки") = True Then
    'Проверяем выбор
    MsgBox Tools.Filename
End If


GetLayerAccessInfo method (ZuluTools)

Метод проверяет существование и возможность открытия слоя по указанному пути.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetLayerAccessInfo(LayerPath As String, Flags As Long) As Long

LayerPath - имя слоя (путь или URL).

Flags - зарезервировано, должно быть 0.

Описание:

Если по указанному имени существует слой, который в данный момент можно открыть, метод возвращает 0. В противном случае возвращается -1.


GetLayerUserName method (ZuluTools)

Возвращает пользовательское название слоя.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetLayerUserName(LayerPath As String) As String

LayerPath - имя слоя.


GetMRUDir method (ZuluTools)

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

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetMRUDir(Extension As String) As String

Extension - расширение файла.

Пример:

'вывести значение последней используемой директории
MsgBox Tools.GetMRUDir("ZTT")


GetProjections method (ZuluTools)

Возвращает коллекцию поддерживаемых системой проекций.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function GetProjections() As IProjections


ImportFromDxf method (ZuluTools)

Импортирует данные из формата AutoCAD DXF в новый слой Zulu.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ImportFromDxf(DxfPath As String, LayerPath As String, LayerName As String, Flags As Long, ImportInfo) As Boolean

DxfPath - полный путь до импортируемого AutoCAD DXF файла.

LayerPath - полный путь или URL слоя, куда будет импортироваться файл.

LayerName - пользовательское название импортированного слоя.

Flags:

0 - параметр зарезервирован

ImportInfo - параметр в виде объекта DxfImportInfo, задающий параметры импорта.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод вернет False.


ImportFromKml method (ZuluTools)

Импортирует данные из формата Google KML (KMZ) в новый слой Zulu.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ImportFromKml(KmlPath As String, LayerPath As String, LayerName As String, Flags As Long) As Boolean

KmlPath - полный путь до импортируемого KML (KMZ) файла.

LayerPath - полный путь или URL слоя, куда будет импортироваться файл.

LayerName - пользовательское название импортированного слоя.

Flags:

0 - импорт только графики,

1 - импорт и графики и таблицы атрибутов.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод вернет False.


ImportFromMIF method (ZuluTools)

Импортирует данные из формата MIF/MID в новый слой Zulu.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ImportFromMIF(MifPath As String, LayerPath As String, LayerName As String) As Boolean

MifPath - полный путь до импортируемого MIF файла.

LayerPath - полный путь или URL слоя, куда будет импортироваться файл.

LayerName - пользовательское название импортированного слоя.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод вернет False. Метод аналогичен команде Файл/Импорт/MapInfoMIF системы Zulu.

Пример:

Private Sub Command19_Click()

    Dim tooll As ZuluTools
    Set tooll = New ZuluTools

    If tooll.ImportFromMIF("d:\nastya\new\111.mif", "d:\nastya\new\doma.b00", "дома") = True Then
        MsgBox "Слой успешно импортирован"
    Else: MsgBox "Ошибка импорта"
    End If

End Sub


ImportFromMIF_Ex method (ZuluTools)

Импортирует данные из формата MIF/MID в новый слой Zulu.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ImportFromMIF_Ex(MifPath As String, LayerPath As String, LayerName As String, Flags As Long, Kx As Double, Ky As Double) As Boolean

MifPath - полный путь до импортируемого MIF файла.

LayerPath - полный путь или URL слоя, куда будет импортироваться файл.

LayerName - пользовательское название импортированного слоя.

Flags:

0 - импорт только графики,

1 - импорт и графики и таблицы атрибутов.

Kx - коэффициент масштабирования по оси X.

Ky - коэффициент масштабирования по оси Y.

Описание:

Если коэффициенты Kx и Ky не равны нулю, то значения координат из MIF-файла при импорте будут умножены на соответствующие коэффициенты. В противном случае импорт будет проводится на основе информации о системе координат из заголовка MIF-файла, как в методе ImportFromMIF.

Метод возвращает True, если операция прошла успешно, в противном случае метод вернет False.


ImportFromShape method (ZuluTools)

Импортирует данные из формата Shape в новый слой Zulu.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ImportFromShape(ShpPath As String, LayerPath As String, LayerName As String) As Boolean

MifPath - полный путь до импортируемого SHP файла.

LayerPath - полный путь или URL слоя, куда будет импортироваться файл.

LayerName - пользовательское название импортированного слоя.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод аналогичен команде Файл/Импорт/ShapeSHP системы Zulu.

Пример:

Private Sub Command19_Click()

    Dim tooll As ZuluTools
    Set tooll = New ZuluTools

    If tooll.ImportFromShape("d:\nastya\new\123_polygon", "d:\nastya\new\doma.b00", "дома") = True Then
        MsgBox "Слой успешно импортирован"
    Else: MsgBox "Ошибка импорта"
    End If

End Sub


ImportFromShape method (ZuluTools)

Импортирует данные из формата Shape в новый слой Zulu.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ImportFromShapeEx(ShpPath As String, LayerPath As String, LayerName As String, PrjName As String, Flags As Long) As Boolean

MifPath - полный путь до импортируемого SHP файла.

LayerPath - полный путь или URL слоя, куда будет импортироваться файл.

LayerName - пользовательское название импортированного слоя.

PrjName - имя файла с описанием географической проекции.

Flags - флаги:

0x01 - кодировка файла dbf в DOS,

0x02 - кодировка файла dbf в Unicode,

0x04 - игнорировать проекцию.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод аналогичен команде Файл/Импорт/ShapeSHP системы Zulu.


LayerCopy method (ZuluTools)

Выполняет копирование графического слоя системы с заданными параметрами.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerCopy(SrcLayerPath As String, NewLayerPath As String, NewLayerUsername As String) As Boolean

SrcLayerPath - полный путь к слою-источнику (откуда копируется слой).

NewLayerPath - полный путь к новому слою (куда копируется слой).

NewLayerUsername - пользовательское название нового слоя.

Описание:

Метод возвращает1, если операция прошла успешно, в противном случае метод возвращает 0.

Пример:

Private Sub Command5_Click()

    Dim tools As ZuluTools
    Set tools = New ZuluTools

    'копировать слой doma
    If tools.LayerCopy("c:\Program Files\Zulu 5.0\Examples\Termo\doma.b00", "d:\nastya\new\doma.b00", "Copy_doma") = 1 Then
        MsgBox "Слой скопирован"
    Else: MsgBox "Ощибка копирования"
    End If

End Sub


LayerCopyEx method (ZuluTools)

Выполняет копирование графического слоя системы с заданными параметрами.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function LayerCopyEx(SrcLayerPath As String, NewLayerPath As String, NewLayerUsername As String, Flags As Long) As Boolean

SrcLayerPath - полный путь или URL слоя-источника (откуда копируется слой).

NewLayerPath - имя нового слоя (путь или URL).

NewLayerUsername - пользовательское название нового слоя Flags - флаги, определяющие параметры копирования:

0x0 - копируется вся информация слоя (структура, графика, табличные базы, тематические раскраски, бирки),

0x1 - наследовать ключи графических объектов,

0x4 - копировать структуру графической базы,

0x8 - копировать графическую базу,

0x10 - копировать структуру семантической базы,

0x20 - копировать семантические базы,

0x40 - копировать фильтры тематических раскрасок,

0x80 - копировать тематические раскраски,

0x100 - копировать шаблоны бирок,

0x200 - копировать варианты бирки,

0x4+0x10+0x40+0x100 - копировать только структуру слоя.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


LayerCreate method (ZuluTools)

Создает графический слой системы с заданными параметрами.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerCreate(Path As String, UserName As String, Type As eLayerType) As Boolean

Path - полный путь к создаваемому слою.

UserName - пользовательское название слоя.

Type - тип создаваемого слоя, константа из набора констант eLayerType.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

Private Sub Command2_Click()

    'создать векторный слой на диске D , в папке nastya c названием файла "teplo"
    'и пользовательским названием "тепло"
    If ZuluCtrl1.Tools.LayerCreate("d:\nastya\teplo", "тепло", eMixedLayer) = True Then
        MsgBox "Слой создан"
    Else: MsgBox "Слой не создан"
    End If

End Sub


LayerCreateByExample method (ZuluTools)

Создает графический слой со структурой, взятой у существующего слоя (образца).

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerCreateByExample(SrcPath As String, Path As String, UserName As String, flags As Long) As Boolean

SrcPath - полный путь к слою-образцу.

Path - полный путь к создаваемому слою.

UserName - пользовательское название слоя.

flags - зарезервирован, должен быть 0.

Описание:

Слой создается с той же структурой (типы, режимы, базы данных, смволы, стили), тематические раскраски, бирки, система координат, ползовательские данные (CustomData).

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


LayerCreateInMemory method (ZuluTools)

Создает объект Layer в памяти.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function LayerCreateInMemory(UserName As String) As Layer

UserName - пользовательское название слоя.


LayerDelete method (ZuluTools)

Удаляет графический слой системы с диска.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerDelete(Path As String) As Boolean

Path - полный путь к файлу удаляемого слоя.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод аналогичен команде Слой/Уничтожить системы Zulu.


LayerEditStructure method (ZuluTools)


LayerEmpty method (ZuluTools)

Очищает указанный слой, т. е. удаляет все графические объекты слоя.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerEmpty(Path As String) As Boolean

Path - полный путь к файлу слоя.

Описание:

Метод возвращает 1, если операция прошла успешно, в противном случае метод возвращает 0.

Метод аналогичен команде Слой/Очистить. При вызове данного метода удаляются все объекты слоя (т. е. обнуляется графическая база данных), при этом сами файлы слоя (*.b00, *.b01 и т. д.) не удаляются с диска.

Пример:

Private Sub Command7_Click()

Dim tools As ZuluTools
    Set tools = New ZuluTools
'очистить слой doma
    If tools.LayerEmpty("d:\nastya\new\doma.b00") = 1 Then
        MsgBox "Слой очищен"
    Else: MsgBox "Ощибка очистки слоя"
    End If

End Sub


LayerOptimize method (ZuluTools)

Оптимизация указанного слоя.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:LayerOptimize(Path As String) As Boolean

Path - полный путь к файлу слоя.

Описание:

Метод возвращает 1, если операция прошла успешно, в противном случае метод возвращает 0 .

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

Пример:

Private Sub Command8_Click()

    Dim tools As ZuluTools
    Set tools = New ZuluTools
   'оптимизировать слой
    If tools.LayerOptimize("d:\nastya\new\doma.b00") = 1 Then
        MsgBox "Оптимизация проведена удачно"
    Else: MsgBox "Ошибка оптимизации слоя"
    End If

End Sub


LayerPack method (ZuluTools)

Упаковывает слой в файл архива в формате ZuluGIS (zpkg).

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerPack(Path As String, PkgName As String, nFlags As Long) As Boolean

Path - полный путь к файлу слоя, который надо упаковать.

PkgName - полный путь к файлу создаваемого нового архива.

nFlags - флаги (параметр зарезервирован, должен быть 0).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод соответствует команде ZuluGIS Слой/Упаковать.


LayerRename method (ZuluTools)

Переименовывает указанный слой.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerRename(Path As String, UserName As String) As Boolean

Path - полный путь к файлу слоя.

UserName - пользовательское название слоя.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод аналогичен команде Слой/Переименовать.


LayerTransform method (ZuluTools)

Трансформирование указанного слоя. Под термином трансформирование в данном случае подразумеваются следующие аффинные преобразования графического слоя:

- линейно изменять масштаб по оси X

- линейно изменять масштаб по оси Y

- смещать слой по оси X

- смещать слой по оси Y

- поворачивать слой на заданный угол вокруг заданного центра поворота

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerTransform(Path As String, Kx As Double, Ky As Double, Fi As Double, Xcenter As Double, Ycenter As Double,Xshift As Double, Yshift As Double) As Boolean

Path - полный путь к файлу слоя.

Kx - масштаб по Х.

Ky - масштаб по Y.

Fi - угол поворота (град).

Xcenter - центр по Х при повороте.

Ycenter - центр по Y при повороте.

Xshift - смещение в см по Х.

Yshift - смещение в см по Y.

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод аналогичен команде Слой/Трансформирование.


LayerLayerTransformByPoints method (ZuluTools)

Трансформирование слоя однигм из методов из набора eMethod As eLayerTransformMethod.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function LayerTransformByPoints(Path As String, Points, inCRS As CRS, eMethod As eLayerTransformMethod) As Boolean

Path - полный путь к слою.

Points - переменная типа VARIANT, содержащая точки трансформации.

Points - переменная типа VARIANT, содержащая точки трансформации.

inCRS - система координат точек трансформации.

eMethod - метод трансформации из набора eMethod As eLayerTransformMethod.

Описание:

Метод аналогичен трансформациив режиме "Трансформация слоя с экрана".

Точки в последовательности идут парами по принципу "из точки" - "в точку".

На данный момент последовательность точек задается в виде полилинии в объекте PolyLine.

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'VBScript

' ActiveX enumeration values definitions start (do not change!)
Const eLayerTransformMethodShift = 6
' ActiveX enumeration values definitions end

Sub ShiftLayer

'Получаем активный слой текущей карты
Set Map = Zulu.ActiveMapDoc
Set L = Map.Layers.Active

'создаем объект ZuluTools
Set tools = CreateObject("ZuluLib.ZuluTools")

'Получаем центр объекта слоя с ID = 16

Set Pt = L.Elements.Item(16).GetCenter

'создаем объект PolyLine
Set pline = CreateObject("ZuluLib.PolyLine")

'Заполняем объект парой точек
pline.AddPoint Pt.X, Pt.Y
pline.AddPoint Pt.X + 100, Pt.Y + 100

'Сдвигаем слой на 100 метров по X и Y от центра выбранного объект
result = tools.LayerTransformByPoints (L.name, pline, zulu.ActiveMapDoc.GetCRS, eLayerTransformMethodShift)

MsgBox result

End Sub


LayerUnpack method (ZuluTools)

Извлекает слой из архива ZuluGIS (zpkg).

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

LayerUnpack(PkgName As String, Path As String, nFlags As Long) As Boolean

PkgName - полный путь к файлу архива в формате zpkg.

Path - полный путь к новому слою, куда извлекаются данные.

nFlags - флаги (параметр зарезервирован, должен быть 0).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False. Метод соответствует команде ZuluGIS Слой/Извлечь.

Путь к распаковывемому слою может быть как локальный, так и серверный.

Формат хранения табличных данных можно задать методом SetDataSource


MapPack method (ZuluTools)

Упаковывает карту в файл архива в формате ZuluGIS (zpkg).

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

MapPack(Path As String, PkgName As String, nFlags As Long) As Boolean

Path - полный путь к файлу карты.

PkgName - полный путь к файлу создаваемого нового архива.

nFlags - флаги (параметр зарезервирован, должен быть 0).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


MapUnpack method (ZuluTools)

Извлекает карту из архива ZuluGIS (zpkg).

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

MapUnpack(PkgName As String, Path As String, nFlags As Long) As Boolean

PkgName - полный путь к файлу архива в формате zpkg.

Path - полный путь к файлу новой карты, куда извлекаются данные.

nFlags - флаги (параметр зарезервирован, должен быть 0).

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.


MBTilesCreate method (ZuluTools)

Создает тайловый слой в виде контейнера БД SQLite в формате MBTiles.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function MBTilesCreate(Path As String, UserName As String, Format As Long, nFlags As Long) As Long

Path - полный путь или URL тайлового слоя для записи

UserName - пользовательское название слоя

Format - растровый формат плиток может принимать одно из значений:

0

Bitmap Picture (BMP)

1

Joint Photographic Experts Group (JPEG)

2

Graphics Interchange Format (GIF)

3

Tagged Image File Format (TIFF)

4

Portable Network Graphics (PNG)

nFlags - битовые флаги для опций (зарезервирован, должен быт 0)

Описание:

Метод возвращает 0, если операция прошла успешно, в противном случае метод возвращает код ошибки в виде значения меньше нуля.

-1 - общая ошибка.

Пример:

'VBScript
Sub CreateTiles

'создаем объект ZuluTools
Set tools = CreateObject("ZuluLib.ZuluTools")

tools.MBTilesCreate "D:\Data\Tiles\tiles.mbtiles", "mbtiles test", 4, 0

'текущая карта
Set Map = Zulu.ActiveMapDoc

'активный слой текущей карты
 Set L = Zulu.ActiveMapDoc.Layers.Active

'получаем габариты группы объектов активного слоя текущей карты
Set Rect = L.Selection.GetBoundsRectangle()

'нарезаем по габаритам группы плитки с прозрачностью, перезаписыванием существующих, с 5 по 18 уровень
result = tools.GenerateTiles ("D:\Data\Tiles\tiles.mbtiles", Rect, L.GetCRS(), Map, 5, 18, 1+2)

MsgBox result

End Sub


RasterGroupCreate method (ZuluTools)

Создает пустой слой для группы растровых объектов.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

RasterGroupCreate(ZrgName As String, Options As long) As Long

ZrgName - полный путь или URL создаваемой группы

Options - зарезервировано, должно быть 0

Описание:

Метод возвращает 0, если операция прошла успешно, в противном случае метод возвращает -1.


SaveEsriWorldFileToRasterLayer method (ZuluTools)

Создает описатель растрового объекта ZuluGIS ZRS на основе описателя растровых объектов в формате ESRI World file.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SaveEsriWorldFileToRasterLayer(WorldFileName As String, RasterLayerName As String, options As Long, inCRS As CRS) As Long

WorldFileName - имя описаетеля World file

RasterLayerName - имя описателя растрового объекта ZuluGIS ZRS

options - битовые флаги с опциями импорта:

1 - преобразовывать исходный растровый файл в формат BMP

2 - для преобразованного формат BMP файла создавать постоянный кэш файл

inCRS - проекция растрового объекта

Описание:

Проекцию растрового объекта можно задавать, если описатель World file не снабжен описанием проекции. В противном случае параметр inCRS должен быть nothing (null)


SaveGeoTagsToRasterLayer method (ZuluTools)

Создает описатель растрового объекта для растрового файла, содержащего тэги с информацией о географической привязке растра (GeoTiff).

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SaveGeoTagsToRasterLayer(RasterName As String, ZrsName As String, BmpName As String, Flags As Long) As Boolean

RasterName - имя растрового файла

ZrsName - имя файла создаваемого описателя ZRS

BmpName - имя BMP файла в кторый может быть преобразован входной файл при установленном бите 0x01 в параметре Flags. Если имя - пустая строка, то имя BMP файла будет тем же что и у ZrsName, но с расширением bmp.

Flags - битовые флаги:

бит 0x01 - создание нового BMP файла вместо исходного растра

бит 0x02 - задание признака постоянного кэша для BMP файла

Описание:

Описатели и растровый файл создаются только для локальных данных (не на ZuluServer).


SaveRasterLayerToOziMap method (ZuluTools)

Сохраняет описатели растровых объектов, входящих в растровый слой, в файлы формата MAP программа OziExplorer.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SaveRasterLayerToOziMap(RasterLayerName As String, MapName As String, Options As Long) As Boolean

RasterLayerName - имя растрового слоя

MapName - имя файла или папки, для создания MAP файлов

Options - опции, определяющие способ формирования имени MAP файлов:

0 - файлы MAP образуются в папке, заданной параметром MapName,

1 - каждый файл MAP образуются в той же папке, что и соответствующий ему файл описетеля растрового объекта (ZRS),

2 - все файлы MAP образуются в папке заданной параметром RasterLayerName.

Описание:

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

Для параметра Options равного 1 или 2, короткое имя файла MAP отличается от имени файла ZRS только расширением.

Если в слое один растровый объект, то параметр MapName может определять не папку, а конкретное имя файла.


SaveRasterLayerToTab method (ZuluTools)

Сохраняет описатели растровых объектов, входящих в растровый слой, в файлы формата TAB системы MapInfo.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SaveRasterLayerToTab(RasterLayerName As String, TabName As String, Options As Long) As Boolean

RasterLayerName - имя растрового слоя.

TabName - имя файла или папки, для создания TAB файлов.

Options - опции, определяющие способ формирования имени TAB файлов:

0 - файлы TAB образуются в папке, заданной параметром TabName,

1 - каждый файл TAB образуются в той же папке, что и соответствующий ему файл описетеля растрового объекта (ZRS),

2 - все файлы TAB образуются в папке заданной параметром RasterLayerName.

Описание:

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

Для параметра Options равного 1 или 2, короткое имя файла TAB отличается от имени файла ZRS только расширением.

Если в слое один растровый объект, то параметр TabName может определять не папку, а конкретное имя файла.


SaveTabToRasterLayer method (ZuluTools)

Создает описатель растрового объекта Zulu ZRS на основе описателя растровых объектов MapInfo в формате TAB.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SaveTabToRasterLayer(TabName As String, RasterLayerName As String, Options As Long) As Long

TabName - имя исходного TAB файла

RasterLayerName - имя создаваемого растрового объекта

Options - опции, параметр зарезервирован, должен быть нулем


SetAppTheme method (ZuluTools)

Устанавливает графическую тему пользовательского интерфейса.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SetAppTheme(nAppTheme As Integer) As Boolean

nAppTheme - тип темы из набора констант eAppTheme.

Описание:

Метод задает графическую тему, используемую в пользовательском интерфейсе.

Выбранная тема будет немедленно применена во всех оконных элементах, кнопках и всплывающих меню компонентов ZuluGIS, если для этих компонентов не будет задано иного.


SetDataSource method (ZuluTools)

Устанавливает имя источника базы данных, используемое при операции копирования слоя.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SetDataSource(vSrc As String) As Boolean

vSrc - параметр, задающий имя источника базы данных

Параметр может содержать либо строку конкретного источника данных, либо принимать одно из предопределенных значений:

$local - таблицы Paradox

$sqlite - база sqlite

$msaccess - база Microsoft Access

$localdb - база Microsoft SQL LocalDB

Описание:

Метод возвращает True, если операция прошла успешно, в противном случае метод возвращает False.

Пример:

'Копируем слой с сервера на локальную машину

Dim Tools As ZuluTools
'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Назначаем в качестве источника данных при копировании формат базы sqlite
Tools.SetDataSource "$sqlite"

'Копируем слой
Tools.LayerCopyEx ("zulu://MyServer:6473/Termo/teplosam.zl", "D:\Test\test.b00", "Пример", 0)


SetMRUDir method (ZuluTools)

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

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

SubSetMRUDir(Extension As String, Dir As String)

Extension - расширение файла.

Пример:

'для файлов с расширением *.ZTT задать в качестве последней используемой
'папки d:\Data\LenObl

Tools.SetMRUDir "*.ZTT", "d:\Data\LenObl"
'или
Tools.SetMRUDir ".ZTT", "d:\Data\LenObl\"
'или
Tools.SetMRUDir ".ZTT", "d:\Data\LenObl"


ShowOpen method (ZuluTools)

Вызывает диалог выбора существующего файла.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ShowOpen(hWnd As Long, dwFilters As Long, Title As String) As Boolean

hWnd - дескриптор родительского окна.

dwFilters - маска открываемого файла:

1

карты (*.zmp)
2 | слои (*.b00, *.zrs, *.zrg)
3 | карты (*.zmp) и слои (*.b00, *.zrs, *.zrg)
4 | базы данных (*.zb)
5 | карты (*.zmp) и базы данных (*.zb)
7 | карты (*.zmp) слои (*.b00, *.zrs, *.zrg) и базы данных (*.zb)
8 | шаблоны надписей (*.zlb)
9 | карты (*.zmp) и шаблоны надписей (*.zlb)
10 | слои (*.b00, *.zrs, *.zrg) и шаблоны надписей (*.zlb)
16 | шаблоны тематических фильтров (*.ztt)
32 | тематические файлы (*.ztm)

64

проекты (*.zpr)

128

все файлы (*.*)

256

"слои WMS, Tile и SRTM3" (*.zww)

512

"любые слои" ( *.b00, *.zrs, *.zrg, *.zl, *.zww, *.ztr, *.gpx, *.plt)

1024

"файлы изображений" ( *.bmp, *.jpg, *.jpeg, *.tif, *.tiff, *.gif, *.png, *.pcx)

4096

"слой ZuluServer" ( *.zl)

0x40000000

разрешить множественный выбор файлов

0x80000000

запретить просмотр серверов геоданных

Title - заголовок открываемого окна диалога.

Описание:

Если метод возвращает True, имя выбранного файла можно получить через свойство ZuluTools.Filename

Если метод возвращает False, это означает отмену выбора.

Пример:

Dim Tools As ZuluTools

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Выбираем карту
If Tools.ShowOpen (Form1.hWnd, 1, "Выбор карты") = True Then
    'Загружаем выбранную карту в окно
    MapCtrl1.MapPath = Tools.Filename
End If


ShowSave method (ZuluTools)

Вызывает диалог сохранения файла.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ShowSave(hWnd As Long, dwFilters As Long, Title As String) As Boolean

hWnd - дескриптор родительского окна.

dwFilters - маска открываемого файла:

1

карты (*.zmp)
2 | слои (*.b00, *.zrs, *.zrg)
3 | карты (*.zmp) и слои (*.b00, *.zrs, *.zrg)
4 | базы данных (*.zb)
5 | карты (*.zmp) и базы данных (*.zb)
7 | карты (*.zmp) слои (*.b00, *.zrs, *.zrg) и базы данных (*.zb)
8 | шаблоны надписей (*.zlb)
9 | карты (*.zmp) и шаблоны надписей (*.zlb)
10 | слои (*.b00, *.zrs, *.zrg) и шаблоны надписей (*.zlb)
16 | шаблоны тематических фильтров (*.ztt)
32 | тематические файлы (*.ztm)

64

проекты (*.zpr)

128

все файлы (*.*)

256

"слои WMS, Tile и SRTM3" (*.zww)

512

"любые слои" ( *.b00, *.zrs, *.zrg, *.zl, *.zww, *.ztr, *.gpx, *.plt)

1024

"файлы изображений" ( *.bmp, *.jpg, *.jpeg, *.tif, *.tiff, *.gif, *.png, *.pcx)

0x80000000

запретить просмотр серверов геоданных

Title - заголовок открываемого окна диалога.

Описание:

Если метод возвращает True, имя выбранного файла можно получить через свойство ZuluTools.Filename

Если метод возвращает False, это означает отмену выбора.

Пример:

Dim Tools As ZuluTools

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Выбираем имя карты
If Tools.ShowSave (Form1.hWnd, 1, "Сохранение карты") =  True Then

'Сохраняем карту в выбранном файле
MapCtrl1.Map.SaveAs  Tools.Filename

End If


SqlitedbCreate method (ZuluTools)

Создает тайловый слой в виде контейнера БД SQLite в формате RMaps sqlitedb.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function SqlitedbCreate(Path As String, UserName As String, Format As Long, nFlags As Long) As Long

Path - полный путь или URL тайлового слоя для записи

UserName - пользовательское название слоя

Format - растровый формат плиток может принимать одно из значений:

0

Bitmap Picture (BMP)

1

Joint Photographic Experts Group (JPEG)

2

Graphics Interchange Format (GIF)

3

Tagged Image File Format (TIFF)

4

Portable Network Graphics (PNG)

nFlags - битовые флаги для опций (зарезервирован, должен быт 0)

Описание:

Метод возвращает 0, если операция прошла успешно, в противном случае метод возвращает код ошибки в виде значения меньше нуля.

-1 - общая ошибка.

Пример:

'VBScript
Sub CreateTiles

'создаем объект ZuluTools
Set tools = CreateObject("ZuluLib.ZuluTools")

tools.SqlitedbCreate "D:\Data\Tiles\tiles.sqlitedb", "test", 4, 0

'текущая карта
Set Map = Zulu.ActiveMapDoc

'активный слой текущей карты
 Set L = Zulu.ActiveMapDoc.Layers.Active

'получаем габариты группы объектов активного слоя текущей карты
Set Rect = L.Selection.GetBoundsRectangle()

'нарезаем по габаритам группы плитки с прозрачностью, перезаписыванием существующих, с 5 по 18 уровень
result = tools.GenerateTiles ("D:\Data\Tiles\tiles.sqlitedb", Rect, L.GetCRS(), Map, 5, 18, 1+2)

MsgBox result

End Sub


ThemeFilterEdit method (ZuluTools)

Задает редактирование тематического фильтра.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function ThemeFilterEdit(FilterName As String) As Boolean

FilterName - имя файла.

Пример:

'выбрать тематический фильтр и открыть окно редактирования
If Tools.ShowOpen(Form1.hWnd, 16, "Выбор тематического фильтра") = True Then
    Tools.ThemeFilterEdit Tools.FileName
End If


TileLayerCreate method (ZuluTools)

Создает тайловый слой.

Применяется к:

ZuluTools

Синтаксис:

Visual Basic:

Function TileLayerCreate(Path As String, Def As TileLayerDef) As Boolean

Path - имя слоя (имя файла или URL).

Def - объект с описанием параметров создаваемого слоя.

Описание:

Параметр Path должен содержать полный путь файла для локального слоя или URL для слоя на ZuluServer.

Пример:

Dim Tools As ZuluTools
Dim Def As TileLayerDef

'Создаем объект ZuluTools
Set Tools = New ZuluTools

'Создаем объект TileLayerDef
Set Def = New TileLayerDef

'Задаем параметры описатель для сервера OpenStreetMap
Def.SetCRSCode "EPSG:3857"
Def.SetModel eTileModelOpenStreetMap
Def.SetQueryTemplateString "http://a.tile.openstreetmap.org/"
Def.SetUseCacheFlag  True
'Создаем локальный слой
Tools.TileLayerCreate "d:\Tiles\osm.zww", Def


ZWebParams object

Представляет набор методов для работы с параметрами публикуемых слоев в Веб-службах ZuluServer.

Входит в состав библиотеки ZuluGIS 2021 Library.

Свойства и методы:

Свойства

Методы

GetDisplayOptions

GetInterval

GetMobileEditingGPSOnly

GetModel

GetWebAccessFlag

GetWebEditingDisabled

GetWebLayerName

GetWebNamespace

SetDisplayOptions

SetInterval

SetMobileEditingGPSOnly

SetModel

SetWebAccessFlag

SetWebEditingDisabled

SetWebLayerName

SetWebNamespace


GetDisplayOptions method (ZWebParams)

Метод возвращает тип отображения опубликованного слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetDisplayOptions() As Long

Описание:

Метод вернет 0, если тип отображения задан по умолчанию, 1, если из настроек слоя.

Пример:

Sub Layer_GetDisplayOptions
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем тип отображения и выводим в отдельное окно для проверки
    output = param.GetDisplayOptions
    MsgBox(output)
End Sub


GetInterval method (ZWebParams)

Метод возвращает интервал обновления в секундах для опубликованного слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetInterval() As Long

Описание:

Метод вернет значение в секундах

Пример:

Sub Layer_GetInterval
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем интервал обновления и выводим в отдельное окно для проверки
    output = param.GetInterval
    MsgBox(output)
End Sub


GetMobileEditingGPSOnly method (ZWebParams)

Метод возвращает значение правда или ложь, если правило редактирования слоя в ZuluGIS Mobile только по GPS для опубликованного слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetMobileEditingGPSOnly() As Boolean

Пример:

Sub Layer_GetMobileEditingGPSOnly
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем значение и выводим в отдельное окно для проверки
    output = param.GetMobileEditingGPSOnly
    MsgBox(output)
End Sub


GetModel method (ZWebParams)

Метод возвращает индекс расчетной модели для опубликованного слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetModel() As Long

Описание:

0 - модель не используется.

1 - ZuluThermo.

2 - ZuluHydro.

3 - ZuluSteam.

4 - ZuluGaz.

5 - ZuluDrain.

Пример:

Sub Layer_GetModel
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем значение модели и выводим в отдельное окно для проверки
    output = param.GetModel
    MsgBox(output)
End Sub


GetWebAccessFlag method (ZWebParams)

Метод возвращает включен ли доступ для опубликованного слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetWebAccessFlag() As Boolean

Пример:

Sub Layer_GetWebAccessFlag
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем значение  и выводим в отдельное окно для проверки
    output = param.GetWebAccessFlag
    MsgBox(output)
End Sub


GetWebEditingDisabled method (ZWebParams)

Метод взвращает правило, которое разрешает или запрещает редактирование опубликованного слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetWebEditingDisabled() As Boolean

Описание:

True - редактирование через веб службы отключено.

False - редактирование через веб службы включено.

Пример:

Sub Layer_GetWebEditingDisabled
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем значение и выводим в отдельное окно для проверки
    output = param.GetWebEditingDisabled
    MsgBox(output)
End Sub


GetWebLayerName method (ZWebParams)

Метод возвращает ZWS наименование опубликованного слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetWebLayerName() As String

Пример:

Sub Layer_GetWebLayerName
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем наименование и выводим в отдельное окно для проверки
    output = param.GetWebLayerName
    MsgBox(output)
End Sub


GetWebNamespace method (ZWebParams)

Метод возвращает пространство имен, в котором находится опубликованный слой.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Function GetWebNamespace() As String

Пример:

Sub Layer_GetWebNamespace
    Set L = Zulu.ActiveMapDoc.Layers.Active
    'получаем объект с параметрами опубликованного слоя по индексу 0
    Set param =  L.GetWebParams(0)
    'получаем наименование пространства имен и выводим в отдельное окно для проверки
    output = param.GetWebNamespace
    MsgBox(output)
End Sub


SetDisplayOptions method (ZWebParams)

Метод задает тип отображения публикуемого слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetDisplayOptions(nVal As Long)

nVal:

0 - по умолчанию.

1 - из настроек слоя.

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetDisplayOptions 0


SetInterval method (ZWebParams)

Метод задает интервал обновления в секундах для публикуемого слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetInterval(nInterval As Long)

nInterval - интервал обновления в секундах.

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetInterval 10


SetMobileEditingGPSOnly method (ZWebParams)

Метод задает правило редактирования слоя в ZuluGIS Mobile только по GPS для публикуемого слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetMobileEditingGPSOnly(bVal As Boolean)

bVal:

True - правило включено.

False - правило выключено.

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetMobileEditingGPSOnly false


SetModel method (ZWebParams)

Метод задает расчетную модель для публикуемого слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetModel(nModel As Long)

nModel:

0 - не использовать модель.

1 - ZuluThermo.

2 - ZuluHydro.

3 - ZuluSteam.

4 - ZuluGaz.

5 - ZuluDrain.

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetModel 0


SetWebAccessFlag method (ZWebParams)

Метод задает доступ для публикуемого слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetWebAccessFlag(bVal As Boolean)

bVal:

True - доступ открыт.

False - доступ закрыт.

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetWebAccessFlag true


SetWebEditingDisabled method (ZWebParams)

Метод устанавливает правило, которое разрешает или запрещает редактирование слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetWebEditingDisabled(bVal As Boolean)

bVal:

True - редактирование через веб службы отключено.

False - редактирование через веб службы включено.

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetWebEditingDisabled false


SetWebLayerName method (ZWebParams)

Метод задает ZWS наименование слоя.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetWebLayerName(sName As String)

sName - наименование слоя (только латиницей).

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetWebLayerName "Teplo"


SetWebNamespace method (ZWebParams)

Метод задает пространство имен, в которое будет добавлен слой.

Применяется к:

ZWebParams

Синтаксис:

Visual Basic:

Sub SetWebNamespace(sNamespace As String)

sNamespace - пространство имен.

Описание:

Пространство имен должно быть создано заранее, метод его не создает.

Пример:

Set webParams = CreateObject("ZuluLib.ZWebParams")
webParams.SetWebNamespace "TeploSetiSPB"


Константы

  • eAppTheme enum

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

  • eAreaDisplayUnits enum

    Набор констант, определяющих единицы отображения измеряемой площади инструментом "линейка" на карте.

  • eCombineMode enum

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

  • eControlBarEvents enum

    cbDockStateChanged

  • eControlBarStyle enum

    Набор констант, описывающих стиль и поведение пользовательских панелей.

  • eCoordDisplayUnits enum

    Набор констант, определяющих единицы отображения текущих координаты карте.

  • eCoordTransformMethod enum

    Константы, перечисляющие ряд предопределенных эллипсоидов, параметры которых описаны в системе.

  • eCoordTransformTo enum

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

  • eCrossCriteria enum

    Константы, определяющие критерии пересечения объектов слоя.

  • eCustomDataFlags enum

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

  • eDatum enum

    Константы, перечисляющие ряд предопределенных датумов, параметры которых описаны в системе.

  • eDistanceDisplayUnits enum

    Набор констант, определяющих единицы отображения измеряемых расстояний инструментом "линейка" на карте.

  • eDockState enum

    Константы, определяющие состояние плавающей панели (зарезервировано).

  • eDocType enum

    Набор констант, определяющий тип документа.

  • eEditMode enum

    Константы, определяющие режим редактирования карты.

  • eEditorAction enum

    Константы, определяющие элементарное действие редактора, возникающее как реакция на действие пользователя.

  • eEditResult enum

    Константы, определяющие результат элементарной операции редактора по отношению к конкретному объекту.

  • eEditState enum

    Константы, определяющие состояние редактирования слоя в однопользовательском режиме.

  • eElemDrawOrder enum

    Константы, определяющие последовательность вывода объектов слоя на карту.

  • eElemGraphType enum

    Константы, определяющие графический тип объекта.

  • eEllipsoid enum

    Константы, перечисляющие ряд предопределенных эллипсоидов, параметры которых описаны в системе.

  • eEventEnable enum

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

  • eIncidentRelationship enum

    Константы связи узла.

  • eLabelFrameStyle enum

    Константы, определяющие стиль вывода надписи на карту (см. свойство LabelLayer.FrameStyle).

  • eLabelPosition enum

    Флаги ориентации надписи относительно точки привязки.

  • eLayerOrder enum

    Константы, определяющие режим редактирования карты.

  • eLayerTransformMethod enum

    Константы, определяющие метод трансформации слоя по набору точек.

  • eLayerType enum

    Константы, определяющие тип слоя системы. См. свойство Type объекта Layer.

  • eMapGrid enum

    Константы, определяющие размер планшетной сетки.

  • eMeasureType enum

    Набор констант, определяющих способ измерения расстояний, длин, периметров и площадей объектов.

  • eMode enum

    Константы, задающие режим работы карты. См. свойство Mode объекта MapDoc.

  • eModeBehavior enum

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

  • eModifySelection enum

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

  • eMouseState enum

    Комбинация флагов, указывающих на нажатое состояние клавиш мыши и клавиш Shift и Ctrl клавиатуры.

  • eNameType enum

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

  • eNetworkObjectFilter enum

    Константы, определяющие критерий выбора объектов сети.

  • eNetworkToolsState enum

    Набор констант, определяющий, в результате какой операции получена коллекция NetworkTools.Results.

  • eObjectTypeTag enum

    Константа, определяющая атрибут типа как объекта инженерной сети.

  • eObjGraphType enum

    Константы, определяющие графический тип типового объекта векторного слоя

  • ePrintInfoConstants enum

    Список констант для задания параметров и опций печати.

  • eProjectionType enum

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

  • eSaveOption enum

    Набор констант, определяющих опции записи документа при закрытии.

  • eSerialBaudRate enum

    Константы, задающие скорость обмена данными с СОМ-портом.

  • eSerialByteSize enum

    Константы, задающие количество бит в байте, используемых при обмене данными с СОМ-портом.

  • eSerialParity enum

    Константы, задающие выбор схемы контроля четности при обмене данными с СОМ-портом.

  • eSerialStopBits enum

    Константы, задающие количество стоповых битов при обмене данными с СОМ-портом.

  • eStyleElemType enum

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

  • eSwitchState enum

    Константы, определяющие состояние проводимости элемента сети.

  • eThemeField enum

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

  • eTileModel enum

    Набор констант, определяющих тип модели тайловой системы, являющийся одним из параметров описателя тайлового слоя. Задается и получается методами GetModel и SetModel объекта TileLayerDef.

  • eUnits enum

    Набор констант, определяющих единицы хранения координат графических данных в системе.

  • eUserReaction enum

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

  • eWindowState enum

    Набор констант, определяющий состояние окна Zulu.

  • eWindowType enum

    Набор констант, определяющих тип окон приложения Zulu.

  • eZuluEvents enum

    Набор констант, определяющих событие, возникающее в системе Zulu. Модули расширения (плагины) могут обрабатывать эти события через механизм OnZuluEvent.

  • zbBlobRemoveOptions enum

    Константы, определяющие опции при удалении данных из объекта IZbBlob.

  • zbBlobSetContentOptions enum

    Константы, задающие опции при добавлении или изменении данных в объекте IZbBlob.

  • zbBookType enum

    Константы, определяющие тип справочника семантической базы данных.

  • zbBrowserCmdState enum

    Константы, определяющие состояние команды браузера.

  • zbBrowserCommands enum

    Перечень кодов команд, выполняемых браузером.

  • zbBrowserCmdState enum

  • zbDataFieldFilter enum

    Константы, задающие фильтр полей набора данных. Используется в методе GetDataFields для доступа к полям набора данных.

  • zbDateFormat enum

    Константы, определяющие представление данных типа дата/время в текстовом файле.

  • zbDelimeterType enum

    Константы, определяющие ограничитель строковых полей в текстовом файле.

  • zbErrCode enum

    Коды ошибок. Возвращаются свойством LastError объекта ZbDatabase.

  • zbFieldSourceType enum

    Константы, определяющие тип источника, откуда взято поле запроса.

  • zbFieldType enum

    Константы, определяющие тип данных поля. Используется для свойства Type объектов IZbFieldDef, IZbFieldInfo, а также свойства FieldType объекта ZbTableDef.

  • zbFormType enum

    Константы, определяющие тип формы браузера базы данных.

  • zbJoinOptions enum

    Зарезервировано.

  • zbFieldType enum

    Константы, определяющие код фильтра ключей.

  • zbKeyOptions enum

    Константы, определяющие способ задания набора ключей.

  • zbLinkType enum

    Константы, определяющие тип связи между полями таблиц. Смотрите свойство Type объекта IZbLinkInfo.

  • zbLoginType enum

    Константы, описывающий способ авторизации при соединении с СУБД. См. свойство LoginType объекта ZbDatabase.

  • zbNameType enum

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

  • zbOperation enum

  • zbQueryRefType enum

    Константы, определяющие тип подзапроса.

  • zbQueryResultType enum

    Константы, определяющие тип результата запроса по образцу.

  • zbQueryType enum

    Константы, определяющие тип запроса. См. свойство QueryType объекта IZbQueryInfo.

  • zbQuestionsResolving enum

    Константы, определяющие способ продолжения операции при отказе пользователя выводить вопросы на экран. См. свойство QuestionsResolving объекта ZbDatabase.

  • zbSeparatorType enum

    Константы, определяющие разделитель полей в текстовом файле.

  • zbSortMode enum

    Константы, определяющие порядок сортировки записей.

  • zbSourceType enum

    Константы, определяющие тип источника таблиц.

  • zbStdBrowserPages enum

    Константы, определяющие закладки стандартного браузера баз данных Zulu (элемент ZbStdBrowser).

  • zbTableType enum

    Константы, определяющие типы исходных таблиц. См. свойство TableType объекта IZbTableInfo.

  • zbUseService enum

    Константы, определяющие сервис, через который получены данные.

  • zbWarnLevel enum

    Константы, определяющие уровень подробности в сообщениях об ошибках.

  • zlOpenFileFilters enum

    zlofLayerAny


eAppTheme enum

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

См. свойство AppTheme объекта MapCtrl.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eAppThemeAuto = -1

Используется тема по-умолчанию.

eAppThemeClassic = 0

Тема "Классическая".

eAppThemeModern = 1

Тема "Модерн".

eAppThemeWindows = 2

Тема "Windows".


eAreaDisplayUnits enum

Набор констант, определяющих единицы отображения измеряемой площади инструментом "линейка" на карте.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eAreaDisplayUnitsSquareMetre = 0

Квадратные метры

eAreaDisplayUnitsHectare = 1

Гектары

eAreaDisplayUnitsSquareKilometre = 2

Квадратные километры


eCombineMode enum

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

Входит в состав библиотеки ZuluGIS 2021 Library.

Константа

Описание

eCombineModeAnd = 2

пересечение

eCombineModeDiff = 4

вычитание одного множества из другого

eCombineModeOr =1

объединение

eCombineModeXor = 3

объединение непересекающихся областей (симметрическая разность)


eControlBarEvents enum

cbDockStateChanged

cbHide

cbMoved

cbQueryClose

cbSized


eControlBarStyle enum

Набор констант, описывающих стиль и поведение пользовательских панелей.

См. метод Zulu.CreateControlBar.

Входит в состав библиотеки ZuluGIS 2021 Application.

Константа

Описание

barVisible = 1

Панель является видимой.

barDockable = 2

Панель является «докируемой» и может крепиться к сторонам главного окна приложения Zulu.

barSizeable = 4

Пользователь может менять размеры панели.

barAllowDockable = 8

Пользователь может включать / выключать режим «докируемости» панель.

barAllowMDIChild = 16

Зарезервировано.


eCoordDisplayUnits enum

Набор констант, определяющих единицы отображения текущих координаты карте.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eCoordDisplayUnitsMetre = 0

Метры

eCoordDisplayUnitsDegree = 1

Градусы


eCoordTransformMethod enum

Константы, перечисляющие ряд предопределенных эллипсоидов, параметры которых описаны в системе.

Входит в состав библиотеки ZuluGIS 2021 Library.

Константа

Описание

eCoordTransformCoordinateFrameRotation = 1

Coordinate Frame Rotation.

eCoordTransformGeocentricTranslations = 0

Geocentric translations.

eCoordTransformMolodenskyBadekas10 = 3

Molodensky-Badekas (10 параметров).

eCoordTransformPositionVector7Parameter = 2

Position Vector transformation (7 параметров).


eCoordTransformTo enum

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

Входит в состав библиотеки ZuluGIS 2021 Library.

Константа

Описание

eCoordTransformToNone = -1

Датум для трансформации не определен.

eCoordTransformToPZ90 = 3

Определена трансформация в датум ПЗ-90.

eCoordTransformToWGS84 = 1

Определена трансформация в датум WGS 84.


eCrossCriteria enum

Константы, определяющие критерии пересечения объектов слоя.

Используется при вызове методов Selection.AddByContour, Layer.IntersectByLayer, Layer.IntersectByContour.

Входит в состав библиотеки ZuluGIS 2021 Library.

Критерии пересечения объектов

Рисунок 1. Критерии пересечения объектов

Константа

Описание

eFullyInside = 1

Полностью внутри объекта.

ePartialInside = 2

Частично внутри объекта.

eFullyOrPartialInside = 4

Полностью или частично внутри объекта.

eFullyOutside = 8

Полностью вне объекта.

eFullyOrPartialOutside = 16

Полностью или частично вне объекта.

eFullyEqual = 32

Объекты полностью совпадают.

eTouches = 64

Объекты касаются друг друга.

eCrosses = 128

Объект пересекает другой объект.

eContains = 256

Объект содержится внутри другого объекта.

eIntersects = 1024

Объекты как-то друг с другом связаны.


eCustomDataFlags enum

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

Входит в состав ZuluGIS 2021 Library.


eDatum enum

Константы, перечисляющие ряд предопределенных датумов, параметры которых описаны в системе.

Входит в состав ZuluGIS 2021 Library.

Константа

Значение

eDatumCustom

eDatumPlan

eDatumWGS84

eDatumPZ90_MI

eDatumSK42_MI

eDatumSK95_MI

eDatumPulkovo_1942_Russia

eDatumPulkovo_1942_Germany_MI

eDatumPulkovo_1942_Lituania

eDatumPulkovo_1942_Hungary

eDatumPulkovo_1942_Poland

eDatumPulkovo_1942_Czech

eDatumPulkovo_1942_Latvia

eDatumPulkovo_1942_Kazakhstan

eDatumPulkovo_1942_Albania

eDatumPulkovo_1942_Estonia

eDatumPulkovo_1942_Azerbaijan

eDatumPulkovo_1942_Azerbaijan_Georgi

eDatumAdindan

eDatumAfgooye

eDatumAin_el_Abd_1970

eDatumAnna1Astro_1965

eDatumArc_1950

eDatumArc_1960

eDatumAscensionIslands

eDatumAstroBeaconE

eDatumAstroB4SorolAtoll

eDatumAstroDos_71_4

eDatumAstronomicStation_1952

eDatumAustralianGeodeticDatum66

eDatumAustralianGeodeticDatum84

eDatumBellevueIgn

eDatumBermuda_1957

eDatumBogota

eDatumCampoInchauspe

eDatumCantonAstro_1966

eDatumCape

eDatumCapeCanaveral

eDatumCarthage

eDatumChatham_1971

eDatumChua

eDatumCorregoAlegre

eDatumBatavia

eDatumDos_1968

eDatumEasterIsland_1967

eDatumEuropeanDatum_1950

eDatumEuropeanDatum_1979

eDatumGandajika_1970

eDatumNewZealandGD49

eDatumNewZealandGeodeticDatum_1949

eDatumGRS67

eDatumGRS80

eDatumGuam_1963

eDatumGux1Astro

eDatumHitoXVIII_1963

eDatumHjorsey_1955

eDatumHongKong_1963

eDatumHuTzuShan

eDatumIndianThailandVietnam

eDatumIndianBangladesh

eDatumIreland_1965

eDatumISTS_073_Astro_1969

eDatumJohnstonIsland_1961

eDatumKandawala

eDatumKerguyelenIsland

eDatumKertau

eDatumLC5Astro

eDatumLiberia_1964

eDatumLuzonPhillippines

eDatumLuzonMindanaoIsland

eDatumMahe_1971

eDatumMarcoAstro

eDatumMassawa

eDatumMerchich

eDatumMidwayAstro_1961

eDatumMinna

eDatumNahrwanMasirahIsland

eDatumNahrwanUnArabEmirates

eDatumNahrwanSaudiArabia

eDatumNaparima_1972

eDatumNAD27ContinentalUS

eDatumNAD27_Alaska

eDatumNAD27_Bahamas

eDatumNAD27_SanSalvador

eDatumNAD27_Canada

eDatumNAD27_CanalZone

eDatumNAD27_Caribbean

eDatumNAD27_CentralAmerica

eDatumNAD27_Cuba

eDatumNAD27_Greenland

eDatumNAD27_Mexico

eDatumNAD27_Michigan

eDatumNAD83

eDatumObservatorio_1966

eDatumOldEgyptian

eDatumOldHawaiian

eDatumOman

eDatumOSGB_1936

eDatumPicoDeLasNieves

eDatumPitcairnAstro_1967

eDatumProvisionalSouthAmerican

eDatumPuertoRico

eDatumQatarNational

eDatumQornoq

eDatumReunion

eDatumMonteMario

eDatumSantoDos

eDatumSaoBraz

eDatumSapperHill_1943

eDatumSchwarzeck

eDatumSouthAmericanDatum_1969

eDatumSouthAsia

eDatumSoutheastBase

eDatumSouthwestBase

eDatumTimbalai_1948

eDatumTokyo

eDatumTristanAstro_1968

eDatumVitiLevu_1916

eDatumWakeEntiwetok_1960

eDatumWGS60

eDatumWGS66

eDatumWGS72

eDatumYacare

eDatumZanderij

eDatumNTF

eDatumEuropeanDatum_1987

eDatumNetherlandsBessel

eDatumBelgiumHayford

eDatumNWGL10

eDatumRikets_koordinatsystem_1990

eDatumLisboaDLX

eDatumMelrica_1973_D73

eDatumEuref98

eDatumGDA94

eDatumNZGD2000

eDatumAmericaSamoa

eDatumAntiguaAstro_1965

eDatumAyabelleLighthouse

eDatumBukitRimpah

eDatumEstonia_1937

eDatumDabola

eDatumDeceptionIsland

eDatumFortThomas_1955

eDatumGraciosa_base_1948

eDatumHeratNorth

eDatumHermannsKogel

eDatumIndian

eDatumIndian_1954

eDatumIndian_1960

eDatumIndian_1975

eDatumIndonesianDatum_1974

eDatumISTS061_Astro_1968

eDatumKusaieAstro_1951

eDatumLeigon

eDatumMontserratAstro_1958

eDatumMporaloko

eDatumNorthSahara_1959

eDatumObservatorioMet_1939

eDatumPoint58

eDatumPointeNoire

eDatumPortoSanto_1936

eDatumSelvagemGrande_1938

eDatumSierraLeone_1960

eDatumS_JTSK_Ferro

eDatumTananarive_1925

eDatumVoirol_1874

eDatumVirol_1960

eDatumHartebeesthoek94

eDatumATS77

eDatumJGD2000

eDatumWGS84Spherical

eDatumDHDN_PotsdamRauenberg

eDatumNTF_ParisMeridian

eDatumSwitzerlandCH_1903

eDatumHungarianDatum_1972

eDatumCape_7_Parameter

eDatumAGD84_7_ParamAust

eDatumAGD66_7_ParamACT

eDatumAGD66_7_ParamTAS

eDatumAGD66_7_ParamVICNSW

eDatumNZGD_7_Param49

eDatumRiketsTri_7_Param_1990

eDatumTokyo_2

eDatumFinnishKKJ

-1

0

1

3

11

10

193

2

194

195

196

197

198

199

200

201

202

203

181

182

183

184

185

186

187

188

189

190

191

192

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

31

32

8

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

4

9

64

65

66

67

68

69

70

71

72

73

5

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

6

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

7

158

159

160

170

171

172

173

174

175

176

177

12

179


eDistanceDisplayUnits enum

Набор констант, определяющих единицы отображения измеряемых расстояний инструментом "линейка" на карте.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eDistanceDisplayUnitsMetre = 0

Метры

eDistanceDisplayUnitsKilometre = 1

Километры


eDockState enum

Константы, определяющие состояние плавающей панели (зарезервировано).

Входит в состав ZuluGIS 2021 Application.

Константа

Описание

cbDocked = 0

Панель придокирована.

cbFloating = 1

Панель плавающая.

cbMDIChild = 2

Панель встроено в окно документа.


eDocType enum

Набор констант, определяющий тип документа.

См. свойство Type объекта Document.

Входит в состав библиотеки ZuluGIS 2021 Application.

Константа

Описание

eUnknownDoc = 0

Внешний для системы документ.

eMapDoc = 1

Документ - карта Zulu.

eLayoutDoc = 2

Документ - макет печати.

eMacroDoc = 3

Документ - скрипт макросов на VBScript или JScript.


eEditMode enum

Константы, определяющие режим редактирования карты.

См. свойство EditMode объекта MapDoc.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eEditModeNone = -1

Режим редактирования отсутствует.

eEditModeSelect = 1

Редактирование объекта целиком.

eEditModeNodes = 2

Редактирование ребер и вершин.

eEditModePolyline = 3

Ввод полилинии.

eEditModeRect = 4

Ввод прямоугольника.

eEditModeFillRect = 5

Ввод заполненного прямоугольника.

eEditModeCircle = 6

Ввод окружности.

eEditModeFillCircle = 7

Ввод круга.

eEditModePolygon = 8

Ввод многоугольника.

eEditModeSymbol = 9

Ввод символьного объекта.

eEditModeText = 10

Ввод текстового объекта.

eEditModeTransform = 11

Режим трансформации слоя с экрана.

eEditModeLabel = 12

Режим редактирования бирок.


eEditorAction enum

Константы, определяющие элементарное действие редактора, возникающее как реакция на действие пользователя.

Возвращает значения метод ElementsChanged объекта MapCtrl.

Входит в состав ZuluGIS 2021 Library.

Константа

eEditorAddObject = 1

eEditorAttachEnd = 53

eEditorAttachToLines = 37

eEditorAttachToNodes = 36

eEditorAttatchEndSplit = 61

eEditorBufferZone = 20

eEditorChangeDirection = 31

eEditorChangeElemID = 48

eEditorChangeElemState = 42

eEditorChangeStruct = 44

eEditorChangeTypeMode = 32

eEditorCombineGroup = 18

eEditorContinueLine = 51

eEditorContinueLine = 51

eEditorConverToNet = 54

eEditorConverToLines = 34

eEditorConvertToRegions = 35

eEditorCorrectAngles = 26

eEditorCorrectRegion = 9

eEditorDecombineGroup = 21

eEditorDeleteArc = 12

eEditorDeleteGroup = 14

eEditorDeleteNode = 6

eEditorDeleteSegment = 52

eEditorDeleteSymbol = 27

eEditorDelObject = 3

eEditorEmptyLayer = 46

eEditorGroupSetup = 38

eEditorGroupSimplify = 64

eEditorGroupSmooth = 69

eEditorInsertNode = 5

eEditorInsertSymbol = 22

eEditorJoinRegions = 10

eEditorMergeElemSegments = 58

eEditorMergeSegments = 57

eEditorMoveGroup = 39

eEditorMoveNode = 4

eEditorMoveNodes = 62

eEditorMoveObject = 2

eEditorMoveSegment = 25

eEditorNone = 0

eEditorObjectSetup = 16

eEditorOptimize = 45

eEditorOther = 29

eEditorPaste = 43

eEditorRedo = 24

eEditorReplaceMetrics = 49

eEditorReprojectLayer = 55

eEditorReverseSegment = 47

eEditorRotateObject = 7

eEditorRotateRegion = 11

eEditorScaleGroup = 41

eEditorScaleObject = 15

eEditorSimplifyGeometry = 63

eEditorSmoothGeometry = 68

eEditorSplitElemToSegments = 60

eEditorSplitPolyline = 28

eEditorSplitRegion = 8

eEditorSplitToLineSegments = 59

eEditorTransformGroup = 40

eEditorTransformLayer = 19

eEditorUndo = 23

eEditorUpdateLabel = 17

eEditorWriteGroup = 33

eEditorWritePolyPolygon = 30


eEditResult enum

Константы, определяющие результат элементарной операции редактора по отношению к конкретному объекту.

См. свойство EditResult объекта ChangedElementKeys.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eEditResultNone = 0

Редактирования не произошло.

eElementAdded = 1

Объект добавлен.

eElementDelete = 2

Объект удален.

eElementModified = 3

Объект изменен.

eLabelModified = 4

Изменена бирка.


eEditState enum

Константы, определяющие состояние редактирования слоя в однопользовательском режиме.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

editNone = 0

Слой никто не редактирует.

editByOwner = 1

Слой редактирует данный объект Layer.

editByPeople = 2

Слой редактируется кем-то со стороны.


eElemDrawOrder enum

Константы, определяющие последовательность вывода объектов слоя на карту.

Константа

Описание объекта

eElemDrawOrderGraphType = 0

По графическим типам: площадные, линейные, символьные и текстовые

eElemDrawOrderObjectType = 1

По типам: примитивы, типовые по списку


eElemGraphType enum

Константы, определяющие графический тип объекта.

См. свойство GraphType объекта Element.

См. свойство GraphType объекта SymbolElement.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание объекта

eGraphTypeHotSpot = 13

Точка привязки символа (только для описания символа)

eGraphTypePrimArc = 8

Примитив дуга (только для элементов символа)

eGraphTypePrimEllipse = 11

Примитив эллипс (только для элементов символа)

eGraphTypePrimFilledEllipse = 7

Примитив заполненный эллипс (только для элементов символа).

eGraphTypePrimMultipoint = 17

Примитив группа точек

eGraphTypePrimPolyline = 4

Примитив ломаная

eGraphTypePrimSegment = 9

Примитив сегмент (только для элементов символа)

eGraphTypePrimSquare = 5

Примитив площадной

eGraphTypePrimSymbol = 3

Примитив символ

eGraphTypePrimText = 6

Примитив текст

eGraphTypeTypedMultipoint = 18

Типовой группа точек

eGraphTypeTypedPolyline = 0

Типовой ломаная

eGraphTypeTypedSquare = 1

Типовой площадной

eGraphTypeTypedSymbol = 2

Типовой символ

eGraphTypeTypedText = 20

Типовой текст

eGraphTypeUnknown = -1

Тип не определен


eEllipsoid enum

Константы, перечисляющие ряд предопределенных эллипсоидов, параметры которых описаны в системе.

Входит в состав ZuluGIS 2021 Library.

Константа

Значение

eEllipsoidCustom

eEllipsoidAiry_1930

eEllipsoidAiry_1930_for_Ireland_1965

eEllipsoidATS77

eEllipsoidAustralian

eEllipsoidBessel_1841

eEllipsoidBessel_1841_for_NGO_1948

eEllipsoidBessel_1841_for_Schwarzeck

eEllipsoidClarke_1858

eEllipsoidClarke_1866

eEllipsoidClarke_1866_for_Michigan

eEllipsoidClarke_1880

eEllipsoidClarke_1880_for_Arc_1950

eEllipsoidClarke_1880_for_IGN

eEllipsoidClarke_1880_for_Jamaica

eEllipsoidClarke_1880_for_Merchich

eEllipsoidClarke_1880_for_Palestine

eEllipsoidEverestBrunei_EastMalaysia

eEllipsoidEverestIndia1_830

eEllipsoidEverestIndia1_956

eEllipsoidEverestPakistan

eEllipsoidEverestWMalaysia_Singapore_1948

eEllipsoidEverestWestMalaysia_1969

eEllipsoidFischer_1960

eEllipsoidFischer_1960_for_SouthAsia

eEllipsoidFischer_1968

eEllipsoidGRS67

eEllipsoidGRS80

eEllipsoidHayford

eEllipsoidHelmert_1906

eEllipsoidHough

eEllipsoidIAG75

eEllipsoidIndonesian

eEllipsoidInternational_1924

eEllipsoidIrishWOFO

eEllipsoidKrassovsky

eEllipsoidMERIT83

eEllipsoidNewInternational_1967

eEllipsoidNWL9D

eEllipsoidNWL10D

eEllipsoidOSU86F

eEllipsoidOSU91A

eEllipsoidPlessis_1817

eEllipsoidPZ90

eEllipsoidSouthAmerican

eEllipsoidStruve_1860

eEllipsoidWalbeck

eEllipsoidWarOffice

eEllipsoidWGS60

eEllipsoidWGS66

eEllipsoidWGS72

eEllipsoidWGS84

-1

9

13

51

2

10

35

14

36

7

8

6

15

30

37

16

38

39

11

40

50

17

48

18

19

20

21

0

5

22

23

31

41

4

49

3

32

33

42

43

44

45

46

52

24

47

34

25

26

27

1

28


eEventEnable enum

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

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eEventEnableMButton = 4

События от средней клавиши мыши.

eEventEnableMouseWheel = 3

События от колеса мыши.


eIncidentRelationship enum

Константы связи узла.

См. метод GetIncidentElements объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eIncidentAll = 3

Все ребра, связанные с узлом.

eIncidentIncoming = 1

Ребра, входящие в узел.

eIncidentOutcoming = 2

Ребра, выходящие из узла.


eLabelFrameStyle enum

Константы, определяющие стиль вывода надписи на карту (см. свойство LabelLayer.FrameStyle).

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eLabelStyleNone = 0

просто текст.

eLabelStyleAngle = 1

текст выделен уголком.

eLabelStyleFrame = 2

текст в рамке.

eLabelStyleShadow = 3

текст в рамке с тенью.

eLabelStyleAngleShelf = 4

текст выделен уголком c полками.

eLabelStyleFrameShelf = 5

текст в рамке c полками.


eLabelPosition enum

Флаги ориентации надписи относительно точки привязки.

См. метод SetLabel элемента управления MapCtrl.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eCenter = 0

Надпись выводится поверх объекта.

eEast = 4

Надпись выводится справа от объекта.

eNorth = 2

Надпись выводится сверху от объекта.

eNorthEast = 6

Надпись выводится сверху и справа от объекта.

eNorthWest = 10

Надпись выводится сверху и слева от объекта.

eSouth = 1

Надпись выводится снизу от объекта.

eSouthEast = 5

Надпись выводится снизу и справа от объекта.

eSouthWest = 9

Надпись выводится снизу и слева от объекта.

eWest = 8

Надпись выводится слева от объекта.

Описание:

Изначально набор констант eLabelPosition перечислял возможные варианты положения надписи относительно объекта, однако в настоящее время предполагается более широкое его применение для задания в общем положения одного объекта относительно другого, или же выравнивание одного объекта относительно другого. В последнем случае North и South обозначают соответственно верхнюю и нижнюю границу (top и bottom).


eLayerOrder enum

Константы, определяющие режим редактирования карты.

См. свойство EditMode объекта MapDoc.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eMoveBackOne = 1

на одну позицию назад.

eMoveForwardOne = 2

на одну позицию вперед.

eMoveToBack = 0

в самое начало (низ).

eMoveToFront = 3

в самый конец (верх).


eLayerTransformMethod enum

Константы, определяющие метод трансформации слоя по набору точек.

См. свойство LayerTransformByPoints объекта ZuluTools.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

Минимальное количество пар точек трансформации

eLayerTransformMethodPolynom1 = 1

Преобразование полиномом первой степени

3

eLayerTransformMethodPolynom2 = 2

Преобразование полиномом второй степени

6

eLayerTransformMethodRubberSheet = 4

Резиновый лист

3

eLayerTransformMethodRotate = 5

Поворот

2

eLayerTransformMethodShift = 6

Сдвиг

1

eLayerTransformMethodScaleRotate = 7

Поворот и масштабирование

2

eLayerTransformMethodScale = 8

Масштабирование

2


eLayerType enum

Константы, определяющие тип слоя системы. См. свойство Type объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eUndefinedLayer = 0

тип слоя не определен

eNetLayer = 23

линейно-сетевой (только версия 5.01)

eConturLayer = 71

контурный (только версия 5.01)

ePointLayer = 10

точечный (только версия 5.01)

eTextLayer = 17

текстовый (только версия 5.01)

eMixedLayer = 52

локальный векторный слой

eRemoteLayer = 100

векторный слой на ZuluServer

eRasterLayer = -2

локальный растровый слой

eRemoteRasterLayer = 101

растровый слой на ZuluServer

eWmsLayer = 102

локальный слой OGC WMS

eRemoteWmsLayer = 103

слой OGC WMS на ZuluServer

eTileLayer = 108

локальный тайловый слой

eRemoteTileLayer = 109

тайловый слой на ZuluServer

eReliefLayer = 104

локальный слой рельефа

eRemoteReliefLayer = 105

слой рельефа на ZuluServer

eGPXLayer = 111

локальный слой в формате GPX
eRemoteGPXLayer = 112 слой в формате GPX на ZuluServer


eMapGrid enum

Константы, определяющие размер планшетной сетки.

См. свойство Grid объекта MapDoc.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eGridNone = 0

Сетка не отображается.

eGrid100 = 1

Планшеты 1:100.

eGrid500 = 2

Планшеты 1:500.

eGrid2000 = 3

Планшеты 1:2000.

eGrid10000 = 4

Планшеты 1:10000.

eGrid100000 = 5

Планшеты 1:100000.


eMeasureType enum

Набор констант, определяющих способ измерения расстояний, длин, периметров и площадей объектов.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eMeasureTypeCartesian = 0

Вычисления в декартовой системе координат

eMeasureTypeSpherical = 1

Вычисления на сфероиде

eMeasureTypeRaw = 2

Вычисления на данных без каких-либо их преобразований


eMode enum

Константы, задающие режим работы карты. См. свойство Mode объекта MapDoc.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eModeCircleSel = 3

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

eModeDistance = 9

Измерение расстояния.

eModeInfo = 7

Запрос к базе данных.

eModeLabel = 10

Режим редактирования бирок.

eModeNavigate = 15

Навигация по карте (указание объектов).

eModeNetwork = 12

Установка флагов для поиска пути.

eModeNone = -1

Отсутствие предопределенных режимов.

eModePan = 6

Перемещение карты «рукой».

eModePolyline = 14

Ввод полилинии.

eModePolySel = 4

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

eModePrinterFragment = 11

Выделение области для печати.

eModePrinterFragmentEdit = 13

Редактирование области для печати.

eModePrintFrame = 8

- не задействован -

eModeRectSel = 2

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

eModeRotate = 16

Врвщение объекта или группы объектов.

eModeSelect = 1

Выделение одиночного объекта.

eModeUser = 0

Сбросить все инструменты.

eModeZoom = 5

Увеличение изображения рамкой.


eModeBehavior enum

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

Входит в состав ZuluGIS 2021 Library.


eModifySelection enum

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

См. метод Modify объекта Selection.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eSelCreate = 1

Создает группу заново.

eSelAppend = 2

Добавляет элементы к существующей группе.

eSelExclude = 3

Исключает элементы из существующей группы.


eMouseState enum

Комбинация флагов, указывающих на нажатое состояние клавиш мыши и клавиш Shift и Ctrl клавиатуры.

См. событие Mouse.

См. событие OnKeyDown.

См. событие OnKeyUp.

eCtrlKey

Нажата клавиша Ctrl.

eLeftButton

Нажата левая кнопка мыши.

eMiddleButton

Нажата средняя кнопка мыши.

eRightButton

Нажата правая кнопка мыши.

eShiftKey

Нажата клавиша Shift.


eNameType enum

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

См. ZsFolder.GetItemName.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eShortName = 0

Короткое имя.

eFullName = 1

Полное имя.

eUserName = 2

Пользовательское название.

eNickName = 3

Псевдоним.

eModelName = 4

Имя в модели данных.


eNetworkObjectFilter enum

Константы, определяющие критерий выбора объектов сети.

См. свойство NetworkObjects объекта Layer.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eNetworkAll = 3

Все объекты сети.

eNetworkArcs = 2

Только ребра сети.

eNetworkVertices = 1

Только узлы сети.


eNetworkToolsState enum

Набор констант, определяющий, в результате какой операции получена коллекция NetworkTools.Results.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eNetworkToolsNone = 0

Результат пуст.

eNetworkToolsWay = 1

Результат метода FindWay.

eNetworkToolsConnected = 2

Результат метода FindConnected.

eNetworkToolsLoops = 3

Результат метода FindLoops.

eNetworkToolsDownstream = 4

Результат метода FindDownstream.

eNetworkToolsUpstream = 5

Результат метода FindUpstream.

eNetworkToolsDisconnected = 6

Результат метода FindDisconnected.

eNetworkToolsGroup = 7

eNetworkToolsIncorrect = 8

Результат метода FindIncorrect.


eObjectTypeTag enum

Константа, определяющая атрибут типа как объекта инженерной сети.

См. свойство Tag объекта ObjectType.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eTypeTagNone = 0

Атрибут отсутствует.

eTypeTagSection = 1

Участок сети (только для линейного типа).

eTypeTagSectionSimple = 8

- не используется -

eTypeTagSource = 2

Источник (только для символьного типа).

eTypeTagSwich = 3

Отсекающее устройство (только для символьного типа).

eTypeTagUser = 4

Потребитель (только для символьного типа).

eTypeTagNode = 5

Простой узел (только для символьного типа).


eObjGraphType enum

Константы, определяющие графический тип типового объекта векторного слоя

См. свойство GraphicType объекта ObjectType.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eMultipoint = 5

Группа точек

ePolyline = 2

Типовой линейный

eSquare = 3

Типовой площадной

eSymbol = 1

Типовой символьный

eSimple = 0

Примитив

eText = 4

Текст


ePrintInfoConstants enum

Список констант для задания параметров и опций печати.

См. PrintInfo object.

Входит в состав ZuluGIS 2021 Library.

Описание:

Константы ePrintInfoConstants представляют собой набор флагов, которые используются для задания настроек печати.

Константа

Описание

ePrintCurrentView = 8

Печатать текущей вид карты. Под текущим видом подразумевается вид карты активном окне документа Zulu или вид карты в элементе ActiveX MapCtrl. Соответствует переключателю "текущий вид" в панели настройки печати карты.

ePrintDefaultPrinterSettings = &H20000000

Зарезервировано.

ePrintDrawBackground = &H200

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

ePrintDrawFrame = &H400

Отображать рамку вокруг печатаемой области на листе бумаги. Соответствует опции "печатать фон карты" в панели настройки печати карты.

ePrintExplicitRect = &H40

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

ePrintExplicitScale = 1

Масштаб карты при печати задается явно свойством Scale объекта PrintInfo.

ePrintFitToPage = 2

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

ePrintLayerExtents = &H20

Печатаемая область карты определяется габаритами слоя. Слой определяется свойством Layer объекта PrintInfo.

ePrintMapExtents = &H10

Печатаемая область карты определяется габаритами всей карты.

ePrintMergePages = &H800

Соответствует опции "листы в склейку" в панели настройки печати карты.

ePrintNoClip = &H100

Не отсекать печатаемую зону карты на листе. Карта будет отображаться на всей свободной области листа. Соответствует опции "не отсекать печатаемую зону" в панели настройки печати карты.

ePrintNoPrintDlg = &H10000000

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

ePrintOrderDown = &H1000

Устанавливает порядок печати страниц. Соответствует переключателю "Порядок печати страниц" в панели настройки печати карты.

ePrintScreenScale = 4

Масштаб карты выбирается из соответствия экранному масштабу отображения карты в текущем окне карты.

ePrintOrientPortrait = 1

Ориентация страницы книжная.

ePrintOrientLandscape = 2

Ориентация страницы альбомная.


eProjectionType enum

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

Смотрите свойство ProjectionType объекта CRS.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eProjPlan = 0

План-схема (локальная система координат).

eProjAitoff = 30

Аитова.

eProjAlbersEqualArea = 5

Равновеликая коническая Альберса.

eProjAmericanPolyconic = 11

Американская поликоническая.

eProjAugustEpicycloidal = 38

Августа эпициклоидная.

eProjAzimuthalEquidistant = 24

Равнопромежуточная азимутальная.

eProjBonne = 15

Бонне.
eProjBottomley = 57 | Боттомли.

eProjCassiniSoldner = 34

Кассини - Зольднера.

eProjCollignon = 21

Коллиньона.
eProjCrasterParabolic = 55 | Параболическая Крастера (Путниньша P4).

eProjCylindricalEqualArea = 23

Цилиндрическая равновеликая.

eProjEckertI = 26

Эккерта I.

eProjEckertII = 27

Эккерта II.

eProjEckertIII = 28

Эккерта III.

eProjEckertIV = 16

Эккерта IV.

eProjEckertV = 29

Эккерта V.

eProjEckertVI = 17

Эккерта VI.

eProjEquidistantConic = 13

Равнопромежуточная коническая.

eProjFoucault = 32

Фуко.

eProjGallStereographic = 22

Голлa стереографическая.

eProjGinzburgIV = 49

Гинзбурга IV (измененная поликоническая, ЦНИИГАиК 1939-1949).

eProjGinzburgIX = 52

Гинзбурга IX (измененная поликоническая, ЦНИИГАиК 1966).

eProjGinzburgV = 50

Гинзбурга V (измененная поликоническая, ЦНИИГАиК 1950).

eProjGinzburgVI = 51

Гинзбурга VI (измененная поликоническая ЦНИИГАиК БСЭ).

eProjGinzburgVIII = 48

Гинзбурга VIII (псевдоцилиндрическая ЦНИИГАиК).
eProjGnomonic = 58 | Гномоническая.
eProjKavraiskyV = 60

Каврайского V.

eProjKavraiskyVII = 19

Каврайского VII.

eProjKharchenkoShabanova = 41

Харченко - Шабановой.

eProjLambertAzimuthalEqualArea = 12

Равновеликая азимутальная Ламберта.

eProjLambertConformalConic = 10

Равноугольная коническая Ламберта.

eProjLarrivee = 37

Ларриве.

eProjLaskowski = 35

Ласковского.

eProjLatLon = 1

Широта/Долгота.

eProjLatLonGlobular = 2

Широта/Долгота на глобусе.

eProjLoximuthal = 33

Локсимутальная.

eProjMercator = 3

Меркатора.

eProjMillerCylindrical = 14

Миллера цилиндрическая.

eProjMillerPerspectiveCompromise = 43

Миллера перспективная.

eProjMollweide = 8

Мольвейде.

eProjOxfordAtlas = 44

Атлас Оксфорда.

eProjPavlov = 40

Павлова.

eProjRegionalMercator = 36

Региональная Меркатора.

eProjRobinson = 6

Робинсона.

eProjSinusoidal = 7

Синусоидальная.

eProjTimesAtlas = 45

Атлас Таймс.

eProjToblersAlternate1 = 46

Тоблера #1.

eProjToblersAlternate2 = 47

Тоблера #2.

eProjTransverseMercator = 4

Поперечная Меркатора (Гаусса - Крюгера).

eProjUrmayevII = 42

Урмаева цилиндрическая II.

eProjUrmayevIII = 39

Урмаева цилиндрическая III.

eProjVanDerGrintenI = 18

Van der Grinten I.

eProjVanDerGrintenIV = 31

Van der Grinten IV.

eProjWagnerIV = 53

Вагнера IV.
eProjWagnerV = 54

Вагнера V.
eProjWagnerVI = 20 | Вагнера VI.
eProjWinkelI = 56 | Винкеля I.

eProjWinkelTripel = 25

Винкеля тройная.


eSaveOption enum

Набор констант, определяющих опции записи документа при закрытии.

См. метод Quit объекта Zulu.

Входит в состав библиотеки ZuluGIS 2021 Application.

Константа

Описание

eSavePrompt = 0

(По умолчанию) Выдавать сообщение о сохранении изменений, если документ был изменен.

eSaveAll = 1

Сохранять изменения.

eSaveNone = 2

НЕ сохранять изменений.


eSerialBaudRate enum

Константы, задающие скорость обмена данными с СОМ-портом.

См. свойство BaudRate объекта ZGps.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eCBR_110 = 110

Скорость 110.

eCBR_300 = 300

Скорость 300.

eCBR_600 = 600

Скорость 600.

eCBR_1200 = 1200

Скорость 1200.

eCBR_2400 = 2400

Скорость 2400.

eCBR_4800 = 4800

Скорость 4800.

eCBR_9600 = 9600

Скорость 9600.

eCBR_14400 = 14400

Скорость 14400.

eCBR_19200 = 19200

Скорость 19200.

eCBR_38400 = 38400

Скорость 38400.

eCBR_56000 = 56000

Скорость 56000.

eCBR_57600 = 57600

Скорость 57600.

eCBR_115200 = 115200

Скорость 115200.

eCBR_128000 = 128000

Скорость 128000.

eCBR_256000 = 256000

Скорость 256000.


eSerialByteSize enum

Константы, задающие количество бит в байте, используемых при обмене данными с СОМ-портом.

См. свойство ByteSize объекта ZGps.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eSerialByteSize5 = 5

Количество бит 5.

eSerialByteSize6 = 6

Количество бит 6.

eSerialByteSize7 = 7

Количество бит 7.

eSerialByteSize8 = 8

Количество бит 8.


eSerialParity enum

Константы, задающие выбор схемы контроля четности при обмене данными с СОМ-портом.

См. свойство Parity объекта ZGps.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eSerialParityNone = 0

Бит четности всегда отсутствует.

eSerialParityOdd = 1

Дополнение до нечетности.

eSerialParityEven = 2

Дополнение до четности.

eSerialParityMark = 3

Бит четности всегда 1.

eSerialParitySpace = 4

Бит четности всегда 0.


eSerialStopBits enum

Константы, задающие количество стоповых битов при обмене данными с СОМ-портом.

См. свойство StopBits объекта ZGps.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eSerialStopBitsOne = 0

Используется один стоповый бит.

eSerialStopBitsOne5 = 1

Используются 1.5 стоповых бита.

eSerialStopBitsTwo = 2

Используются два стоповых бита.


eStyleElemType enum

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

Входит в состав ZuluGIS 2021 Library.


eSwitchState enum

Константы, определяющие состояние проводимости элемента сети.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eSwitchOn = 0

Открыт

eSwitchOff = 1

Закрыт

eSwitchForwardOn = 2

Открыт в прямом направлении

eSwitchForwardOff = 3

Закрыт в прямом направлении

eSwitchBreak = 4

Все участки, связанные с узлом разъединены

eSwitchNotWork = 5

Не работает (включен, но не может переключаться)

eSwitchUndefined = -1

Состояние не определено


eThemeField enum

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

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eThemeBorderColor = 8

Цвет границы площадного объекта.

eThemeBorderPrintWidth = 25

Толщина границы площадного объекта при печати.

eThemeBorderStyle = 9

Стиль границы площадного объекта.

eThemeBorderWidth = 10

Толщина границы площадного объекта.

eThemeFillColor = 4

Цвет фона площадного объекта.

eThemeFillStyle = 6

Стиль заливки площадного объекта.

eThemeFillTransparency = 7

Признак отображения фона площадного объекта.

eThemeFillTransparent = 26

Степень прозрачности заливки площадного объекта.

eThemeFont = 11

Шрифт текстового объекта (IFontDisp).

eThemeFontBold = 15

Шрифт жирный.

eThemeFontCharset = 19

Символьный набор шрифта.

eThemeFontColor = 12

Цвет текстового объекта.

eThemeFontItalic = 16

Курсив.

eThemeFontName = 13

Название шрифта.

eThemeFontSize = 14

Зарезервирован.

eThemeFontStrikeThrough = 18

Шрифт перечеркнут.

eThemeFontUnderline = 17

Шрифт подчеркнут.

eThemeInvisible = 23

Объект невидимый.

eThemeLabelInvisible = 29

Бирка невидима.

eThemeLineColor = 1

Цвет линии.

eThemeLinePrintWidth = 24

Толщина линии при печати.

eThemeLineStyle = 2

Стиль линии.

eThemeLineWidth = 3

Толщина линии.

eThemeNone = 0

Параметр отсутствует.

eThemePatColor = 5

Цвет узора площадного объекта.

eThemeSquareSymbol = 20

ID символа для площадного объекта.

eThemeSquareSymbolFixScale = 28

При масштабировании увеличивать не больше заданного размера.

eThemeSquareSymbolScalable = 27

Признак масштабируемости символа.

eThemeSquareSymbolSize = 31

Задает размер символа для площадного объекта.

eThemeSquareSymbolX = 34

Координата X места вывода символа.

eThemeSquareSymbolY = 35

Координата Y места вывода символа.

eThemeSymbol = 20

ID символа.

eThemeSymbolColor = 21

Зарезервирован.

eThemeSymbolFixScale = 28

Фиксированный масштаб вывода символа.

eThemeSymbolScalable = 27

Признак масштабируемости символа.

eThemeSymbolSize = 22

Размер типового символа.


eTileModel enum

Набор констант, определяющих тип модели тайловой системы, являющийся одним из параметров описателя тайлового слоя. Задается и получается методами GetModel и SetModel объекта TileLayerDef.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eTileModelUndefined = 0

Модель не определена.

eTileModelXYZ = 1

Модель XYZ.

eTileModelBing = 2

Модель Bing.

eTileModelOpenStreetMap = 3

Модель проекта OpenStreetMap (OSM).

eTileModelYahoo = 4

Модель Yahoo.

eTileModelSASPlanet = 5

Модель кэша программы SAS.Планета.

eTileModelZuluServer = 6

Подключение данных через ZuluServer.

eTileModelRoskismos = 7

Модель данных гео-портала Роскосмос.

eTileModelNavitel = 8

Модель данных сайта Navitel.

eTileModelMapsForFree = 9

Модель данных сайта MapsForFree.

eTileModelWikimapia = 10

Модель данных сайта Wikimapia.

eTileModelZuluMap = 11

Подключение карты Zulu (zmp) как источник плиток.


eUnits enum

Набор констант, определяющих единицы хранения координат графических данных в системе.

Входит в состав ZuluGIS 2021 Library.

Константа

Описание

eUnitCentimetre = 0

Сантиметры.

eUnitDegree = 3

Градусы.

eUnitKilometre = 2

Километры.

eUnitMetre = 1

Метры.

eUnitPixel = 4

Пикселы.


eUserReaction enum

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

Входит в состав ZuluGIS 2021 Library.


eWindowState enum

Набор констант, определяющий состояние окна Zulu.

См. свойство WindowState объекта Window.

Входит в состав библиотеки ZuluGIS 2021 Application.

Константа

Описание

eWindowStateNormal = 0

Окно в обычном состоянии (не минимизировано, на максимизировано).

eWindowStateMinimize = 1

Окно минимизировано (свернуто).

eWindowStateMaximize = 2

Окно на весь экран (развернуто в максимальный размер).

eWindowStateRolled = 3

Окно свернуто и выглядит в виде плавающего заголовка.


eWindowType enum

Набор констант, определяющих тип окон приложения Zulu.

См. свойство WindowType объекта Window.

Входит в состав библиотеки ZuluGIS 2021 Application.

Константа

Описание

eWindowOther = 0

Прочее окно системы (не главное, не документ).

eWindowDocument = 1

Окно документа. Свойство Document возвращает ссылку на документ.

eWindowMain = 2

Главное окно приложения.

eWindowOutput = 3

Окно «Сообщения».

eWindowWorkspace = 4

Окно «Рабочее место».

eWindowProperties = 5

Окно «Свойства».

eWindowAerial = 6

Окно «Навигатор».

eWindowBookmarks = 7

Окно «Закладки».

eWindowLayouts = 8

Окно «Макеты».

eWindowBrowser = 9

Окно браузера базы данных.


eZuluEvents enum

Набор констант, определяющих событие, возникающее в системе Zulu. Модули расширения (плагины) могут обрабатывать эти события через механизм OnZuluEvent.

Входит в состав библиотеки ZuluGIS 2021 Application.

Общие события:

Константа

Описание

evIdle = 0x09

Возникает в момент бездействия системы (ожидание ввода). (Зарезервировано)

События от документов:

Константа

Описание

evDocActivate = 0x13

Окно документа становится активным.

evDocClose = 0x12

Возникает непосредственно перед закрытием документа.

evDocDeactivate = 0x14

Окно документа становится неактивным.

evDocNew = 0x10

Возникает при создании нового документа.

evDocOpen = 0x11

Возникает при открытии существующего документа.

События от объекта карты:

Константа

Описание

evMapAfterLayerRemoved = 0x10043

Возникает после того, как слой удален из карты.

evMapBeforeLayerAdd = 0x10044

Возникает перед тем, как слой будет добавлен в карту.

evMapBookmarksChanged = 0x10038

Возникает при изменении закладок в карте.

evMapCurIDChanged = 0x10030

Возникает при изменении текущего выделенного элемента на карте.

evMapElementsChanged = 0x10036

Возникает при изменении объекта(ов) в режиме редактирования.

evMapLabelStateChanged = 0x00010049

Возникает когда меняется состояние отображения бирок в карте.

evMapLayerActivate = 0x10022

Возникает когда в карте сменяется текущий активный слой.

evMapLayerAdded = 0x10020

Возникает при добавлении слоя в карту.

evMapLayerCompositionChanged = 0x10033

Возникает при изменении порядка следования слоев в карте.

evMapLayerRemoved = 0x10021

Возникает при удалении слоя из карты.

evMapLayerVisibilityChanged = 0x10045

Возникает при изменении отображения слоя в карте.

evMapModeChanged = 0x10032

Возникает при изменении текущего пользовательского режима в карте.

evMapModeVisibilityChanged = 0x10046

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

evMapNetworkRecalc = 0x10040

Возникает при изменении состояния логической сети данного слоя.

evMapObjectSelect = 0x10031

Возникает при выделении текущего элемента на карте.

evMapPathChanged = 0x10039

Возникает при изменении пути к файлу карты.

evMapSelChanged = 0x10042

Возникает при изменении состава выделенных элементов (группы).

evMapThemeStateChanged = 0x00010050

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

События от окна карты:

Константа

Описание

evMapAfterDraw = 0x10001

Возникает при перерисовке карты в окне после окончания прорисовки всей картографической информации.

evMapAfterLayerDraw = 0x10034

Возникает при обновлении окна карты после прорисовки отдельного слоя.

evMapAfterPaint = 0x10002

Возникает после смены изображения в окне карты.

evMapBeforeDraw = 0x10037

Возникает непосредственно перед началом перерисовки в окне карты.

evMapBeforeLayerDraw = 0x10035

Возникает непосредственно перед началом прорисовки конкретного слоя в окне карты.

evMapBeforeScaleChange = 0x10047

Возникает при попытке изменить масштаб отображения в окне карты.

evMapKeyChar = 0x10018

Возникает при нажатии на клавишу клавиатуры, соответствующей букве или цифре.

evMapKeyDown = 0x10016

Возникает при нажатии на клавишу клавиатуры в окне карты.

evMapKeyUp = 0x10017

Возникает при отпускании клавиши на клавиатуре в окне карты.

evMapLButtonDblClk = 0x10012

Возникает при двойном нажатии левой кнопки мыши в окне карты.

evMapLButtonDown = 0x10010

Возникает при нажатии левой кнопки мыши в окне карты.

evMapLButtonUp = 0x10011

Возникает при отпускании левой кнопки мыши в окне карты.

evMapMouseMove = 0x10015

Возникает при перемещении курсора мыши в окне карты.

evMapMouseWheel = 0x10041

Возникает при вращении колесика мыши в окне карты. (Зарезервировано)

evMapRButtonDown = 0x10013

Возникает при нажатии правой кнопки мыши в окне карты.

evMapRButtonUp = 0x10014

Возникает при отпускании правой кнопки мыши в окне карты.

evMapScaleChanged = 0x10048

Возникает при изменении масштаба отображения в окне карты.

События от слоя:

Константа

Описание

evLayerBaseChanged = 0x00020004

Возникает при изменении описателя базы данных слоя.

evLayerLabelsChanged = 0x00020002

Возникает при изменении состояния бирок у слоя.

evLayerStructChanged = 0x00020003

Возникает при изменении структуры слоя.

evLayerThemesChanged = 0x00020001

Возникает при изменении состояния той или иной темы у слоя.

События от проекта:

Константа

Описание

evProjectClose = 0x21

Возникает при закрытии проекта.

evProjectOpen = 0x20

Возникает при открытии проекта.

События от браузера базы данных:

Константа

Описание

evBrowserAfterCustomBrowse = 0x30004

Возникает при обработке нажатия на кнопку «многоточие» у поля на странице «Текущая запись» после того, как выполнились основные обработчики.

evBrowserCustomBrowse = 0x30003

Возникает при нажатии кнопки «многоточие» у поля на странице «Текущая запись», имеющего специальные теги custombrowseobject, custombrowsemethod.

evBrowserRecordChanged = 0x30001

Возникает при изменении (добавлении, удалении) записи в браузере базы данных.


zbBlobRemoveOptions enum

Константы, определяющие опции при удалении данных из объекта IZbBlob.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbBlobRemoveLinkOnly = 1

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

zbBlobRemoveLinkedFile = 2

При удалении элемента-ссылки из галереи, удалять также и файл, на который она ссылается.


zbBlobSetContentOptions enum

Константы, задающие опции при добавлении или изменении данных в объекте IZbBlob.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbBlobContentFromFile = 1

Данные должны быть загружены из файла.

zbBlobFileLink = 2

Указывает, что при добавлении элемента в галерею должна быть добавлена ссылка на файл.


zbBookType enum

Константы, определяющие тип справочника семантической базы данных.

См. свойство BookType объекта IZbBookInfo.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbbtVisualQuery = 1

Справочник через запрос.

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

zbbtSimple = 2

Простой справочник.

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


zbBrowserCmdState enum

Константы, определяющие состояние команды браузера.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbCmdDisabled = 0

Команда недоступна (кнопка «серая»).

zbCmdEnabled = 1

Команда доступна.

zbCmdActive = 2

Команда активна (кнопка нажата).


zbBrowserCommands enum

Перечень кодов команд, выполняемых браузером.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbCmdMoveFirst = 1

Перейти на первую запись.

zbCmdMovePrev = 2

Переход на предыдущую запись

zbCmdMoveNext = 3

Переход на следующую запись

zbCmdMoveLast = 4

Переход на последнюю запись

zbCmdRunQuery = 5

Запуск запроса на выполнение

zbCmdShowOnMap = 6

Показать на карте

zbCmdBlank = 7

Очистка полей

zbCmdUpdateRec = 8

Обновить запись

zbCmdAppendRec = 9

Добавить запись

zbCmdDeleteRec = 10

Удалить запись

zbCmdSaveAnswer = 11

Сохранить запрос

zbCmdGroupMode = 12

Режим фильтра по группе

zbCmdAutoShowMode = 13

Автоматический показ на карте

zbCmdDeleteQuery = 15

Удалить запрос


zbBrowserCmdState enum

zbCmdExportToExcel

экспорт в Excel.


zbDataFieldFilter enum

Константы, задающие фильтр полей набора данных. Используется в методе GetDataFields для доступа к полям набора данных.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbDataFieldDefault = 0

Формирует список полей по умолчанию. Будут включены все поля запроса плюс поле связи с картой (если оно не добавлено среди полей запроса).

zbDataFieldSys = 1

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

zbDataFieldKey = 2

Включить в список полей ключевые поля базовой таблицы

zbDataFieldVisible = 4

Включить в список поля, которые пользователь включил в запрос.

zbDataFieldDefer = 8

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


zbDateFormat enum

Константы, определяющие представление данных типа дата/время в текстовом файле.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbdfDateMI = 0

Дата в формате MapInfo.

zbdfDateTimeMask = 1

Формат даты описывается строкой маски, либо в поле DateMask структуры zbAsciiInfo, либо свойством DateMask объекта ZbAsciiFormat.


zbDelimeterType enum

Константы, определяющие ограничитель строковых полей в текстовом файле.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbDelimDefault = 0

Использовать ограничитель по умолчанию.

zbDelimNone = 1

Нет ограничителя.

zbDelimSingle = 2

Ограничитель - одинарные кавычки.

zbDelimDouble = 3

Ограничитель - двойные кавычки.


zbErrCode enum

Коды ошибок. Возвращаются свойством LastError объекта ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbErrNone = 0

Нет ошибки.

zbErrBDE = 1

Ошибка BDE.

zbErrGeneric = 0x2000

Неопределенная ошибка.

zbErrOutOfMemory = 0x2001

Не хватает памяти.

zbErrInconsistentParams = 0x2002

Несоответствие параметров.

zbErrNotImpl = 0x2003

Операция не реализована.

zbErrInvalidParam = 0x2004

Неправильный параметр.

zbErrBadIndex = 0x2005

Индекс выходит за границы диапазона.

zbErrBadModule = 0x2006

Модуль API отсутствует или имеет несовместимую версию.

zbErrFileOpen = 0x2007

Не удалось открыть файл.

zbErrFileSave = 0x2008

Не удалось сохранить файл.

zbErrDataXlat = 0x2009

Ошибка преобразования данных.

zbErrQueryCompile = 0x2100

Ошибка компиляции запроса.

zbErrExprIncomplete = 0x2101

Выражение не закончено.

zbErrParenthExpected = 0x2102

Ожидается скобка ')'.

zbErrFieldNickExpected = 0x2103

Ожидается псевдоним поля (Fnn).

zbErrInvalidFieldNick = 0x2104

Неправильный псевдоним поля (Fnn).

zbErrUnrecognizedSyntax = 0x2105

Не распознанный синтаксис.

zbErrNumberExpected = 0x2106

Ожидается численное выражение.

zbErrInvalidFieldList = 0x2107

Неправильно сформирован список полей.

zbErrInvalidValueList = 0x2108

Неправильно сформирован список значений.

zbErrBadExpression = 0x2109

Неправильно сформировано выражение.

zbErrBadUseChangeTo = 0x210A

Неправильное использование операторa CHANGETO.

zbErrSqlCompileFail = 0x210B

Не удается сформировать SQL запрос.

zbErrSqlIncoherent = 0x210C

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

zbErrSqlMixedConn = 0x210D

Не допускается использование в запросе таблиц из разных источников ADO или совместно из источников ADO и BDE.

zbErrBaseFldReq = 0x2200

Для операции требуется заданное поле связи с картой.

zbErrQueryExecute = 0x2201

Не выполнить запрос.

zbErrUpdateData = 0x2202

Не удалось обновить данные.

zbErrZbOpen = 0x2203

Не удалось открыть базу данных.

zbErrZbStruct = 0x2204

Структура базы данных не совместима с требуемой для данной операции.

zbErrDataAccess = 0x2205

Ошибка доступа к данным.

zbErrFieldNotFound = 0x2206

Указанного поля нет в таблице.

zbErrWrongField = 0x2207

Поле не может быть использовано для этой операции.

zbErrNameIsNotUnique = 0x2208

Другой объект с таким же именем уже существует.

zbErrObjectIsNotUnique = 0x2209

Другой объект идентичный данному уже существует.

zbErrItemNotFound = 0x220A

Элемент не найден.

zbErrNoActiveQuery = 0x220B

Для операции требуется установленный активный запрос.

zbErrNoSpatialData = 0x220C

Для операции требуются пространственные данные.

zbErrConnFail = 0x220D

Не удалось соединиться с источником данных.

zbErrSrvConn = 0x2300

Не удалось установить соединение в сервером ZuluServer.

zbErrSrvRequest = 0x2301

Запрос к серверу ZuluServer не выполнен.

zbErrSrvBadUrl = 0x2302

Неверно заданный URL.


zbFieldSourceType enum

Константы, определяющие тип источника, откуда взято поле запроса.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbfsTableRef = 0

Поле взято из таблицы.

zbfsQueryRef = 2

Поле взято из справочника или подзапроса.


zbFieldType enum

Константы, определяющие тип данных поля. Используется для свойства Type объектов IZbFieldDef, IZbFieldInfo, а также свойства FieldType объекта ZbTableDef.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Тип данных

zbftUnknown = 0

Неизвестный или неопределенный тип.

zbftString = 1

Текстовый (строка ASCII).

zbftSmallint = 2

Короткое целое.

zbftInteger = 3

Целое число.

zbftWord = 4

Слово (беззнаковое короткое целое).

zbftBoolean = 5

Логический.

zbftFloat = 6

Число с плавающей точкой.

zbftCurrency = 7

Денежный.

zbftBCD = 8

Двоично-десятичный.

zbftDate = 9

Дата.

zbftTime = 10

Время.

zbftDateTime = 11

Дата / время.

zbftBytes = 12

Последовательность байт (BLOB).

zbftVarBytes = 13

Последовательность байт (BLOB) переменной длины.

zbftAutoInc = 14

Счетчик.

zbftBlob = 15

Двоичные данные (BLOB).

zbftMemo = 16

Текстовый (MEMO).

zbftGraphic = 17

Двоичные данные (BLOB), графика.

zbftFmtMemo = 18

Форматированный текст (MEMO).

zbftParadoxOle = 19

Двоичные данные Paradox (BLOB).

zbftDBaseOle = 20

Двоичные данные dBase (BLOB).

zbftTypedBinary = 21

Типизированные двоичные данные.

zbftCursor = 22

Возвращаемый курсор хранимых процедур Oracle.

zbftFixedChar = 23

Текстовый фиксированной длины.

zbftWideString = 24

Текстовый (строка UNICODE).

zbftLargeint = 25

Длинное целое.

zbftADT = 26

Абстрактный тип данных.

zbftArray = 27

Массив.

zbftDataset = 28

Набор записей.

zbftReference = 29

Ссылка.


zbFormType enum

Константы, определяющие тип формы браузера базы данных.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbFormStd = 1

Стандартная форма для запроса.

zbFormSimple = 2

Простая пользовательская форма.


zbJoinOptions enum

Зарезервировано.


zbFieldType enum

Константы, определяющие код фильтра ключей.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbKeyFilterNone = 0

zbKeyFilterContent = 1

zbKeyFilterSelection = 2

zbKeyFilterGeometry = 3


zbKeyOptions enum

Константы, определяющие способ задания набора ключей.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbkoTextFile = 0

Набор ключей задан текстовым файлом.

zbkoBinaryFile = 1

Набор ключей задан бинарным файлом.

zbkoStrings = 2

Набор ключей задан строкой, где значения разделены символом ASCII 10

zbkoKeyFilter = 3

Набор ключей задан фильтром ключей.


zbLinkType enum

Константы, определяющие тип связи между полями таблиц. Смотрите свойство Type объекта IZbLinkInfo.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbLinkOneToOne = 0

Связь один-к-одному.

Соответствует INNER JOIN в терминах SQL.

zbLinkManyToOne = 1

Cвязь много-к-одному.

Соответствует LEFT JOIN в терминах SQL.

zbLinkOneToMany = 2

Cвязь один-ко-многим.

Соответствует RIGHT JOIN в терминах SQL.


zbLoginType enum

Константы, описывающий способ авторизации при соединении с СУБД. См. свойство LoginType объекта ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbLoginDefault = 0

Использовать авторизацию, заданную в источнике данных.

zbLoginForceNameAndPswd = 1

Изпользовать заданные логин и пароль.


zbNameType enum

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

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbShortName = 0

Короткое имя.

zbFullName = 1

Полное имя.

zbUserName = 2

Пользовательское название.

zbNickName = 3

Псевдоним.

zbModelName = 4

Имя в модели данных.


zbOperation enum


zbQueryRefType enum

Константы, определяющие тип подзапроса.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbqrQuery = 1

В качестве подзапроса включен другой запрос.

zbqrBook = 2

В качестве подзапроса включен справочник.


zbQueryResultType enum

Константы, определяющие тип результата запроса по образцу.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbQuerySelect = 1

Запрос на выборку.

zbQuerySelectStat = 2

Запрос на выборку агрегатных значений (MAX, MIN, COUNT, SUM и т.п.)

zbQueryUpdate = 3

Запрос на обновление.


zbQueryType enum

Константы, определяющие тип запроса. См. свойство QueryType объекта IZbQueryInfo.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbqtVisualQuery = 1

визуальный запрос Zulu.

zbqtSqlQuery = 2

зарезервировано.


zbQuestionsResolving enum

Константы, определяющие способ продолжения операции при отказе пользователя выводить вопросы на экран. См. свойство QuestionsResolving объекта ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbqrOptimistic = 0

продолжение операции.

zbqrPessimistic = 1

возврат с ошибкой.


zbSeparatorType enum

Константы, определяющие разделитель полей в текстовом файле.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbSepDefault = 0

Использовать разделитель по умолчанию.

zbSepComma = 1

Разделитель - запятая.

zbSepSemicolon = 2

Разделитель - точка с запятой.

zbSepTab = 3

Разделитель - знак табуляции.

zbSepSpace = 3

Разделитель - пробел.


zbSortMode enum

Константы, определяющие порядок сортировки записей.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbSortNone = 0

нет сортировки.

zbSortAsc = 1

сортировка по возрастанию.

zbSortDesc = 2

сортировка по убыванию.


zbSourceType enum

Константы, определяющие тип источника таблиц.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbstBDEAlias = 1

Источник - псевдоним BDE.

zbstFolderAlias = 2

Источник - локальная папка.

zbstDSNAlias = 3

Источник - ODBC DSN.

zbstADOConnection = 4

Источник - соединение ADO(OLE DB).

zbstAccess = 5

Источник - база данных Microsoft Access.

zbstSQLLocalDb = 6

Источник - база данных SQL Server Express LocalDB.

zbstSQLite = 8

Источник - база данных SQLite.


zbStdBrowserPages enum

Константы, определяющие закладки стандартного браузера баз данных Zulu (элемент ZbStdBrowser).

Используются в свойстве ActivePage и методе SetVisiblePages элемента ZbStdBrowser.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbBroPageRecord = 1

закладка Текущая запись.

zbBroPageQuery = 2

закладка Запрос.

zbBroPageBase = 4

закладка База.

zbBroPageAnswer = 8

закладка Ответ.


zbTableType enum

Константы, определяющие типы исходных таблиц. См. свойство TableType объекта IZbTableInfo.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbttUnknown = 0

Тип таблицы не определен.

zbttParadox = 1

Таблица Paradox.

zbttDBase = 2

Таблица dBase.

zbttFoxPro = 3

Таблица FoxPro.

zbttAscii = 4

ASCII файл.

zbttAccess = 5

Таблица базы данных Microsoft Access.

zbttMSSQL = 6

Таблица Microsoft SQL Server.

zbttOracle = 7

Таблица Oracle.


zbUseService enum

Константы, определяющие сервис, через который получены данные.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbUseBDE = 1

Используется BDE.

zbUseADO = 2

Используется ADO.

zbUseOther = 3

Другой сервис (напр. данные от ZuluServer).


zbWarnLevel enum

Константы, определяющие уровень подробности в сообщениях об ошибках.

Используются для свойства WarnLevel объекта ZbDatabase.

Входит в состав ZuluGIS 2021 Database Connection Library.

Константа

Описание

zbwlQuiet = 0

не выдавать никаких сообщений.

zbwlErrors = 1

выдавать только сообщения об ошибках.

zbwlWarnings = 2

выдавать сообщения об ошибках и предупреждения (зарезервировано).

zbwlQuestions = 3

выдавать сообщения об ошибках, предупреждения и вопросы (зарезервировано)ю


zlOpenFileFilters enum

zlofLayerAny

zlofMap

zlofProject

zlofZb

zlofZlb

zlofZtm