- Регистрация
- 04.08.2015
- Сообщения
- 283
- Благодарностей
- 111
- Баллы
- 43
Добрый день!
Помогите с кодом, чет не получается сделать весь.
Нужно к определенной переменной найти ближайшее совпадение в пределах +-50 в столбце таблицы(это получается), далее если данное совпадение найдено, то посмотреть по значению в найденной ячейке есть ли так же совпадение в пределах +- 50, если есть то продолжить поиск, если нету, то вывести номер последней найденной строки. Если вообще ничего нет, то просто выйти из кода.
Код с нахождением ближайшего совпадения(работает):
Код с поиском всех вхождений начиная с заданного значения(не работает):
Помогите с кодом, чет не получается сделать весь.
Нужно к определенной переменной найти ближайшее совпадение в пределах +-50 в столбце таблицы(это получается), далее если данное совпадение найдено, то посмотреть по значению в найденной ячейке есть ли так же совпадение в пределах +- 50, если есть то продолжить поиск, если нету, то вывести номер последней найденной строки. Если вообще ничего нет, то просто выйти из кода.
Код с нахождением ближайшего совпадения(работает):
Код:
// изначальное значение переменной для сравнения
var per = Convert.ToInt32(project.Variables["per1"].Value);
// получаем таблицу, в которой будем искать сравнения
var sourceTable = project.Tables["table1"];
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
for(int i=0; i < sourceTable.RowCount; i++)
{
var m = Convert.ToInt32(sourceTable.GetCell(0,i).ToString());
if (Math.Abs(per-m) < 50){
return i;
}
}
}
// если ничего не нашли
return "no";
Код:
// изначальное значение переменной для сравнения
var per = Convert.ToInt32(project.Variables["per1"].Value);
// получаем таблицу, в которой будем искать сравнения
var sourceTable = project.Tables["table1"];
// ищем в каждой строчке в таблице
lock(SyncObjects.TableSyncer)
{
for(int i=0; i < sourceTable.RowCount; i++)
{
for (var m = Convert.ToInt32(sourceTable.GetCell(0,i).ToString()); Math.Abs(per-m) < 50; m = Convert.ToInt32(sourceTable.GetCell(0,i).ToString()) ){
per= m;
}
return i;
}
}
// если ничего не нашли
return "no";
Последнее редактирование: