В отладке работает, без нет.

Андрес

Client
Регистрация
26.03.2017
Сообщения
46
Благодарностей
1
Баллы
8
Добрый день.
Собрал сниппет про поиску по таблице хар-ки. В режиме отладки кода (с остановкой) все работает, бегает по циклам, а когда просто пуск без отладки, он делает один первый цикл и в таблицу добавляет только одну новую хар-ку и стопается

C#:
 // берем из переменной текст, который надо искать
var table = project.Tables["Таблица 2"];
// получаем таблицу, в которой будем искать
var tab_vrem = project.Tables["Tab_vrem"];
  // пролучаем текст переменной строка таблицы
int stroka = Convert.ToInt32(project.Variables["Stroka_tablici"].Value);
  //получаем переменную результат харрактеристики
int n_strok2 = table.RowCount; //получаем число строк из Таблица 2
int n_kol2 = table.ColCount; //получаем число колон из Таблица 2
int n_strok1 = tab_vrem.RowCount;//получаем число строк из Tab_vrem
int n_strok = Convert.ToInt32(project.Variables["Stroka_tablici"].Value);
           lock (SyncObjects.TableSyncer)


for (int i=0; i<n_strok1; i++)
{
     string  har1 = tab_vrem.GetCell(0,i);
     string  harak_rez = tab_vrem.GetCell(1,i);
     for (int j=0; j<n_kol2 ; j++)
    {
     string znach_yach = table.GetCell(j,0);
        if (har1 == znach_yach)
        {
          table.SetCell (j, n_strok, harak_rez);
          goto fin;
        }
    }
   
      table.SetCell(n_kol2  , 0, har1);
      table.SetCell(n_kol2  , n_strok ,harak_rez);
        fin:
         ;
 
   
}
Помогите, пожалуйста, не найду в чем проблемма.
 
Последнее редактирование:

Андрес

Client
Регистрация
26.03.2017
Сообщения
46
Благодарностей
1
Баллы
8
Сам разобрался, просто у меня постоянно писало результат в одну строку.
Добавил счетчик, кому нужно сравнение из таблиц, пожалуйста.

C#:
 // берем из переменной текст, который надо искать
 var table = project.Tables["Таблица 2"];
 // получаем таблицу, в которой будем искать
 var tab_vrem = project.Tables["Tab_vrem"];
  // пролучаем текст переменной строка таблицы
 int stroka = Convert.ToInt32(project.Variables["Stroka_tablici"].Value);
  //получаем переменную результат харрактеристики
 int n_strok2 = table.RowCount; //получаем число строк из Таблица 2
 int n_kol2 = table.ColCount; //получаем число колон из Таблица 2
 int n_strok1 = tab_vrem.RowCount;//получаем число строк из Tab_vrem
 int n_strok = Convert.ToInt32(project.Variables["Stroka_tablici"].Value);
 int schet_kol =1; //это счетчик, т.к ширина табл. фикс, и нужно добоовлять 1, к счетчику
          lock (SyncObjects.TableSyncer)

 for (int i=0; i<n_strok1; i++)
 {
     string  har1 = tab_vrem.GetCell(0,i);
     string  harak_rez = tab_vrem.GetCell(1,i);
     for (int j=0; j<n_kol2 ; j++)
    {
     string znach_yach = table.GetCell(j,0);   
        if (har1 == znach_yach)
        { 
          table.SetCell (j, n_strok, harak_rez);
          goto fin;
        }
    }
      
      table.SetCell(n_kol2 + schet_kol , 0, har1); //
      table.SetCell(n_kol2 + schet_kol, n_strok ,harak_rez);
    schet_kol = schet_kol +1; //при записи новой хар-ки, добовляем счетчик
        fin:
         ; 
 }
 project.Variables["Stroka_tablici"].Value = Convert.ToString( n_strok + 1);
 

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