AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2014, 16:36   #1  
at5454 is offline
at5454
Участник
 
61 / 10 (1) +
Регистрация: 29.05.2014
Проверка есть ли переменная среди значение контейнера
Здравствуйте! Вот допустим есть у меня контейнер. там определенные значение лежат.
Пробегая циклом я хочу проверять есть ли текущее значение counter среди значений контейнера, если есть то выводить сообщение.
Там где стоят знаки вопроса я не знаю как сравнить counter со значениями контейнера. Я пришел из SQL поэтому хотел написать "where counter in " но не получилось.



static void Intro_For(Args _args)
{
Container names = [1, 5,8, 11];
Counter counter;
;
for (counter=1; counter in ????; counter++)
{
info(strFmt("%1", counter));
}
}
Старый 14.07.2014, 17:06   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,436 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от at5454 Посмотреть сообщение
Здравствуйте! Вот допустим есть у меня контейнер. там определенные значение лежат.
Пробегая циклом я хочу проверять есть ли текущее значение counter среди значений контейнера, если есть то выводить сообщение
Каша какая-то. Что такое текущее значение counter? Как меняется его значение? Монотонно от 1 и до чего?

Если нужно выводить только те значения, которые уже хранятся в контейнере, почему нельзя прочитать эти значения напрямую из контейнера, а не перебирать какой-то счетчик, ожидая его совпадения с нужным значением?

Опишите лучше реальную задачу, а то пример получился уж чересчур искусственным.
Старый 14.07.2014, 17:23   #4  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Если я правильно понял - нужно найти, входит ли заданное число в контейнер или нет. Я эту задачу реализовал так:
X++:
container  realVal = [20,21,22,23,43,44,46,47,48,50];
for(i=0;i<lastColumn;i++)
{
      if (confind(realval,i))
     {
        info(strFmt("emelent %1 fround in container", i));
    }
}
За это сообщение автора поблагодарили: at5454 (1).
Старый 14.07.2014, 20:13   #5  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от user_ax Посмотреть сообщение
Если я правильно понял - нужно найти, входит ли заданное число в контейнер или нет. Я эту задачу реализовал так:
X++:
container  realVal = [20,21,22,23,43,44,46,47,48,50];
for(i=0;i<lastColumn;i++)
{
      if (confind(realval,i))
     {
        info(strFmt("emelent %1 fround in container", i));
    }
}
Может быть в цикле лучше использовать conlen()?
А если тип данных одинаковый, то значит надо применять класс Array.
__________________
// no comments
Старый 15.07.2014, 07:37   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,436 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от dech Посмотреть сообщение
Может быть в цикле лучше использовать conlen()?
Чтобы при обходе контейнера не выйти за его границы? - Обязательно нужно.
Но нужно ли обходить контейнер? - Условия задачи мягко говоря не ясны.

Цитата:
Сообщение от dech Посмотреть сообщение
А если тип данных одинаковый, то значит надо применять класс Array.
Вполне возможно, что и Set подойдет. Все зависит от реальных условий задачи.

Последний раз редактировалось S.Kuskov; 15.07.2014 в 07:46.
Старый 15.07.2014, 09:46   #7  
at5454 is offline
at5454
Участник
 
61 / 10 (1) +
Регистрация: 29.05.2014
спасибо всем. очень помог совет USER_AX как раз именно то что я хотел
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как из лукапа получить значение kitty DAX: Программирование 5 24.04.2013 10:28
Установить следующее значение в номерной серии kitty DAX: Программирование 11 29.02.2008 16:34
Как при вводе новой записи установить значение поля по умолчанию Zman DAX: Программирование 3 17.01.2005 10:23
Есть ли возможность вызывать код с вышележащих слоев ? FishLog DAX: Программирование 5 07.09.2004 17:24
Есть ли возможность вызывать код с вышележащих слоев ? FishLog DAX: Программирование 0 07.09.2004 13:39

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:15.