Привет, задача есть таблица excel (0-10000 строк, ~ 25 столбцов) как из нее брать данные через функцию "Взять строку" "Под номером", что бы это работало в многопотоке(потоков будет не много 5-10)
при этом была возможность указать в входных настройках проекта с какой строки начинать работу и если не указал значение строки, то продолжать работу согласно последнего изменения глобальной переменной.( короче говоря надо что бы проект брал по порядку все 10000 строк начиная с нулевой и была возможность через входные настройки изменить старт не с 0-й, а 100-й строки)
Брать строку с удалением, и добавлением не подходит.
поиск по форуму навел на такой вариант:
Использование глобальной переменной как счетчика строк "Counter".
Как указать в входных настройках номер глобального счетчика не могу понять?
при этом была возможность указать в входных настройках проекта с какой строки начинать работу и если не указал значение строки, то продолжать работу согласно последнего изменения глобальной переменной.( короче говоря надо что бы проект брал по порядку все 10000 строк начиная с нулевой и была возможность через входные настройки изменить старт не с 0-й, а 100-й строки)
Брать строку с удалением, и добавлением не подходит.
поиск по форуму навел на такой вариант:
Использование глобальной переменной как счетчика строк "Counter".
Код:
var ns = "Google";
var varName = "Counter";
var defaultValue = 0;
lock(ZennoLab.OwnCode.CommonCode.SyncObject)
{
IGlobalVariable counter;
try
{
counter = project.GlobalVariables[ns, varName];
}
catch (KeyNotFoundException ex)
{
project.GlobalVariables.SetVariable(ns, varName, null);
counter = project.GlobalVariables[ns, varName];
}
if(counter.Value == null)
{
project.GlobalVariables.SetVariable(ns, varName, defaultValue);
}
else
{
var newValue = Convert.ToInt32(counter.Value.ToString()) + 1;
project.GlobalVariables.SetVariable(ns, varName, newValue);
}
project.Variables["LocalCounter"].Value = counter.Value.ToString();
}
return string.Empty;
Код:
var ns = "Google";
var varName = "Counter";
var defaultValue = 0;
lock(ZennoLab.OwnCode.CommonCode.SyncObject)
{
project.GlobalVariables.SetVariable(ns, varName, null);
}
project.Variables["LocalCounter"].Value = string.Empty;