Функция проверки принадлежности к списку

Материал из K3-Macro

INT InList(VARIANT <TestValue>, VARINAT <Value1>[, ...])

Функция проверяет, принадлежит ли значение <TestValue> заданному списку значений <Value1>[, ...] и возвращает 1, если принадлежит, и 0, если не принадлежит.

Тип значений <TestValue>, <Value1>[, ...] должен быть одинаковым: числовой, строковый или ссылка на объект. Значением <Value1>[, ...] могут быть и массивы, тогда каждый элемент массива входит в анализируемый список.

Примеры использования:

В качестве фильтра в команде SelByAttr.

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

SelByAttr "InList(FurnType,\"230100\",\"310500\",\"310100\",\"310400\",\"310300\")" partly :

тот же выбор но на языке python

Button2 py processed.png

Пример на языке python:

combined_attr_values=[
 '230100',
 '310500',
 '310100',
 '310400',
 '310300',]

result_string = "InList(FurnType,{})".format(','.join(chr(34) + elem + chr(34) for elem in combined_attr_values))
print(result_string)
k3.selbyattr(result_string, k3.k_partly, k3.k_interact)

Макро | Создание макропрограмм | Переменные и выражения | Вызов из ZIP | Типовые параметры | Создание геом. объектов | Буфер обмена | Сценарии | Параметрические библиотеки | Геометрические характеристики | Атрибуты | Структурные объекты | Текстовые файлы | Системные параметры | Работа с файлами | Редактирование объектов | Удаление объектов | Размеры | Штриховка | Объект «Текст» | Камера | Работа с видом | Наборы параметров | Запрос информации у пользователя | Фильтры | Слои | Графы | Универсальные плоские объекты | Функции работы с системой | Функции работы с объектами сцены | Работа с динамически подключаемыми библиотеками | Функции работы с массивами | Работа со строками | Математические функции | Работа с файлами DBF dBASE IV | Унифицированная работа с базами данных | Вычисление выражений | Присвоение имени объекту | Откатка и восстановление команд | Изменение режима трассировки макропрограмм | Вызов внешних приложений и задач | Проверка условия | Проверка типа переменной | Установка статуса вывода сообщений | Выдача системного сообщения | Выбор объектов | Версия системы | Информация о системе | Проверка принадлежности к списку | Помещение строки в буфер команд | Получение метапути | Установка курсора ожидания | Мебельные команды и функции для макропрограммирования‎