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

CSS

Client
Регистрация
22.05.2010
Сообщения
1 329
Благодарностей
635
Баллы
113
В этой теме размещаются заказы на создание бесплатных снипетов.

Никто не гарантирует что будет сделано то что вы просите. Чем проще заказы - тем выше вероятность что он будет сделан. Вы также можете попытаться сложный заказ разбить на несколько простых, чтобы таким образом увеличить вероятность что вам помогут.

Часть людей на форуме изучает C#, им может быть интересно на небольших задачах потренироваться. Другая часть людей C# уже знает, и может просто размять мозги от нечего делать или просто лишний раз отточить свои навыки.

Правила оформления заказа:
  1. Если вас снипет использует входные и выходные данные - приложите их в качестве примера, используйте для этого тег CODE для небольших данных, или просто залейте файл (аттачем) для больших данных
  2. Оформите задачу в виде пошагового алгоритма (1. делаем это, 2. затем это, 3. получаем вот это)

Помните - в ваших интересах чтобы вам помогли, поэтому старайтесь излагать мысли предельно понятно, исключая всякие неясности и двусмысленности. Человек который читает вашу просьбу - не видит всей картины, и то что будет очевидно для вас - вовсе не очевидно для него.
 

riptup

Client
Регистрация
24.01.2013
Сообщения
517
Благодарностей
40
Баллы
28
Код:
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("", "", "", "", 0);

// Так у меня не получалось сделать
if (he.IsVoid)
{
последующий код
}
else
{
другой код
}
Как сделать - если элемент не нйден (выполняем последующий код).
Если найден, выполняем совсем другую конструкцию кода)))))
 
Последнее редактирование:

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 441
Благодарностей
1 772
Баллы
113
Код:
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("", "", "", "", 0);
// Так у меня не получалось сделать
if (he.IsVoid)
{последующий код}
else
{
другой код
}
Как сделать - если элемент не нйден (выполняем последующий код до конца).
Если найден, выполняем совсем другую конструкцию кода)))))
Код:
if (!he.IsNull) {другой код}
 
  • Спасибо
Реакции: Marcelo и riptup

riptup

Client
Регистрация
24.01.2013
Сообщения
517
Благодарностей
40
Баллы
28
Код:
if (!he.IsNull) {другой код}
-----------------------
Всё работает спасибо! :ay:
---------
Я потом догадался что вчера элемент на странице не работал зато и не мог понять почему всегда одно и то же действие выполняется)))
 
Последнее редактирование:
  • Спасибо
Реакции: vfrcbv

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 403
Благодарностей
1 935
Баллы
113
-----------------------
Всё работает спасибо! :ay:
---------
Я потом догадался что вчера элемент на странице не работал зато и не мог понять почему всегда одно и то же действие выполняется)))
Ты бы хоть вопрос ставил, я честно подумал что ты снипет какой то выложил)))
 

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18
всем привет, буду благодарен если напишите сниппет или укажите на тему, если такой уже создавался.
Задача: удалить все строки из указанных списков (названиесписка1, названиесписка2, и т.д.)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 403
Благодарностей
1 935
Баллы
113
всем привет, буду благодарен если напишите сниппет или укажите на тему, если такой уже создавался.
Задача: удалить все строки из указанных списков (названиесписка1, названиесписка2, и т.д.)
снипет )))
project.Lists["SourceList"].Clear; // очистить список
 
  • Спасибо
Реакции: Marcelo

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18

CSS

Client
Регистрация
22.05.2010
Сообщения
1 329
Благодарностей
635
Баллы
113
всем привет, буду благодарен если напишите сниппет или укажите на тему, если такой уже создавался.
Задача: удалить все строки из указанных списков (названиесписка1, названиесписка2, и т.д.)
C#:
var ll = "tl,Список 1".Split(new string[] {","},0).ToList();
//return ll[0];
for (int i = 0; i < ll.Count(); i++)
{
    //project.SendInfoToLog(ll[i]);
    string n = ll[i];
    project.Lists[n].Clear();
}
Списки перечисляются через запятую, вначале добавлено для примера 2 тестовых списка (tl и Список 1)
 
  • Спасибо
