WriteValueInTable
WriteValueInTable (Записать в таблицу) - Сохраняет заданное значение в определенной строке таблицы.
Свойства
Входной аргумент | Тип аргумента | Тип переменной | Описание |
---|---|---|---|
Table | Constant | Table | Таблица результатов, в которую будет происходить запись |
ColumnIndex | Constant | Int32 | Индекс колонки из таблицы, куда будет производиться запись |
RowIndex | Constant | Int32 | Индекс строки из таблицы, куда будет производиться запись |
Value | Constant | Object | Записываемое значение |
Пример
Рассмотрим работу блока на следующем примере. Заполним таблицу результатов случайными данными. Затем в каждую вторую строку таблицы запишем установленное значение.
Начнём работу с создания переменных:
- RandomArray - тип Double, массив.
- TimeStamps - тип DateTime, массив.
- now - тип DateTime.
- i - тип Int32.
Теперь создадим таблицу WriteValueInTable с тремя колонками value (Double), time (DateTime), i (Int32).
Вернёмся на холст с программой.
Создададим массив из 10 случайных чисел в диапазоне от -100 до 100 с помощью блока RandomArray.
Далее, создадим массив из 10 временных штампов с шагом в 1 день, начиная с 1 декабря 2020 года. Для этого используем блок GenerateTimeStamps.
С помощью блока AddTAbleRows запишем полученные значения в колонки value и time таблицы WriteValueInTable. Колонку i пока заполнять не будем.
На этом мы закончили подготовительный этап. Теперь перейдём к записи нужных нам значений в таблицу.
Составим цикл. Условие зададим через Expression i<10
блока If-Else.
Протянем связь из выхода True блока If-Else до входа DateTime. В этом блоке запишем текущие значения времени/даты в переменную now.
Теперь запишем полученное значение переменной now в колонку time с помощью первого блока WriteValueInTable.
Во втором блоке WriteValueInTable запишем текущий шаг цикла (i) в колонку i.
Увеличим счётчик цикла в блоке SetVariable. Так как мы хотим изменять не каждое значение в таблице, а только каждое второе, увеличим иттератор на 2 через Expression i=i+2
.
Добавим задержку в 1 секунду для большей визуальной наглядности и завершим цикл.
Назначим данную программу главной в проекте и запустим его.
Подождём завершения работы программы и перейдём на панель Запуски. Здесь найдём таблицу WriteValueInTable и посмотрим сохранённые значения.
Как видно на рисунке выше, каждое второе значение колонки time содержит текущее время со сдвигом в 1 секунду, и эти же строчки содержат номер итеррации в колонке i. Всё работает, как и было запланировано.