Бесплатные снипеты на заказ

  • Автор темы Автор темы CSS
  • Дата начала Дата начала
Здравствуйте!
Есть список и таблица.

В таблице два столбца.

В столбце А таблицы текстовое значение, в столбце B -- числовое.
Необходимо сравнить список со столбцом А, и получить сумму чисел столбца B всех строк, которые есть и в списке и в столбце А таблицы.
Если сможете помочь -- буду оч.признателен
 
Здравствуйте!
Есть список и таблица.

В таблице два столбца.

В столбце А таблицы текстовое значение, в столбце B -- числовое.
Необходимо сравнить список со столбцом А, и получить сумму чисел столбца B всех строк, которые есть и в списке и в столбце А таблицы.
Если сможете помочь -- буду оч.признателен
В сниппете убрать галку "не возвращать значение" и указать результирующую переменную. Если совпадения найдутся - вернет общую сумму, если нет - выйдет по красной ветке
C#:
Развернуть Свернуть Копировать
var list = project.Lists["myList"];
var table = project.Tables["myTable"];

int sum = 0;

foreach (string line in list)
{
    for (int i = 0; i < table.RowCount; i++)
    {
        if (line == table.GetCell(0, i))
        {
            sum += int.Parse(table.GetCell(1, i));
        }
    }
}

if (sum > 0) return sum.ToString();
else return null;
 
  • Спасибо
Реакции: Rimen
В сниппете убрать галку "не возвращать значение" и указать результирующую переменную. Если совпадения найдутся - вернет общую сумму, если нет - выйдет по красной ветке
C#:
Развернуть Свернуть Копировать
var list = project.Lists["myList"];
var table = project.Tables["myTable"];

int sum = 0;

foreach (string line in list)
{
    for (int i = 0; i < table.RowCount; i++)
    {
        if (line == table.GetCell(0, i))
        {
            sum += int.Parse(table.GetCell(1, i));
        }
    }
}

if (sum > 0) return sum.ToString();
else return null;
Спасибо добрый человек! Работает.
Вы очень помогли! Низкий поклон :az:
 
всем привет)
мб ктото сможет помочь мне, буду очень благодарен
помогите pdf файл преобразовать в тхт или png/jpg (изображения в общем)
так чтоб указал путь к файлу, и все страницы (сколько их там есть) конвертнулись.

на гитхабе и прочих ресурсах горы кода, но к сожалению я не разбираюсь в нем (даже в itextsharpe). так что буду благодарен за помощь.
 
Хелп!)
Дано: Таблица1 со старой информацией и Таблица2 с новой информацией.
Нужно: Сравнить Таблицу1 с Таблицей2 по столбцу "J". Уникальные строки с Таблицы2, полученные в результате сравнения, положить в новую Таблицу3 и дозаписать в конец Таблицы1 для нахождения уникальных строк в будущем.
 
Хелп!)
Дано: Таблица1 со старой информацией и Таблица2 с новой информацией.
Нужно: Сравнить Таблицу1 с Таблицей2 по столбцу "J". Уникальные строки с Таблицы2, полученные в результате сравнения, положить в новую Таблицу3 и дозаписать в конец Таблицы1 для нахождения уникальных строк в будущем.
Проверьте
C#:
Развернуть Свернуть Копировать
var t1 = project.Tables["Таблица 1"];
var t2 = project.Tables["Таблица 2"];
var t3 = project.Tables["Таблица 3"];
string cell = string.Empty;
int rows = t2.RowCount;

for ( int i = 0; i < rows; i++)
{
    cell = t2.GetCell("J", i);
    if (!t1.GetColumn("J").Contains(cell))
    {
        var row = t2.GetRow(i);
        t1.AddRow(row);
        t3.AddRow(row);
    }
}
 
  • Спасибо
Реакции: Zd221
Проверьте
C#:
Развернуть Свернуть Копировать
var t1 = project.Tables["Таблица 1"];
var t2 = project.Tables["Таблица 2"];
var t3 = project.Tables["Таблица 3"];
string cell = string.Empty;
int rows = t2.RowCount;

for ( int i = 0; i < rows; i++)
{
    cell = t2.GetCell("J", i);
    if (!t1.GetColumn("J").Contains(cell))
    {
        var row = t2.GetRow(i);
        t1.AddRow(row);
        t3.AddRow(row);
    }
}
Спасибо, мастер) Моя задача наконец-то решена!
 
