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

Ikigai

Client
Регистрация
13.12.2016
Сообщения
276
Благодарностей
27
Баллы
28
У каждого додика своя методика, однако, я MindManager использую. Там и структуру можно выстроить и тексты сохранить, коды, а также ссылки и даже картинки и видео


Есть подозрение, что это разработчики Зеннопостера бота такого сделали и нам бот отвечает. Иначе как объяснить тот факт, что он тут круглосуточно сидит? o_O
Но, в самом деле, помогает всегда от души. :ay:
Я уже нашел хороший вариант , через гугл докс, там оказывается есть замечательная штука как Структура файла(использует якоря по заголовкам )
 

vrb-by

Client
Регистрация
27.02.2016
Сообщения
128
Благодарностей
8
Баллы
18
Хелп как скопировать значение переменной в буфер?
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
  • Спасибо
Реакции: Osminogus

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Не могу преодолеть Replace. Не поддаётся дрессировка, нужна помощь
Задача: есть текст, в котором в конце строки стоит либо "&", либо "?". Вот их надо удалить

C#:
strRegexResult = strRegexResult.Replace(@"?", String.Empty);
strRegexResult = strRegexResult.Replace(@"&", String.Empty);
Перепробовал экранирования, и другие извращения методы, удалить не удаётся. Максимум чего добился (не помню уже как?), так это то, что строка дублируется, и в окончательном списке остаются 2 строки, одна вычищена, другая оригинал. Красиво, конечно, но это не то, чего мне нужно. Инет помочь не хочет (там все удаляют только букву "s" из текста), так что вся надежда на этот форум

Слишком ненадёжный ресурс. Предпочитаю иметь всё на своём компьютере
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
Не могу преодолеть Replace. Не поддаётся дрессировка, нужна помощь
Задача: есть текст, в котором в конце строки стоит либо "&", либо "?". Вот их надо удалить

C#:
strRegexResult = strRegexResult.Replace(@"?", String.Empty);
strRegexResult = strRegexResult.Replace(@"&", String.Empty);
Перепробовал экранирования, и другие извращения методы, удалить не удаётся. Максимум чего добился (не помню уже как?), так это то, что строка дублируется, и в окончательном списке остаются 2 строки, одна вычищена, другая оригинал. Красиво, конечно, но это не то, чего мне нужно. Инет помочь не хочет (там все удаляют только букву "s" из текста), так что вся надежда на этот форум


Слишком ненадёжный ресурс. Предпочитаю иметь всё на своём компьютере
strRegexResult = strRegexResult.Replace(@"?", "").Replace(@"&","");
но так заменятся все ? и & - независимо сколько их и где. Надежнее конечно регуляркой делать
 
  • Спасибо
Реакции: Valiksim

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Не могу преодолеть Replace. Не поддаётся дрессировка, нужна помощь
Задача: есть текст, в котором в конце строки стоит либо "&", либо "?". Вот их надо удалить
C#:
string input = "либо &, либо ?";
input = Regex.Replace(input, @"(&|\?)$", string.Empty);
return input;
 
  • Спасибо
Реакции: Valiksim

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
strRegexResult = strRegexResult.Replace(@"?", "").Replace(@"&","");
но так заменятся все ? и & - независимо сколько их и где. Надежнее конечно регуляркой делать
Да мне, в общем-то без разницы. НО, я так пробовал,- не вычищается. БОлее того, это как раз тот случай, когда строки дублируются
100000001451908
100000001451908&
100000041089108
100000041089108?
Пробуем второй код, от @Dimionix
C#:
string input = "либо &, либо ?";
input = Regex.Replace(input, @"(&|\?)$", string.Empty);
return input;
Не работает, удаляет вместе с строкой
 

Dimionix

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

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Да мне, в общем-то без разницы. НО, я так пробовал,- не вычищается. БОлее того, это как раз тот случай, когда строки дублируются
Не работает, удаляет вместе с строкой
Что-то ты, походу, не то делаешь - не должно быть ни того ни другого.
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Код:
&|\?(?=\r|$)
С такой регуляркой будет норм!
Кажется, эта всё равно что-то не так. То удаляет всё, то заменяет одно на другое
Я решил немного другой регуляркой (.*(?=\?|\&)). Вроде бы всё вычищается
Спасибо за труды.

