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

CSS

Client
Joined
May 22, 2010
Messages
1,327
Reaction score
664
Points
113
В этой теме размещаются заказы на создание бесплатных снипетов.

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

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

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

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

proffman

Client
Joined
Jan 24, 2013
Messages
547
Reaction score
51
Points
28
Code:
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("", "", "", "", 0);

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

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113
Code:
HtmlElement he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByAttribute("", "", "", "", 0);
// Так у меня не получалось сделать
if (he.IsVoid)
{последующий код}
else
{
другой код
}
Как сделать - если элемент не нйден (выполняем последующий код до конца).
Если найден, выполняем совсем другую конструкцию кода)))))
Code:
if (!he.IsNull) {другой код}
 

proffman

Client
Joined
Jan 24, 2013
Messages
547
Reaction score
51
Points
28
Code:
if (!he.IsNull) {другой код}
-----------------------
Всё работает спасибо! :ay:
---------
Я потом догадался что вчера элемент на странице не работал зато и не мог понять почему всегда одно и то же действие выполняется)))
 
Last edited:
  • Thank you
Reactions: vfrcbv

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
-----------------------
Всё работает спасибо! :ay:
---------
Я потом догадался что вчера элемент на странице не работал зато и не мог понять почему всегда одно и то же действие выполняется)))
Ты бы хоть вопрос ставил, я честно подумал что ты снипет какой то выложил)))
 

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
всем привет, буду благодарен если напишите сниппет или укажите на тему, если такой уже создавался.
Задача: удалить все строки из указанных списков (названиесписка1, названиесписка2, и т.д.)
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
всем привет, буду благодарен если напишите сниппет или укажите на тему, если такой уже создавался.
Задача: удалить все строки из указанных списков (названиесписка1, названиесписка2, и т.д.)
снипет )))
project.Lists["SourceList"].Clear; // очистить список
 
  • Thank you
Reactions: Marcelo

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
снипет )))
project.Lists["SourceList"].Clear; // очистить список
а если списков много, то
project.Lists["SourceList,List712,List-privet"].Clear; ?
 

CSS

Client
Joined
May 22, 2010
Messages
1,327
Reaction score
664
Points
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)
 

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
Списки перечисляются через запятую, вначале добавлено для примера 2 тестовых списка (tl и Список 1)
у меня не получилось очистить данные из списков, посмотрите пожалуйста, что не так
 

Attachments

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
project.Lists["SourceList1"].Clear;
project.Lists["SourceList2"].Clear;
project.Lists["SourceList3"].Clear;
project.Lists["SourceList4"].Clear;
project.Lists["SourceList5"].Clear;
 
  • Thank you
Reactions: Kol57 and Marcelo

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
project.Lists["SourceList1"].Clear;
project.Lists["SourceList2"].Clear;
project.Lists["SourceList3"].Clear;
project.Lists["SourceList4"].Clear;
project.Lists["SourceList5"].Clear;
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
..
Code:
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();
}
 
Last edited:

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
  • Thank you
Reactions: Marcelo

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
та же самая ошибка появляется
а сами списки созданы ???
естественно, что иначе очищать ?!)
 

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
та же самая ошибка появляется

естественно, что иначе очищать ?!)
блин моя ошибка
Clear(); в конце поставь )))
 

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
блин моя ошибка
Clear(); в конце поставь )))
отработало без ошибки, но данные в списках по-прежнему на месте (списки без привязки к файлам)
 

Attachments

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
отработало без ошибки, но данные в списках по-прежнему на месте (списки без привязки к файлам)
в списках у тебя ничего не может быть, это ты пытаешься файлы отчистить, без привязки ты не очистишь файлы, только списки
 
  • Thank you
Reactions: Marcelo

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,719
Points
113
Все очищается.
Вы смотрите по этой кнопке текущее содержимое списка, а не то что забито в список

upload_2015-11-30_11-18-29.png
 
  • Thank you
Reactions: GHU and Marcelo

Marcelo

Client
Joined
Dec 16, 2014
Messages
109
Reaction score
17
Points
18
действительно, не знал об этом.
Все работает. Спасибо @ssXXXss , @CSS @rostonix
 

proffman

Client
Joined
Jan 24, 2013
Messages
547
Reaction score
51
Points
28
Все очищается.
Вы смотрите по этой кнопке текущее содержимое списка, а не то что забито в список

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

stmult

Client
Joined
Nov 19, 2013
Messages
96
Reaction score
37
Points
18
Есть задача. В списке миллион строк (для теста сгенерировал в экселе, все строки разные, без повторов). Нужно узнать количество повторений каждой из строк в списке. И положить результат в другой список в формате строка:количество повторений. Файл в 100 тысяч строк обрабатывается за 2 минуты 30 секунд. Файл в миллион строк не меньше 4 часов. Может у кого есть идеи как улучшить эти результаты :-)
 

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
Есть задача. В списке миллион строк (для теста сгенерировал в экселе, все строки разные, без повторов). Нужно узнать количество повторений каждой из строк в списке. И положить результат в другой список в формате строка:количество повторений. Файл в 100 тысяч строк обрабатывается за 2 минуты 30 секунд. Файл в миллион строк не меньше 4 часов. Может у кого есть идеи как улучшить эти результаты :-)
а каким методом ты это делал и почему эксель ??? и как понимать что все строки разные но нужно найти повторения
 

stmult

Client
Joined
Nov 19, 2013
Messages
96
Reaction score
37
Points
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;

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

ssXXXss

Client
Joined
Dec 23, 2014
Messages
7,375
Reaction score
2,042
Points
113
ну и за какое время обработал этой конструкцией ???
Это моё решение )) секунды
2015-12-04_080829.png
как видно на скрине 1 014 720 милионов строк, по 18 119 тысяч повторений, а забыл ещё про задержку в снипете написать, от этого врнмени отнять 7 секунд, так как в снипете стоит две паузы
 
Last edited:

stmult

Client
Joined
Nov 19, 2013
Messages
96
Reaction score
37
Points
18
ну и за какое время обработал этой конструкцией ???
Это моё решение )) секунды
View attachment 10527
как видно на скрине 1 014 720 милионов строк, по 18 119 тысяч повторений, а забыл ещё про задержку в снипете написать, от этого врнмени отнять 7 секунд, так как в снипете стоит две паузы
То есть у тебя примерно 56 разных строк, каждая из которых повторяется по 18 тысяч раз? А попробуй протестируй с файлом без повторений совсем. А то твой пример не совсем удачный, так как ты можешь каждый раз удалять все эти 18 тысяч повторов и файл будет резко уменьшаться, поэтому скорость может быть такой высокой. Ты использовал какой-то другой снипет?
 
  • Thank you
Reactions: Ribas

samsonnn

Client
Joined
Jun 2, 2015
Messages
1,898
Reaction score
1,640
Points
113
Реально ли написать сниппет для подсчета строк или переменных в переменной?

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

wat2
wat3
wat4

wat5
wat6
wat7
wat8
wat9

wat10
wat11

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

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113
Реально ли написать сниппет для подсчета строк или переменных в переменной?

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

wat2
wat3
wat4

wat5
wat6
wat7
wat8
wat9

wat10
wat11

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

Code:
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
Joined
Jun 2, 2015
Messages
1,898
Reaction score
1,640
Points
113
ZennoScript огромное спасибо, очень выручил=)
 
Last edited:

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)