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

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
  • Спасибо
Реакции: doc

Ikigai

Client
Регистрация
13.12.2016
Сообщения
276
Благодарностей
27
Баллы
28
Добрый день,
Есть ли у вас Сниппет : Закрыть все существующие табы кроме ( Page, XXX, YYY ) ?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Добрый день,
Есть ли у вас Сниппет : Закрыть все существующие табы кроме ( Page, XXX, YYY ) ?
C#:
string[] tabs = { "page", "XXX", "YYY" };
Tab[] allTabs = instance.AllTabs;
for (int i = 0; i < allTabs.Count(); i++) {
    if (allTabs[i].Name != tabs[0] &&
        allTabs[i].Name != tabs[1] &&
        allTabs[i].Name != tabs[2])
    allTabs[i].Close();
}
 
Последнее редактирование:
  • Спасибо
Реакции: sentinel и Ikigai

Ikigai

Client
Регистрация
13.12.2016
Сообщения
276
Благодарностей
27
Баллы
28

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
Как взять рандомную строку со списка?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Как взять рандомную строку со списка?
C#:
var list = project.Lists["List"];
Random rnd = new Random();
lock (SyncObjects.ListSyncer) {
    int r = rnd.Next(list.Count);
    project.Variables["Var"].Value = list[r];
    // Удаление строки
    list.RemoveAt(r);
}
 
Последнее редактирование:
  • Спасибо
Реакции: Nord

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
C#:
var list = project.Lists["List"];
Random rnd = new Random();
int r = rnd.Next(list.Count);
project.Variables["Var"].Value = list[r];
// Удаление строки
lock (SyncObjects.ListSyncer)
    list.RemoveAt(r);
локать стоит начиная с int r = rnd.Next(list.Count);
 
  • Спасибо
Реакции: Nord

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Зачем? Ты же не лочишь, когда строки получаешь без удаления.
потоки могут взять одну и ту же строку. А удалят разные. А при некоторой вероятности еще и ошибку выбить может
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
потоки могут взять одну и ту же строку. А удалят разные. А при некоторой вероятности еще и ошибку выбить может
Логично так-то, но.. Создал тестовый проект с этим кодом, где строки из привязанного списка берутся с удалением и записываются в файл. 500 строк, 20 потоков - всё Гуд, в том числе и с циклами.
Да и никогда, вроде, с этим проблем не возникало, хотя у меня в большинстве проектов лочится весь код, как ты имел ввиду, а не только удаление строки, но в любом случае..

Хотелось бы услышать разрабов по этому вопросу.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Логично так-то, но.. Создал тестовый проект с этим кодом, где строки из привязанного списка берутся с удалением и записываются в файл. 500 строк, 20 потоков - всё Гуд, в том числе и с циклами.
Да и никогда, вроде, с этим проблем не возникало, хотя у меня в большинстве проектов лочится весь код, как ты имел ввиду, а не только удаление строки.

Хотелось бы услышать разрабов по этому вопросу.
попробуй меньше строк. 20 строк в 20 потоков. Думаю, результат не заставит себя ждать
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
попробуй меньше строк. 20 строк в 20 потоков. Думаю, результат не заставит себя ждать
Да нее, всё нормально! + добавлял паузу пару секунд перед записью в файл.
Проверь как-нибудь сам ради интереса.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Да нее, всё нормально! + добавлял паузу пару секунд перед записью в файл.
Проверь как-нибудь сам ради интереса.
попробовал. 100 строк в 20 потоков без использования браузера, дабы не тратилось время на поднятие инстанса. Из списка, который получился после отработки этих 100 строк, после чисти дублей осталось 96 строк.
Из 100 выполнений 4 пары брало одинаковые строки
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
попробовал. 100 строк в 20 потоков без использования браузера, дабы не тратилось время на поднятие инстанса. Из списка, который получился после отработки этих 100 строк, после чисти дублей осталось 96 строк.
Из 100 выполнений 4 пары брало одинаковые строки
Понятно!
Ну в таком случае не рискуем и лочим весь код.