Что-то ты походу не то делаешь - не должно быть ни того ни другого.
Переменные у меня другие. В остальном, кажется всё также (вроде бы).
Код:
strRegexResult = Regex.Replace(strRegexResult, @"(&|\?)$", string.Empty);
Я такую конструкцию использую
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Я решил немного другой регуляркой (.*(?=\?|\&)). Вроде бы всё вычищается
А эта регулярка как раз и удалит ВСЁ, кроме конечных символов.
Явно где-то в коде накосячил, раз всё наоборот.
 

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Боюсь оказаться назойливым, но есть ещё одна задача, которую не получается решить. надо сделать скроллинг на странице, до появления определённого элемента.
Через цикл с задаванием определённой иттерации не то получается, предугадать сколько циклов запускать, сложно. Да и страницы разные всегда, а код один и тот же.
Код:
HtmlElement he = Tab1.FindElementByXPath("//div/h3[contains(@class, 'uiHeaderTitle') and contains(text(), 'Конец страницы')]", 0);
he.ScrollIntoView();
Код XPath правильный, а вот скролл не работает. Как его заставить работать так, чтобы скролилось до появления кода с надписью? Пока не проскролишь, надписи нету в коде страницы


Пробовал и то, что нашёл тут на форуме,- всё равно не работает
Код:
HtmlElement he = Tab1.FindElementByXPath("//div/h3[contains(@class, 'uiHeaderTitle') and contains(text(), 'Конец страницы')]", 0);
if (!he.IsVoid)
{
    he.ScrollIntoView();
}
Чё делать? Сойдёт любое решение, которое сможет скролить, переходить, опускаться до заданного места
 

LaGir

Client
Регистрация
01.10.2015
Сообщения
230
Благодарностей
944
Баллы
93
Чё делать? Сойдёт любое решение, которое сможет скролить, переходить, опускаться до заданного места
Нужно использовать второй вариант кода, но надо добавить какой-нибудь вариант скролла. "he.ScrollIntoView();" сам по себе не будет крутить экран к элементу, если элемента на текущем варианте страницы нет. Можно, например, использовать javascript отсюда.
В итоге что-то типа такого должно быть:
C#:
HtmlElement he = Tab1.FindElementByXPath("//div/h3[contains(@class, 'uiHeaderTitle') and contains(text(), 'Конец страницы')]", 0);
//Скролим скриптом страничку, пока не найдётся элемент he
int counter = 0;    //на всякий случай добавляем счётчик в 100 прокруток, чтобы не было вечного цикла если элемента вообще не будет
while(he.IsVoid && counter<100){
    Tab1.MainDocument.EvaluateScript(@"javascript:scrollTo(0,1000)");
    counter++;
}
if (!he.IsVoid)    //Если элемент найден, скролим к нему экран
    he.ScrollIntoView();
else    //Иначе в лог ошибку, что элемент не найден
    project.SendErrorToLog("Крутанули 100 раз, а элемента так и нет!");
 
  • Спасибо
Реакции: Valiksim

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

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

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Чё делать? Сойдёт любое решение, которое сможет скролить, переходить, опускаться до заданного места
Можно, например, использовать javascript отсюда.
Можно еще использовать эмуляцию PageDown
C#:
instance.SendText("{PGDN}", 15);
 
  • Спасибо
Реакции: Valiksim

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18

Valiksim

Client
Регистрация
14.04.2012
Сообщения
1 344
Благодарностей
298
Баллы
83
Ещё не пробовал, но, думаю, такое сработает, спасибо за подсказку
Можно еще использовать эмуляцию PageDown
C#:
instance.SendText("{PGDN}", 15);
Ребята, многие вещи уже освоил, решаю самостоятельно, но есть ещё такое, что не под силу.
Ломаю себе мозг над такой задачей, может быть кто-то подскажет решение.
- Есть база Эксель, в которой какое-то количество строчек, которые надо проверить на наличие. если ЕСТЬ, помечаю как ПРОВЕРЕНО, беру дополнительные данные и добавляю в эту же строку.
- Если наличия нет, всё равно помечаю как ПРОВЕРЕНО и иду к следующей строчке.​
Тут всё ОК, но есть неувязка. Количество проверок задаётся во входящих настройках, к примеру проверить 10 позиций, затем взять другой аккаунт и опять проверить 10 позиций
И вот, заходим в базу, у нас счётчик установлен на 10, НО, он проверяет наличие свободных строк, и счётчик отрабатывает первые 10 строк, и успешно заканчивает работу, говоря о том, что задача выполнена, однако, ничего ведь не проверено.