Подскажите, пожалуйста, как из 12-ти цифр, забрать последние 4 цифры и положить в переменную?
Помню, было такое решение, не могу найти
 
Подскажите, пожалуйста, как из 12-ти цифр, забрать последние 4 цифры и положить в переменную?
Помню, было такое решение, не могу найти
Код:
Развернуть Свернуть Копировать
\d{4}(?=$)
 
  • Спасибо
Реакции: Valiksim
Подскажите, пожалуйста, как из 12-ти цифр, забрать последние 4 цифры и положить в переменную?
Помню, было такое решение, не могу найти
Например такая, но это последние символы конечно...
Код:
Развернуть Свернуть Копировать
.{4}(?=($|\r|\n))

А вот чисто цифры:

Код:
Развернуть Свернуть Копировать
\d{4}(?=($|\r|\n))

Или так:
Код:
Развернуть Свернуть Копировать
\d{4}$
 
Последнее редактирование:
  • Спасибо
Реакции: Valiksim и Mikhail B.
Подскажите Есть 2 таблицы. Сравнить по первому столбцу. Оставить те, которых нет в обеих одновременно таблицах. То сеть только уникальные с обеих страниц.
Заранее спасибо.
 
Здравствуйте все, о выпадающем окне выбора, я в настоящее время знаю, что вы можете выбрать соответствующий текст через selecte, это очень хорошо, может соответствовать информации, но иногда и через значения, чтобы сделать выбор, в этом случае, случайные значения самых простых и беспроблемных, но часто с информацией не совпадает, я думал о методе, чтобы извлечь исходный код через регулярные отношения, добавить в список, а затем добавить значения, обработки списка, чтобы извлечь нужный текст, снова через регулярные, чтобы получить значение.

Звуки могут быть немного сложными, просто извлечь выпадающий код, через обычное добавление в список, получить текст, где количество строк (значение +1, по умолчанию от 0, чтобы начать подсчет)

Мне нужно получить количество строк, на которых находится текст списка, фрагмент кода C#

Переведено с помощью DeepL.com/Translator (бесплатная версия)


Я нашел решение.
 

Вложения

  • demo.zp
    demo.zp
    33,2 KB · Просмотры: 0
Последнее редактирование:
Код:
Развернуть Свернуть Копировать
\d{4}(?=$)
Код:
Развернуть Свернуть Копировать
\d{4}(?=$)
Код:
Развернуть Свернуть Копировать
\d{4}(?=$)
Благодарю за ответ, решает проблему.

Например такая, но это последние символы конечно...
Код:
Развернуть Свернуть Копировать
.{4}(?=($|\r|\n))

А вот чисто цифры:

Код:
Развернуть Свернуть Копировать
\d{4}(?=($|\r|\n))

Или так:
Код:
Развернуть Свернуть Копировать
\d{4}$
Обстоятельненько. Благодарю. Неисповедимы, как говорят, пути регулярок.
Кстати, решение многострочное, часто бывает необходимым. Можно было (а лучше "надо было бы") бы собрать коллекцию решений, по переводу строк в одну строку, и наоборот.
НО, на моей вопрос ответили сполна. Огромное спасибо!
 
Здравствуйте! Помогите составить сниппет. Нужно удалять те строки из таблицы, в которых прописано значение 1 во втором (В) столбике. Но задача усложняется тем, что нужно удалять только в определенном диапазоне строк, например, с 1-й по 10-ю или 20-ю строки. На форуме подобного решения не нашел. Заранее искренее благодарю за помощь!

69468
 
Здравствуйте! Помогите составить сниппет. Нужно удалять те строки из таблицы, в которых прописано значение 1 во втором (В) столбике. Но задача усложняется тем, что нужно удалять только в определенном диапазоне строк, например, с 1-й по 10-ю или 20-ю строки. На форуме подобного решения не нашел. Заранее искренее благодарю за помощь!

Посмотреть вложение 69468
C#:
Развернуть Свернуть Копировать
var textContains = "1"; //Текст который будем искать
string column = "1"; //Столбец в котором будем искать
var sourceTable = project.Tables["Control"]; // получаем таблицу, в которой будем искать
int line = 20; //Сколько первых строк будет затронуто
// ищем в каждой строчке в таблице
    for(int i=0; i < line; i++)
    {
        // читаем строку из таблицы
        var cells = sourceTable.GetCell(column, i);

            if (cells.Contains(textContains))
            {
            project.Tables["Control"].DeleteRow(i);
        }
    }
 
  • Спасибо