Отредактировал пост
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

dimon0

Client
Регистрация
14.06.2016
Сообщения
3
Благодарностей
1
Баллы
3
Прошу помогите. Каким кодом все варианты сгенерировать? От 0001 до ZZZZ
Пример:
0001
0002
0003
.........
000a
000A
000b
000B
.......
ZZZZ
И т.д.
Желательно, чтобы в список сохраняло или txt .
 

lextorg

Client
Регистрация
25.05.2014
Сообщения
60
Благодарностей
10
Баллы
8
Всем привет. Помогите со сниппетом переименования файла на C#.

Есть несколько шаблонов, в которых перезаписывается файл, при этом число перезаписей может доходить до нескольких десятков миллионов за цикл. Сейчас нужно перезаписывать название файла, вместо перезаписи содержимого файла.

В шаблоне в цикле работает счётчик, меняющий значение от 1 до 100000, условно. Как менять название текстового файла в директории проекта по счётчику + дописывая в название дополнительную переменную?

По итогу должно название получиться такое: "12345 - пример1.txt"
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Всем привет. Помогите со сниппетом переименования файла на C#.
Делается одним стандартным кубиком Файлы - Переместить файл. В поле "Новый путь" просто нужно указать путь с новым названием файла, хоть конкретным, хоть с переменными.
 

lextorg

Client
Регистрация
25.05.2014
Сообщения
60
Благодарностей
10
Баллы
8
Делается одним стандартным кубиком Файлы - Переместить файл. В поле "Новый путь" просто нужно указать путь с новым названием файла, хоть конкретным, хоть с переменными.
Я в курсе, как делать на стандартных кубиках. Вопрос касался именно C#, т.к. думал это будет быстрее.

Нашел код на C# - он по времени так же отрабатывает на дистанции в 1кк итераций, как и на стандартных кубиках. Так что вопрос снят.
 

2xdswu

Новичок
Регистрация
03.04.2016
Сообщения
21
Благодарностей
4
Баллы
3
Hey Dimionix

Do you do C# snippets and cheap you speak english ?

Would love to order from you a couple, could you add my skype if you can ?

Skype: dicksondesigns
 

Nord

Client
Регистрация
22.03.2012
Сообщения
2 406
Благодарностей
1 473
Баллы
113
Напомните, пожалуйста, как сохранить все результаты regexp в одну переменную через перенос строки? Удобно, когда кучу куков парсишь
var Cookie = Regex.Match(get_cookie, "(?<=Set-Cookie: ).*?(?=;-)").Value;
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
var Cookie = string.Join("; ", Regex.Matches(get_cookie, "правильная_регулярка").Cast<Match>().Select(x=>x.Value));
 
  • Спасибо
Реакции: sentinel и Nord

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
var Cookie = string.Join("; ", Regex.Matches(get_cookie, "правильная_регулярка").Cast<Match>().Select(x=>x.Value));
можно конкретный пример с готовой регуляркой?
у меня просто ошибку выдает

 
Последнее редактирование:

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
не работает
пробовал и убирать \ и дописывать \\ и @ местами менять
Код:
var Cookie = string.Join("; ", Regex.Matches(get_cookie, "@(?<=Set-Cookie:\\ ).*?(?=;)").Cast<Match>().Select(x=>x.Value));
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Код:
@"(?<=Set-Cookie:\ ).*?(?=;)"
"(?<=Set-Cookie: ).*?(?=;)"
"(?<=Set-Cookie:\\ ).*?(?=;)"
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
ни один из вариков не пашет
ну как же не пашет?

проверил код

C#:
string get_cookie =project.Variables["res"].Value;

var Cookie = string.Join("; ", Regex.Matches(get_cookie, @"(?<=Set-Cookie:\ ).*?(?=;)").Cast<Match>().Select(x=>x.Value));
return Cookie;
куки выпарсило
 
  • Спасибо
Реакции: Sobesednic

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