Перейти к содержанию

WriteValueInTable

WriteValueInTable01

WriteValueInTable (Записать в таблицу) - Сохраняет заданное значение в определенной строке таблицы.

Свойства

Входной аргумент Тип аргумента Тип переменной Описание
Table Constant Table Таблица результатов, в которую будет происходить запись
ColumnIndex Constant Int32 Индекс колонки из таблицы, куда будет производиться запись
RowIndex Constant Int32 Индекс строки из таблицы, куда будет производиться запись
Value Constant Object Записываемое значение

Пример

Рассмотрим работу блока на следующем примере. Заполним таблицу результатов случайными данными. Затем в каждую вторую строку таблицы запишем установленное значение.

WriteValueInTable02

Начнём работу с создания переменных:

  • RandomArray - тип Double, массив.
  • TimeStamps - тип DateTime, массив.
  • now - тип DateTime.
  • i - тип Int32.

WriteValueInTable03

Теперь создадим таблицу WriteValueInTable с тремя колонками value (Double), time (DateTime), i (Int32).

WriteValueInTable04

Вернёмся на холст с программой.

Создададим массив из 10 случайных чисел в диапазоне от -100 до 100 с помощью блока RandomArray.

WriteValueInTable05

Далее, создадим массив из 10 временных штампов с шагом в 1 день, начиная с 1 декабря 2020 года. Для этого используем блок GenerateTimeStamps.

WriteValueInTable06

С помощью блока AddTAbleRows запишем полученные значения в колонки value и time таблицы WriteValueInTable. Колонку i пока заполнять не будем.

WriteValueInTable07

На этом мы закончили подготовительный этап. Теперь перейдём к записи нужных нам значений в таблицу.

Составим цикл. Условие зададим через Expression i<10 блока If-Else.

WriteValueInTable08

Протянем связь из выхода True блока If-Else до входа DateTime. В этом блоке запишем текущие значения времени/даты в переменную now.

WriteValueInTable09

Теперь запишем полученное значение переменной now в колонку time с помощью первого блока WriteValueInTable.

WriteValueInTable10

Во втором блоке WriteValueInTable запишем текущий шаг цикла (i) в колонку i.

WriteValueInTable11

Увеличим счётчик цикла в блоке SetVariable. Так как мы хотим изменять не каждое значение в таблице, а только каждое второе, увеличим иттератор на 2 через Expression i=i+2 .

WriteValueInTable12

Добавим задержку в 1 секунду для большей визуальной наглядности и завершим цикл.

WriteValueInTable13

Назначим данную программу главной в проекте и запустим его.

Подождём завершения работы программы и перейдём на панель Запуски. Здесь найдём таблицу WriteValueInTable и посмотрим сохранённые значения.

WriteValueInTable14

Как видно на рисунке выше, каждое второе значение колонки time содержит текущее время со сдвигом в 1 секунду, и эти же строчки содержат номер итеррации в колонке i. Всё работает, как и было запланировано.