Реакции: Max Gudym
C#:
Развернуть Свернуть Копировать
var textContains = "1"; //Текст который будем искать
string column = "1"; //Столбец в котором будем искать
var sourceTable = project.Tables["Control"]; // получаем таблицу, в которой будем искать
int line = 20; //Сколько первых строк будет затронуто
// ищем в каждой строчке в таблице
    for(int i=0; i < line; i++)
    {
        // читаем строку из таблицы
        var cells = sourceTable.GetCell(column, i);

            if (cells.Contains(textContains))
            {
            project.Tables["Control"].DeleteRow(i);
        }
    }

Благодарю! Попробовал, но почему-то неправильно работает. И с 0-вой по 19-ю строки (первые 20) не все строки со значением 1 в столбце B удаляет (некоторые пропускает), и затрагивает некоторые строки после 20 строки, которые удалять не нужно. Не понял как код работает, он как-то хаотично строки удаляет.

Прописывал так:
Развернуть Свернуть Копировать
var textContains = "1"; //Текст который будем искать
string column = "B"; //Столбец в котором будем искать
var sourceTable = project.Tables["my_table"]; // получаем таблицу, в которой будем искать
int line = 20; //Сколько первых строк будет затронуто
// ищем в каждой строчке в таблице
    for(int i=0; i < line; i++)
    {
        // читаем строку из таблицы
        var cells = sourceTable.GetCell(column, i);

            if (cells.Contains(textContains))
            {
            project.Tables["my_table"].DeleteRow(i);
        }
    }
 
Благодарю! Попробовал, но почему-то неправильно работает. И с 0-вой по 19-ю строки (первые 20) не все строки со значением 1 в столбце B удаляет (некоторые пропускает), и затрагивает некоторые строки после 20 строки, которые удалять не нужно. Не понял как код работает, он как-то хаотично строки удаляет.
Потому что я косякнул со счетчиками.
C#:
Развернуть Свернуть Копировать
var textContains = "1"; //Текст который будем искать
string column = "B"; //Столбец в котором будем искать
var sourceTable = project.Tables["my_table"]; // получаем таблицу, в которой будем искать
int line = 20; //Сколько первых строк будет затронуто
// ищем в каждой строчке в таблице
    for(int i=0; i < line; i++)
    {
        // читаем строку из таблицы
        var cells = sourceTable.GetCell(column, i);

            if (cells.Contains(textContains))
            {
            project.Tables["my_table"].DeleteRow(i);
                line--;
                i--;
        }
        
    }
 
  • Спасибо
Реакции: Max Gudym
Записываю в глобальную переменную числа, обрамлённые знаком "-" (если этот знак вдруг неудобен для кода, можно любой другой). К примеру, переменная может принять значение: "-8--4--14--2-". Требуется код, с помощью которого можно искать в этой переменной "-ЧИСЛО-". Если найдено, то удалять "-ЧИСЛО-" из переменной. Если не найдено, то добавлять. Я пока дошёл вот до чего:

C#:
Развернуть Свернуть Копировать
string gbVar = Convert.ToString(project.GlobalVariables["arturs2006@mail.ru", "profile"]);

if (gbVar.Contains("-1-"))
{
gbVar.Replace("-1-","");
}

else
{
gbVar += "-2-";
}

Ошибки нет, но и с переменной ничего не происходит. Видимо проблема в gbVar.Replace("-1-","");
 
Последнее редактирование:
С Новым годом всех!!!
Помогите найти сниппет, который останавливает выполнение программы, и даёт возможность выбора, куда пойти дальше:
- выводится окошко с выбором, "Да" или "Нет"
- чтобы пустить выполнение по одной из 2-х веток
Такой сниппет был тут, но найти не могу. Может быть кому-то он попадался недавно, ткните пальцем, пожалуйста

P.S. Нашёл вот тут
 
Последнее редактирование:
Привет! Нужен снипет. Дождаться загрузки определенного элемента. А именно Атрибут: innertext Тип поиска: regxp Значение: Skip\ ad и кликнуть по нему
 
Всем привет!

Имеется таблица с данными.
В столбце C счетчик использования этих данных.
71662
Нужно найти минимальное значение и выдать ответ: номер строки с минимальным значением.
Если в ячейке пустота, то = 0
Если минимальных значений несколько (как на скриншоте), можно выдать любое значение из них (3,5,8 ), не критично.
Заранее огромное спасибо! Очень выручите меня если решите данную задачу:-)

UPD: Эта задача частично решается через сортировку таблицы по столбцам с галочкой "Сортировать, как числа если это возможно",
но сортируется не всегда адекватно, пример:
71663
я так понимаю он отсортировал не как числа все же
 
Последнее редактирование:
  • Спасибо
Реакции: revan
Как такое реализовать?
 
  • Спасибо
Реакции: revan
Помогите пожалуйста, к этому сниппету прикрутить, Refferel, переменную где будут менятся ссылки
C#:
Развернуть Свернуть Копировать
HtmlElement he = null;
for (int i = 0; i<19; i++)
{
    var tab = instance.ActiveTab;
    tab.Navigate(@project.Variables["url"].Value);
    if (tab.IsBusy) tab.WaitDownloading();
//    he = tab.FindElementByAttribute("select","name","locationId","text",0);// прописать свои параметры поиска элемента
    he = tab.FindElementByXPath("//a[contains(text(), 'Поиск защищён технологией Protect')]", 0);
    
    if (!he.IsNull)
    {
            return "OK";
    }
}
return null;
 
Помогите пожалуйста, к этому сниппету прикрутить, Refferel, переменную где будут менятся ссылки
если верно понял, то так (версия не ниже 7.2.0.0):
C#:
Развернуть Свернуть Копировать
HtmlElement he = null;
for (int i = 0; i<19; i++)
{
    var tab = instance.ActiveTab;
    tab.Navigate(@project.Variables["url"].Value);
    if (tab.IsBusy) tab.WaitDownloading();
//    he = tab.FindElementByAttribute("select","name","locationId","text",0);// прописать свои параметры поиска элемента
    he = tab.FindElementByXPath($"//a[contains(text(), '{project.Variables["Refferel"].Value}')]", 0);
    
    if (!he.IsNull)
    {
            return "OK";
    }
}
return null;
 
  • Спасибо
Реакции: Roman48
если верно понял, то так (версия не ниже 7.2.0.0):
C#:
Развернуть Свернуть Копировать
HtmlElement he = null;
for (int i = 0; i<19; i++)
{
    var tab = instance.ActiveTab;
    tab.Navigate(@project.Variables["url"].Value);
    if (tab.IsBusy) tab.WaitDownloading();
//    he = tab.FindElementByAttribute("select","name","locationId","text",0);// прописать свои параметры поиска элемента
    he = tab.FindElementByXPath($"//a[contains(text(), '{project.Variables["Refferel"].Value}')]", 0);
 
    if (!he.IsNull)
    {
            return "OK";
    }
}
return null;
Версия у меня самая последняя, это для сниппета, разве имеет значение.
Получилось прикрутить рефферела,
C#:
Развернуть Свернуть Копировать
HtmlElement he = null;
for (int i = 0; i<30; i++)
{
    var tab = instance.ActiveTab;
    tab.Navigate(project.Variables["url"].Value, project.Variables["refferel"].Value);
    if (tab.IsBusy) tab.WaitDownloading();
//    he = tab.FindElementByAttribute("select","name","locationId","text",0);// прописать свои параметры поиска элемента
    he = tab.FindElementByXPath("//a[contains(text(), 'Поиск защищён технологией Protect')]

", 0);
    
    if (!he.IsNull)
    {
            return "OK";
    }
}
return null;
Теперь не хватает паузы, между переходами, секунд по 5, типа если не нашел, XPath, то делает паузу, секунд 5 и потом обратно переходит по ссылке, а сейчас он без останова переходит.
 
Последнее редактирование:
Теперь не хватает паузы, между переходами, секунд по 5, типа если не нашел, XPath, то делает паузу, секунд 5 и потом обратно переходит по ссылке, а сейчас он без останова переходит.
C#:
Развернуть Свернуть Копировать
HtmlElement he = null;
for (int i = 0; i<30; i++)
{
    var tab = instance.ActiveTab;
    tab.Navigate(project.Variables["url"].Value, project.Variables["refferel"].Value);
    if (tab.IsBusy) tab.WaitDownloading();
//    he = tab.FindElementByAttribute("select","name","locationId","text",0);// прописать свои параметры поиска элемента
    he = tab.FindElementByXPath("//a[contains(text(), 'Поиск защищён технологией Protect')]", 0);
    
    if (!he.IsNull)
    {
            return "OK";
    }
    project.SendInfoToLog("ждем появления элемента");
    Thread.Sleep(5000);
}
return null;
 
  • Спасибо
Реакции: Roman48

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