Как сделать? Обработка массива данных без "операции над списком"

kactetus

Client
Регистрация
02.01.2013
Сообщения
18
Благодарностей
1
Баллы
3
Привет кто знает как такое реализовать ?

есть папка в ней находятся файлы с данными по типу text1.txt, text2.txt, textN.txt и т.п.
через C# макрос создается массив данных для каждого файла textN, а теперь вопрос, как потом этот массив прогнать через цикл в projectmaker? Т.к. в projectmaker можно указывать только уже готовый массив, т.е. через "операции над списком" есть только выбор уже готового массива, который мы создали заранее.
А у меня получается, что массивы каждый раз разные.
 

mrstorm

Client
Регистрация
16.04.2015
Сообщения
205
Благодарностей
14
Баллы
18
а вы попробуйте с помощью экшена Операция над списком сделать привязку списка в новому файлу. Массив формируйте в фалй (новый или любой другой), а потом привязывайте к списку/таблице.
 

kactetus

Client
Регистрация
02.01.2013
Сообщения
18
Благодарностей
1
Баллы
3
так чтобы его привязать, надо его сначала создать в самом projectmakere. а у меня он будет создаваться в каждом потоке и будет уникальный файл.
 

mrstorm

Client
Регистрация
16.04.2015
Сообщения
205
Благодарностей
14
Баллы
18
так чтобы его привязать, надо его сначала создать в самом projectmakere. а у меня он будет создаваться в каждом потоке и будет уникальный файл.
Хм, не вижу проблем - создали - привязали - обработали. Если в каком то цикле проекта создается файл, то узнать его имя тоже не составит проблем. Если есть имя файла, то этот файл спокойно привязывается к таблице (списку) и далее обрабатывается.

Либо еще такой вариант - сделайте так сказать два захода - с начало создайте все эти уникальные файлы многопоточно, а потом во втором проекте - обработайте.
 

kactetus

Client
Регистрация
02.01.2013
Сообщения
18
Благодарностей
1
Баллы
3
Если есть имя файла, то этот файл спокойно привязывается к таблице (списку) и далее обрабатывается.
Ок, хорошо

1. вот есть "операции над списком" в нем я могу выбрать только уже созднанный список. как сделать по другому? Если не тяжело покажите на примере.
2. в C# коде создается переменная в которой будут строки, как тогда мне туда ее добавить ?
Либо еще такой вариант - сделайте так сказать два захода - с начало создайте все эти уникальные файлы многопоточно, а потом во втором проекте - обработайте.
не ну два захода это трата времени, хотелось бы за один
 
Последнее редактирование:

mrstorm

Client
Регистрация
16.04.2015
Сообщения
205
Благодарностей
14
Баллы
18
Ок, хорошо




1. вот есть "операции над списком" в нем я могу выбрать только уже созднанный список. как сделать по другому? Если не тяжело покажите на примере.
2. в C# коде создается переменная в которой будут строки, как тогда мне туда ее добавить ?
А зачем вам выбирать каждый раз новый список? Ведь можно к списку прикрепить новый файл и с ним работать!

А получить все файлы можно вот так:
3

Получается получили все файлы, сохранили адреса в список - далее открываем по циклу каждый файл, прикрепляем его к списку и обрабатываем данные.
 
  • Спасибо
Реакции: kactetus

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
var array = new String [] {"asdfasfd", "asdfasfd", "asdfasfd"}; //это реальный масив строк
var list = project.Lists["tmplist"]; //это реальный список в проекте, привязывать его нужно будет лишь в том случае если другим потокам тоже нужен доступ к этому списку
Array.ForEach(array, s=>list.Add(s)); //добавляем в зп-список все что есть в масиве
 
  • Спасибо
Реакции: Sanekk и kactetus

kactetus

Client
Регистрация
02.01.2013
Сообщения
18
Благодарностей
1
Баллы
3
mrstorm а конфликта между потоками не будет? т.е. в 1 потоке из text1.txt будет создаваться обработанный C# макросом tmp.txt из в него записываться, а 2 поток в возьмет text2.txt и обработает tmp.txt из text1.txt ?
привязывать его нужно будет лишь в том случае если другим потокам тоже нужен доступ к этому списку
привязывать к чему ?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
мне пока непонятно что в действительносты вы хотите сделать, но предположу что задача у вас такая:
есть некий файл textN.txt, который подгружается в список без изменнеий
есть шарп-макрос, который изменяет значения списка и дальше с этими данными идет работа в шаблоне
если так то вам нужен всего один список который будет загружать данные (без изменений) в шаблон
этот список будет изменен шарп-макросом и никаких других списков делать не нужно.
если логика другая, то напишите конкретно в чем отличие.
 

kactetus

Client
Регистрация
02.01.2013
Сообщения
18
Благодарностей
1
Баллы
3
есть папка с файлами. в ней находятся файлы с данными text1.txt, text2.txt, и т.д. до text1000.txt.
Каждый поток берет один файл *.txt (примерно так: поток №1 берет text1.txt, поток №2 берет text2.txt, следующие поток N берет файл textN.txt и т.д.), после этого с файлом ничего не делается, он просто переносится в другую папку. В C# макросе файл открывается и через regex и replace создается второй массив с данными (вот за него я имею ввиду, как с нимать продолжить работать) и делается вывод в переменную {-Variable.strokiFileList-} путем такой такой конструкции
Код:
return string.Join("\r\n", lines1);
, с данным массивом запросов мне уже надо проходить по различным сервисам.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
если работа со списками между потоками не пересекается то вобще не нужно подгружать их как списки, а сразу загружать файл в переменную и обрабатывать регулярками.
у вас в коде идет возврат текста.
 
  • Спасибо
Реакции: kactetus

kactetus

Client
Регистрация
02.01.2013
Сообщения
18
Благодарностей
1
Баллы
3
всем пасиб вопрос решил
 
Последнее редактирование:

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