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

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
302
Благодарностей
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.

На кубиках могу написать. Интересует именно снипет, спасибо Всем, кто отзовётся.
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
)))))))))))))) то есть сформулировать чем именно кубики хуже сниппета вы не можете?)))))))))))
Код:
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

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
302
Благодарностей
50
Баллы
28
Сорри, я нескольким людям в личку вопрос задал. Не успел ответить. Возможно я не прав, но мне кажется, что на кубиках медленней работает?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
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

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
Вах) код LexxWork намного лучше))))
Иэх вот они отличия быдлокодинга от нормального кода)
 
  • Спасибо
Реакции: ParfeniyAnton

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
302
Благодарностей
50
Баллы
28
Спасибо большое, ребята. Сейчас проверить не могу. Чото с шаблоном случилось. Ни один экшн не выполняется. Даже банальная установка 0 в переменную не работает. Другие шаблоны все работают. Хз что делать.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Спасибо большое, ребята. Сейчас проверить не могу. Чото с шаблоном случилось. Ни один экшн не выполняется. Даже банальная установка 0 в переменную не работает. Другие шаблоны все работают. Хз что делать.
перезагрузка программы не помогает?
 

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
302
Благодарностей
50
Баллы
28
Перезагрузка машины даже не помогает.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
пришлите проект на [email protected] с ссылкой на эту тему
 
  • Спасибо
Реакции: ParfeniyAnton

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
302
Благодарностей
50
Баллы
28
Хорошо, сейчас сделаю. Спасибо за оперативность!)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
сдается мне... что что то в сниппете не так) обычно если сниппет не компилируется, то и проект весь не работает.
 
  • Спасибо
Реакции: ParfeniyAnton

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
302
Благодарностей
50
Баллы
28
сдается мне... что что то в сниппете не так) обычно если сниппет не компилируется, то и проект весь не работает.
Не думаю. Просто в ПМ открываю шаблон. Запускаю по шагам. Первое действие - установить значение 0 для переменной. не выполняется. Другие экшины, не привязанные к таблицам или снипетам так же не работают (напирмер зайти на vk.com)
Другие шаблоны работают. Попробовал в проблемном шаблоне сделать новые экшины - тоже не выполняются. У меня помню однажды была проблема-в шаблоне не ложился 0 в переменную. Вот что-то заглючило и всё тут. Тогда просто переменную новую создал, и вставил везде взамен старой. Всё заработало. Сейчас, конечно, малость жёще всё)
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
  • Спасибо
Реакции: ParfeniyAnton

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
302
Благодарностей
50
Баллы
28
Спасибо, Вы правы!
 

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