Помогите с таблицой.

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
310
Реакции
50
Баллы
28
Добрый вечер. Мне очень нужна помощь в написании вот такого снипета.

есть переменная x. она записана в одной из ячеек из A(1-100) . Нужно найти в столбце A эту переменную. Если находит, то взять из переменной Y значение к примеру 14141241 и проверить ячейки следующие после найденной на наличие этого значения внутри.

К примеру. Переменную X нашли в ячейке A10, значит надо проверить B10,C10,D10 и так далее пока очередная ячейка не окажется пустой.
При первом положительном исходе ложим в переменную yes. Если совпадение не найденно, то в первую пустую ячейку из нашей последовательности записываем значение переменной Y.

Пример x=4 y=1929412124
4 нашли в ячейке A41
начинаем сканировать B41 - в ней ********,
C41 в ней !!!!!!!!!!!
D41 пустая. y записывается в D41.

На кубиках могу написать. Интересует именно снипет, спасибо Всем, кто отзовётся.
 
)))))))))))))) то есть сформулировать чем именно кубики хуже сниппета вы не можете?)))))))))))
Код:
Развернуть Свернуть Копировать
var tab  = project.Tables["Таблица 1"];
string needle = project.Variables["zero"].Value;
string column = project.Variables["column"].Value;
string abrakadabra = project.Variables["abrakadabra"].Value;
for(int i =0; i<tab.RowCount;i++)
{
    string value = tab.GetCell(column, i);
    if(needle == value)
    {   
        tab.SetCell(tab.GetRow(i).Count()+1, i, abrakadabra);
    }
}
 
  • Оценить
Реакции: ParfeniyAnton
Сорри, я нескольким людям в личку вопрос задал. Не успел ответить. Возможно я не прав, но мне кажется, что на кубиках медленней работает?
 
C#:
Развернуть Свернуть Копировать
var x = "4";
var y = "13123233";

lock(SyncObjects.TableSyncer){
    var table = project.Tables["table"];
    var length = table.RowCount;
    for(int i = 0; i < length; i++){
        if(table.GetCell(0, i) != x) continue;
        int j = 1;
        while(!String.IsNullOrWhiteSpace(table.GetCell(j, i))) j++;
        table.SetCell(j, i, y);
        break;
    }
}
это вариант если первая пустая ячейка окажется среди непустых ячеек.
 
  • Оценить
Реакции: ParfeniyAnton и Lexicon
Вах) код LexxWork намного лучше))))
Иэх вот они отличия быдлокодинга от нормального кода)
 
  • Оценить
Реакции: ParfeniyAnton
Спасибо большое, ребята. Сейчас проверить не могу. Чото с шаблоном случилось. Ни один экшн не выполняется. Даже банальная установка 0 в переменную не работает. Другие шаблоны все работают. Хз что делать.
 
Спасибо большое, ребята. Сейчас проверить не могу. Чото с шаблоном случилось. Ни один экшн не выполняется. Даже банальная установка 0 в переменную не работает. Другие шаблоны все работают. Хз что делать.
перезагрузка программы не помогает?
 
Перезагрузка машины даже не помогает.
 
Хорошо, сейчас сделаю. Спасибо за оперативность!)
 
сдается мне... что что то в сниппете не так) обычно если сниппет не компилируется, то и проект весь не работает.
 
  • Оценить
Реакции: ParfeniyAnton
сдается мне... что что то в сниппете не так) обычно если сниппет не компилируется, то и проект весь не работает.
Не думаю. Просто в ПМ открываю шаблон. Запускаю по шагам. Первое действие - установить значение 0 для переменной. не выполняется. Другие экшины, не привязанные к таблицам или снипетам так же не работают (напирмер зайти на vk.com)
Другие шаблоны работают. Попробовал в проблемном шаблоне сделать новые экшины - тоже не выполняются. У меня помню однажды была проблема-в шаблоне не ложился 0 в переменную. Вот что-то заглючило и всё тут. Тогда просто переменную новую создал, и вставил везде взамен старой. Всё заработало. Сейчас, конечно, малость жёще всё)
 
  • Оценить
Реакции: ParfeniyAnton
Спасибо, Вы правы!
 

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