Добрый день.
Столкнулся с такой проблемой, что необходимо конвертировать INT параметр в символ (в зависимости от числа 39 вариантов), среди которых есть пробел и точка, но МастерСкада не разрешает называть дочерние элементы перечисления " " и "."
Необходимо, чтобы при приходящем 0 в параметр отправлялся пробел, а при 37 отправлялась точка. Если сделать такие имена, то при компиляции выдается ошибка "Неуникальные названия элементов перечисления".
Если просто игнорировать 0 и 37, то они напрямую отправляются в параметр без преобразования или игнорирования
Есть ли вариант как-то вывести пробел и точку, или игнорировать 0 и 37?
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Библиотечный тип данных "перечисление"
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 06 мар 2024, 08:32
- Имя: Евгений
- Страна: Россия
- город/регион: Киров
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Библиотечный тип данных "перечисление"
Ответ "от балды". Создать скрипт, который с помощью switch-case или if-then сопоставит значения CHAR значениям INT и заполнить ими массив, где индекс = значению INT. Затем к этому массиву обращаться.
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 06 мар 2024, 08:32
- Имя: Евгений
- Страна: Россия
- город/регион: Киров
Библиотечный тип данных "перечисление"
Про case напрочь забыл, он даже лучше наверное будет. Оформлю как библиотечный элемент и буду вставлять везде, спасибо
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Библиотечный тип данных "перечисление"
Сам так делаю там, где есть непрямое сопоставление или сложное преобразование данных. Скрипт порой написать банально быстрее, если в вычислительных мощностях он не стесняет. Только внимательнее: не знаю как в мастер-скаде, а некоторый софт критичен к типу данных, используемых в качестве индекса массива - вместо INT может попросить SHORT. По факту увидите.
По вопросам работы Форума можно обратиться по этим контактам.
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Библиотечный тип данных "перечисление"
Точнее заполнить массив можно хоть вручную явно (38 строк всего написать), а обращаться к нему потом с помощью CASE SELECT или IF-THEN.
По вопросам работы Форума можно обратиться по этим контактам.