Реакции: sentinel, trapni и Marcelo

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18
Списки перечисляются через запятую, вначале добавлено для примера 2 тестовых списка (tl и Список 1)
у меня не получилось очистить данные из списков, посмотрите пожалуйста, что не так
 

Вложения

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 403
Благодарностей
1 935
Баллы
113
project.Lists["SourceList1"].Clear;
project.Lists["SourceList2"].Clear;
project.Lists["SourceList3"].Clear;
project.Lists["SourceList4"].Clear;
project.Lists["SourceList5"].Clear;
 
  • Спасибо
Реакции: Marcelo

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 403
Благодарностей
1 935
Баллы
113
..
Код:
List<string> outlist = new List<string> { "SourceList1", "SourceList2", "SourceList3", "SourceList4", "SourceList5",
                                          "SourceList6", "SourceList7", "SourceList8", "SourceList9", "SourceList10" }; // прописываешь свои списки
foreach (string str in outlist) {
    project.Lists[""+str+""].Clear();
}
 
Последнее редактирование:

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18
 

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18

Вложения

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 403
Благодарностей
1 935
Баллы
113
отработало без ошибки, но данные в списках по-прежнему на месте (списки без привязки к файлам)
в списках у тебя ничего не может быть, это ты пытаешься файлы отчистить, без привязки ты не очистишь файлы, только списки
 
  • Спасибо
Реакции: Marcelo

rostonix

Administrator
Команда форума
Регистрация
23.12.2011
Сообщения
29 085
Благодарностей
5 585
Баллы
113
Все очищается.
Вы смотрите по этой кнопке текущее содержимое списка, а не то что забито в список

upload_2015-11-30_11-18-29.png
 
  • Спасибо
Реакции: GHU и Marcelo

Marcelo

Client
Регистрация
16.12.2014
Сообщения
109
Благодарностей
17
Баллы
18
действительно, не знал об этом.
Все работает. Спасибо @ssXXXss , @CSS @rostonix
 

riptup

Client
Регистрация
24.01.2013
Сообщения
517
Благодарностей
40
Баллы
28
Все очищается.
Вы смотрите по этой кнопке текущее содержимое списка, а не то что забито в список

Посмотреть вложение 10414
Подтверждаю. Неделю назад не мог понять откуда берется лишняя строка потом заметил она вручную прописана в списке и экшином её не очистишь)
 

stmult

Client
Регистрация
19.11.2013
Сообщения
87
Благодарностей
30
Баллы
18
Есть задача. В списке миллион строк (для теста сгенерировал в экселе, все строки разные, без повторов). Нужно узнать количество повторений каждой из строк в списке. И положить результат в другой список в формате строка:количество повторений. Файл в 100 тысяч строк обрабатывается за 2 минуты 30 секунд. Файл в миллион строк не меньше 4 часов. Может у кого есть идеи как улучшить эти результаты :-)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 403
Благодарностей
1 935
Баллы
113
Есть задача. В списке миллион строк (для теста сгенерировал в экселе, все строки разные, без повторов). Нужно узнать количество повторений каждой из строк в списке. И положить результат в другой список в формате строка:количество повторений. Файл в 100 тысяч строк обрабатывается за 2 минуты 30 секунд. Файл в миллион строк не меньше 4 часов. Может у кого есть идеи как улучшить эти результаты :-)
а каким методом ты это делал и почему эксель ??? и как понимать что все строки разные но нужно найти повторения
 

stmult

Client
Регистрация
19.11.2013
Сообщения
87
Благодарностей
30
Баллы
18
а каким методом ты это делал и почему эксель ??? и как понимать что все строки разные но нужно найти повторения
Ну сгенерировал в экселе руками миллион разных строк, чтобы потом с ними тесты проводить. Строки из экселя перекинул в обычный txt . Сначала кубиками пробовал, к примеру считаем количество строк в списке, потом удаляем строки с указанием значения, потом снова подсчитываем количество строк. Разница между этими значениями и скажет нам - сколько было повторений строки. Ну и так делаем до тех пор пока совсем не останется строк. Но на кубиках всё совсем медленно. Пробовал через парсинг значений делать - тоже медленно. Сейчас через снипет делаю, кладу строки из списка в переменную и подсчитываю количество.