ВОПРОС
: как сделать так, чтобы при каждом новом прохождении проверка начиналась с последней проверенной строки, в нашем случае с 11, если ранее будет проверено больше строк, то с того, номера строки, который ещё не был в работе
В общем, как отделить мух от котлет? Отделить строки, которые ещё не проверялись, от тех, что проверялись так, чтобы счётчик считал только те, что были проверены?
Понимаю, 1. можно переносить проверенные строки в конец, а 2. можно вообще перенести в другой файл (идеальным было бы записать в "Лист 2" и "Лист 3", но не знаю как?), однако, сейчас надо решить такую задачу (мы же лёгких путей не ищем).
 

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28
Добрый день!
есть снипет
Код:
project.SendInfoToLog("Устанавливаем ФЭЙКА",true);
var list = project.Lists["акки"];//Определяем Список
string ID = list[1];//Берем 1-ю строку
System.Threading.Thread.Sleep(15000);// пауза в милисекундах
var logPass = ID.Split('|');
project.Variables["login"].Value = logPass[0];
project.Variables["password"].Value = logPass[1];
project.Variables["proxy"].Value = logPass[2];
project.Variables["name"].Value = logPass[3];
project.Variables["access_token"].Value = logPass[4];
project.Variables["ID_akk"].Value = logPass[5];
project.Variables["UserAgent"].Value = logPass[6];
а как указать номер строки которую берем из переменной проекта.
Спасибо.
 

evgen_po

Client
Регистрация
27.08.2013
Сообщения
848
Благодарностей
532
Баллы
93
Добрый день!
есть снипет
Код:
project.SendInfoToLog("Устанавливаем ФЭЙКА",true);
var list = project.Lists["акки"];//Определяем Список
string ID = list[1];//Берем 1-ю строку
System.Threading.Thread.Sleep(15000);// пауза в милисекундах
var logPass = ID.Split('|');
project.Variables["login"].Value = logPass[0];
project.Variables["password"].Value = logPass[1];
project.Variables["proxy"].Value = logPass[2];
project.Variables["name"].Value = logPass[3];
project.Variables["access_token"].Value = logPass[4];
project.Variables["ID_akk"].Value = logPass[5];
project.Variables["UserAgent"].Value = logPass[6];
а как указать номер строки которую берем из переменной проекта.
Спасибо.
string ID = list[Convert.ToInt32(project.Variables["переменная проекта"].Value)];//Берем строку из переменной проекта
должно так установится
 
  • Спасибо
Реакции: WEISS

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28
Добрый день!
Снипет удаляет дубли в списке
Код:
var tempList = new List<string>(project.Lists["all"]);
project.Lists["all"].Clear();
project.Lists["all"].AddRange(tempList.Distinct());
А как сделать чтобы удалял дубли из файла который не привязан к списку, путь файла берем из переменной.
Спасибо.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
А как сделать чтобы удалял дубли из файла который не привязан к списку, путь файла берем из переменной.
C#:
string path = project.Variables["FilePath"].Value;
List<string> tmpList = File.ReadAllLines(path, Encoding.Default).ToList();
tmpList = tmpList.Distinct().ToList();
File.WriteAllText(path, string.Join(Environment.NewLine, tmpList), Encoding.UTF8);
 
  • Спасибо
Реакции: samsonnn и WEISS

WEISS

Client
Регистрация
11.12.2015
Сообщения
115
Благодарностей
25
Баллы
28
C#:
string path = project.Variables["FilePath"].Value;
List<string> tmpList = File.ReadAllLines(path, Encoding.Default).ToList();
tmpList = tmpList.Distinct().ToList();
File.WriteAllText(path, string.Join(Environment.NewLine, tmpList), Encoding.UTF8);
Спасибо, работает. А как будет если прописать путь файла?
 

Dimionix

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

Fantomass

Client
Регистрация
13.04.2016
Сообщения
87
Благодарностей
38
Баллы
18
Есть список, в котором одна строка. Подскажите пожалуйста, как в этой строке теги <br> заменить на перенос строки и на выходе получить список с несколькими строками?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Есть список, в котором одна строка. Подскажите пожалуйста, как в этой строке теги <br> заменить на перенос строки и на выходе получить список с несколькими строками?
1. Операции над списком > Объединить элементы списка в переменную
2. Обработка текста > Замена > заменить <br> на {-String.Enter-}
3. Операции над списком > Удалить строки > Удалить все элементы
4. Операции над списком > Добавить текст
 
  • Спасибо
Реакции: nik-n

Fantomass

Client
Регистрация
13.04.2016
Сообщения
87
Благодарностей
38
Баллы
18
1. Операции над списком > Объединить элементы списка в переменную
2. Обработка текста > Замена > заменить <br> на {-String.Enter-}
3. Операции над списком > Удалить строки > Удалить все элементы
4. Операции над списком > Добавить текст
Спасибо за ответ!
А как это все сделать на c#?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
  • Спасибо
Реакции: alekwuy, nik-n и Fantomass

nik-n

Client
Регистрация
05.11.2016
Сообщения
243
Благодарностей
20
Баллы
18
C#:
IZennoList list = project.Lists["List"];
string[] lines = list[0].Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);
list.Clear();
list.AddRange(lines);
Извините за глупый вопрос, а я так понимаю что через код типа быстрее все выполняется нежели то же самое но сделанное через конструктор?
 

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