Счетчик переменной

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Всем привет
Нужна помощь:
У меня есть 39 однотипных переменных - допустим key1,2,3,4 и тд до 39
У них меняться должна только цифра в имени. В каждой переменной записывается свое название текста, соотв потом берется нужный текст и ставится на html страницу. Это детали уже)
Вопрос - как менять только цифру в имени переменной? 39 берется из списка, в зависимости от количества ключевых слов)
Судя по всему, штатными средствами это нельзя делать, только на с#. Как это сделать?
Предполагаю, что должно быть что-то такое
Variable.key + key_count

return это же значение - как-то так
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Переменные не для этого.
Используй таблицы, либо словари C#.
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Переменные не для этого.
Используй таблицы, либо словари C#.
Мне в таблицу нужно записать в итоге 100500 значений, тексты объемом больше 4к знаков. Это оч большой объем данных надо писать перед заполнением страницы. Проще найти способ для переключения
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
Мне в таблицу нужно записать в итоге 100500 значений, тексты объемом больше 4к знаков. Это оч большой объем данных надо писать перед заполнением страницы. Проще найти способ для переключения
Так 100500 или 39? Неактуальные строки можно удалить из таблицы.
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Так 100500 или 39? Неактуальные строки можно удалить из таблицы.
я вообщем говорю. О том, что будет много значений, примерно такого формата key1 - ssilka1 - text1 в трех столбцах разных и 39 строк в целом.

Вообще есть способ о котором я спрашивал ?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
я вообщем говорю. О том, что будет много значений, примерно такого формата key1 - ssilka1 - text1 в трех столбцах разных и 39 строк в целом.

Вообще есть способ о котором я спрашивал ?
используй таблицу. она идеально подходит для твоих целей.
key1 - столбец 0
ssilka1 - столбец 1
text1 - столбец 2

table.GetCell[0,counter] + table.GetCell[1,counter] + table.GetCell[2,counter]
вот твоя переменная и сформирована.

counter в цикле перебирай от 0 до 39
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
используй таблицу. она идеально подходит для твоих целей.
key1 - столбец 0
ssilka1 - столбец 1
text1 - столбец 2

table.GetCell[0,counter] + table.GetCell[1,counter] + table.GetCell[2,counter]
вот твоя переменная и сформирована.

counter в цикле перебирай от 0 до 39
Идея) Спасибо
 

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
C#:
var yourText = project.Variables["Ready_data"].Value;
project.Variables["key"].Value + project.Variables["counter"].Value = Macros.TextProcessing.Split(yourText,":","0").First();
project.Variables["ssilka"].Value + project.Variables["counter"].Value = Macros.TextProcessing.Split(yourText,":","1").First();
try {project.Variables["proxy"].Value = Macros.TextProcessing.Split(yourText,":","2").First();}
catch (Exception) {}
используй таблицу. она идеально подходит для твоих целей.
key1 - столбец 0
ssilka1 - столбец 1
text1 - столбец 2

table.GetCell[0,counter] + table.GetCell[1,counter] + table.GetCell[2,counter]
вот твоя переменная и сформирована.

counter в цикле перебирай от 0 до 39
Привет.

хотел попробовать так сделать, но не получилось, выдает ошибку:
Компиляция кода Ошибка в действии "CS0131" "Левая часть выражения присваивания должна быть переменной, свойством или индексатором". [Строка: 5; Cтолбец: 5]

Как ее можно исправить?

используй таблицу. она идеально подходит для твоих целей.
key1 - столбец 0
ssilka1 - столбец 1
text1 - столбец 2

table.GetCell[0,counter] + table.GetCell[1,counter] + table.GetCell[2,counter]
вот твоя переменная и сформирована.

counter в цикле перебирай от 0 до 39
Либо опишите поподробнее свой вариант решения
Я так понимаю, сначала надо выбрать из какой таблицы брать?
C#:
lock(SyncObjects.TableSyncer){

// берем первую строку с удалением и раскидываем значения по переменным
var row = project.Tables["Data"].GetRow(0).ToList();
//project.Tables["Data"].DeleteRow(0);

table.GetCell[0,counter] + table.GetCell[1,counter] + table.GetCell[2,counter];   

}

// тут что-то делаем с полученными из таблицы данными

// возвращаем строку в конец списка
lock(SyncObjects.TableSyncer){
project.Tables["Data"].AddRow(d+e);
}
Что-то такое должно получиться?
 
Последнее редактирование:

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
У меня есть 39 однотипных переменных - допустим key1,2,3,4 и тд до 39
У них меняться должна только цифра в имени.
Обычный способ:
Код:
{-Variable.key{-Variable.num-}-}
Через C#:
C#:
return project.Variables["key"+project.Variables["num"].Value].Value;
 

Вложения

artsmm

Client
Регистрация
03.10.2018
Сообщения
1 136
Благодарностей
196
Баллы
63
Обычный способ:
Код:
{-Variable.key{-Variable.num-}-}
Через C#:
C#:
return project.Variables["key"+project.Variables["num"].Value].Value;
Благодарю за помощь)

1) интересно - так я пробовал {-Variable.key{-Variable.num-}-} - у меня почему-то ошибка выдавалась. Походу в синтаксисе что-то напутал(
2) так еще нет return project.Variables["key"+project.Variables["num"].Value].Value;
попробую, спасибо)
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)