var text = project.Variables["check_obsh"].Value;
var substr = project.Variables["id_check"].Value;
int i = 0;
int x = -1;
int count = -1;
while(i != -1)
{
i = text.IndexOf(substr, x+1);
x = i;
count++;
}
return count;

И как понимать что все строки разные но нужно найти повторения - это для теста, так сказать самый суровый и долгий вариант. Когда каждая строка будет встречаться всего по одному разу.
 
  • Спасибо
Реакции: Slava и LightWood

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 403
Благодарностей
1 935
Баллы
113
ну и за какое время обработал этой конструкцией ???
Это моё решение )) секунды
2015-12-04_080829.png
как видно на скрине 1 014 720 милионов строк, по 18 119 тысяч повторений, а забыл ещё про задержку в снипете написать, от этого врнмени отнять 7 секунд, так как в снипете стоит две паузы
 
Последнее редактирование:

stmult

Client
Регистрация
19.11.2013
Сообщения
87
Благодарностей
30
Баллы
18
ну и за какое время обработал этой конструкцией ???
Это моё решение )) секунды
Посмотреть вложение 10527
как видно на скрине 1 014 720 милионов строк, по 18 119 тысяч повторений, а забыл ещё про задержку в снипете написать, от этого врнмени отнять 7 секунд, так как в снипете стоит две паузы
То есть у тебя примерно 56 разных строк, каждая из которых повторяется по 18 тысяч раз? А попробуй протестируй с файлом без повторений совсем. А то твой пример не совсем удачный, так как ты можешь каждый раз удалять все эти 18 тысяч повторов и файл будет резко уменьшаться, поэтому скорость может быть такой высокой. Ты использовал какой-то другой снипет?
 
  • Спасибо
Реакции: Ribas

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 268
Благодарностей
860
Баллы
113
Реально ли написать сниппет для подсчета строк или переменных в переменной?

Есть переменная Wat в этой переменной находятся переменные (могут быть и просто строки) в порядке списка:
wat1

wat2
wat3
wat4

wat5
wat6
wat7
wat8
wat9

wat10
wat11

Между переменными в этом списке, всегда есть пустые строки в разных местах, они тоже должны засчитываться. Нужно написать сниппет, который подсчитает сколько переменных и пустых строк, находится на данный момент в переменной Wat и положить результат в переменную chek
Возможно ли такое сварганить? Или то что я придумал нет в природе?
Я знаю что можно такое сделать со списком, но мне со списком не подходит, в моей ситуации.
 
Последнее редактирование:

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 441
Благодарностей
1 772
Баллы
113
Реально ли написать сниппет для подсчета строк или переменных в переменной?

Есть переменная Wat в этой переменной находятся переменные (могут быть и просто строки) в порядке списка:
wat1

wat2
wat3
wat4

wat5
wat6
wat7
wat8
wat9

wat10
wat11

Между переменными в этом списке, всегда есть пустые строки в разных местах, они тоже должны засчитываться. Нужно написать сниппет, который подсчитает сколько переменных и пустых строк, находится на данный момент в переменной Wat и положить результат в переменную chek
Возможно ли такое сварганить? Или то что я придумал нет в природе?
Я знаю что можно такое сделать со списком, но мне со списком не подходит, в моей ситуации.

Код:
var check = project.Variables["wall"].Value.Split('\r').ToList<string>();
int count = check.Count;
int a = 0;
int b = 0;
for(int i=0;i<count;i++)
{
    if(check[i]!="\n")
    {
        a++;
    }
    else
    {
        b++;
    }
}
project.Variables["a"].Value = a.ToString(); //количество непустых
project.Variables["b"].Value = b.ToString(); //количество пустых
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 268
Благодарностей
860
Баллы
113
ZennoScript огромное спасибо, очень выручил=)
 
Последнее редактирование:

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