Как значения переменной вставить в обработку текста?

  • Автор темы Автор темы art22
  • Дата начала Дата начала

art22

Client
Регистрация
24.06.2016
Сообщения
521
Реакции
80
Баллы
28
Добрый день друзья. Как значения переменной вставить в обработку текста?

есть список, в нем одинаковые номера в начале. при обработке одинаковые номера надо в один ряд сделать через запятую. 11_док19.doc, 11_док15.doc, 11_док12.doc...
 
Добрый день друзья. Как значения переменной вставить в обработку текста?

есть список, в нем одинаковые номера в начале. при обработке одинаковые номера надо в один ряд сделать через запятую. 11_док19.doc, 11_док15.doc, 11_док12.doc...

upload_2018-8-6_15-48-38.png
 
  • Оценить
Реакции: cooki и art22
Немного не так поняли, в списке разные значения... в начале идет 4 цифры _ потом слова...Да и таким способом соединяет все что находиться в списке, а надо объединить только одинаковые числа в начале

смотрите скрин...
1) получаем первую строку
2) Удаляем все после 4 цифр (номер добавляем в новую переменную для сравнения.) основная переменная нам нужна для соединения через запятую
3) Сравниваем с номером который нам известен., если совпадает то записываем его.
4) удаляем данную строку.
5) запускаем по новой... пока не соберет все номера. после каждого цыкла надо чтобы через запятую они сохранились.

Потом определенные действия с данной переменной 11_док19.doc, 11_док15.doc, 11_док12.doc...

Затем все по новой....но будет работать другим номером...2222,3333...

п.с. сам смысл алгоритма, разослать несколько видов документов людям, одному человеку 2-4 документа...
 

Вложения

  • 111.jpg
    111.jpg
    81,7 KB · Просмотры: 28
Последнее редактирование:
Просто нужно, в одну переменную вставить несколько значении через запятую...
 
Пришлось создать еще один список, в список записать нужные данные и объединить их. Потом все сначала...

Жаль нет функции в обработке текста, объединить значения переменной, не пришлось лишние списки создавать
 
Или что то другое нужно?
Переменная одна, а в данном примере 2 переменной, если создать для каждого по 1 переменной они могут достигнуть до 8 переменных, а это геморой. и большой код...

А надо... получаем данные, сравниваем если совпадает записать через запятую.... если больше нет одинакового номера делаем действия....потом все по новой...

В парсере датакол называется статическое поле, собирает данные в одно поле для каждого товара...
 
Код:
Развернуть Свернуть Копировать
//  project.Variables["mylongvar"].Value;
string mylongvar = "11,22,33";
string[] arr = mylongvar.Split(',');
// что ищем project.Variables["elm"].Value;
string elm = "33";
// Признак добавления значения в переменную
bool isadded = false;
if (Array.IndexOf(arr, elm)<0) {
    mylongvar += ","+elm;
project.Variables["mylongvar"].Value = mylongvar;
    isadded = true;
}
return isadded;
 
Закоментированные строчки (2 слеша в начале) содержат ваши переменные, которые нужно переименовать и подставлять вместо "придуманных" значений. В настройках c# кубика поставить галку возвращать значение. Переменная isadded будет содержать признак добавления данных в вашу переменную.
Т.е. ваш код для C# кубика будет выглядеть приблизительно так:
Код:
Развернуть Свернуть Копировать
// Здесь ложим значение из вашей переменной,
// в переменную C#
string mylongvar = project.Variables["mylongvar"].Value;
// Разбиваем строку на массив по разделителю запятая ','
string[] arr = mylongvar.Split(',');
// что ищем 
string elm = project.Variables["elm"].Value;
// Признак добавления значения в переменную
bool isadded = false;
if (Array.IndexOf(arr, elm)<0) {
// если искомых данных нет, добавляем в конец переменной
    mylongvar += ","+elm;
// и сохраняем в перменной проекта новое значение
project.Variables["mylongvar"].Value = mylongvar;
    isadded = true;
}
return isadded;
И в зависимости от результата работы этого кубика, строить логику дальше. Если isadded == true, то можно отправлять почту (или что ли бо еще делать), если false, то переходим к проверке следующего куска данных.
 

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