Возвращает ключи выделенных объектов слоя, записанных в файл.
Visual Basic:
Function GetSelection() As String
Ключи выделенных объектов могут быть использованы для выполнения пользователем запроса к базе данных.
Метод создает временный ASCII файл, содержащий ключи объектов данного слоя (каждый ключ на своей строке), которые входят в группу выделенных объектов, и возвращает имя этого файла.
После использования файл должен быть уничтожен приложением пользователя: при закрытии слоя он остается на диске. Каждый вызов создает новый файл, а если в слое ничего не выделено, файл создается пустым.
В случае неудачи возникает исключение с одним из следующих кодов:
Код
Описание
262
Ошибка создания/записи файла.
Visual Basic:
Sub Layer_GetSelection 'Берем активный слой карты Set L = Zulu.ActiveMapDoc.Layers.Active 'Выделяем три объекта L.Selection.Clear L.Selection.AddElem 2 L.Selection.AddElem 20 L.Selection.AddElem 26 'Получаем файл с ключами и читаем его Name = L.GetSelection Set FSO = CreateObject("Scripting.FileSystemObject") Set F = FSO.OpenTextFile(Name, 1) S = "Файл: " & Name Do While Not F.AtEndOfStream S = S & vbCrLf & "ключ " & F.ReadLine Loop F.Close 'Файл удаляем сами FSO.DeleteFile Name MsgBox S End SubPython:
import zulu, io, os def Macro_Layer_GetSelection(): # Берем активный слой карты L = zulu.App.ActiveMapDoc.Layers.Active # Выделяем три объекта L.Selection.Clear() for key in (2, 20, 26): L.Selection.AddElem(key) # Получаем файл с ключами и читаем его name = L.GetSelection() print("Файл:", name) for line in io.open(name, encoding="cp1251"): print("ключ", line.strip()) # Файл удаляем сами os.remove(name)