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

Ikigai

Client
Joined
Dec 13, 2016
Messages
276
Reaction score
27
Points
28
У каждого додика своя методика, однако, я MindManager использую. Там и структуру можно выстроить и тексты сохранить, коды, а также ссылки и даже картинки и видео


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

vrb-by

Client
Joined
Feb 27, 2016
Messages
128
Reaction score
8
Points
18
Хелп как скопировать значение переменной в буфер?
 

evgen_po

Client
Joined
Aug 27, 2013
Messages
848
Reaction score
532
Points
93
  • Thank you
Reactions: Osminogus

Valiksim

Client
Joined
Apr 14, 2012
Messages
1,344
Reaction score
298
Points
83
Не могу преодолеть Replace. Не поддаётся дрессировка, нужна помощь
Задача: есть текст, в котором в конце строки стоит либо "&", либо "?". Вот их надо удалить

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

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

evgen_po

Client
Joined
Aug 27, 2013
Messages
848
Reaction score
532
Points
93
Не могу преодолеть Replace. Не поддаётся дрессировка, нужна помощь
Задача: есть текст, в котором в конце строки стоит либо "&", либо "?". Вот их надо удалить

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


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

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Не могу преодолеть Replace. Не поддаётся дрессировка, нужна помощь
Задача: есть текст, в котором в конце строки стоит либо "&", либо "?". Вот их надо удалить
C#:
string input = "либо &, либо ?";
input = Regex.Replace(input, @"(&|\?)$", string.Empty);
return input;
 
  • Thank you
Reactions: Valiksim

Valiksim

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

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Не работает, удаляет вместе с строкой
Code:
&|\?(?=\r|$)
С такой регуляркой будет норм!
 
Last edited:
  • Thank you
Reactions: Valiksim

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Да мне, в общем-то без разницы. НО, я так пробовал,- не вычищается. БОлее того, это как раз тот случай, когда строки дублируются
Не работает, удаляет вместе с строкой
Что-то ты, походу, не то делаешь - не должно быть ни того ни другого.
 

Valiksim

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

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

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Я решил немного другой регуляркой (.*(?=\?|\&)). Вроде бы всё вычищается
А эта регулярка как раз и удалит ВСЁ, кроме конечных символов.
Явно где-то в коде накосячил, раз всё наоборот.
 

Valiksim

Client
Joined
Apr 14, 2012
Messages
1,344
Reaction score
298
Points
83
А эта регулярка как раз и удалит ВСЁ, кроме конечных символов
У меня удаляет эти два символа в конце строки, остальное остаётся. :bm: Странно
 

Valiksim

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


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

LaGir

Client
Joined
Oct 1, 2015
Messages
230
Reaction score
948
Points
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 раз, а элемента так и нет!");
 
  • Thank you
Reactions: Valiksim

AloneSlamer

Client
Joined
Jan 29, 2013
Messages
1,404
Reaction score
362
Points
83

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

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Чё делать? Сойдёт любое решение, которое сможет скролить, переходить, опускаться до заданного места
Можно, например, использовать javascript отсюда.
Можно еще использовать эмуляцию PageDown
C#:
instance.SendText("{PGDN}", 15);
 
  • Thank you
Reactions: Valiksim

kokoko

Client
Joined
Jun 23, 2016
Messages
249
Reaction score
19
Points
18

Valiksim

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

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

WEISS

Client
Joined
Dec 11, 2015
Messages
115
Reaction score
25
Points
28
Добрый день!
есть снипет
Code:
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
Joined
Aug 27, 2013
Messages
848
Reaction score
532
Points
93
Добрый день!
есть снипет
Code:
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)];//Берем строку из переменной проекта
должно так установится
 
  • Thank you
Reactions: WEISS

WEISS

Client
Joined
Dec 11, 2015
Messages
115
Reaction score
25
Points
28
string ID = list[Convert.ToInt32(project.Variables["переменная проекта"].Value)];//Берем строку из переменной проекта
должно так установится
Работает, спасибо
 

WEISS

Client
Joined
Dec 11, 2015
Messages
115
Reaction score
25
Points
28
Добрый день!
Снипет удаляет дубли в списке
Code:
var tempList = new List<string>(project.Lists["all"]);
project.Lists["all"].Clear();
project.Lists["all"].AddRange(tempList.Distinct());
А как сделать чтобы удалял дубли из файла который не привязан к списку, путь файла берем из переменной.
Спасибо.
 

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
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);
 
  • Thank you
Reactions: samsonnn and WEISS

WEISS

Client
Joined
Dec 11, 2015
Messages
115
Reaction score
25
Points
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
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Спасибо, работает. А как будет если прописать путь файла?
C#:
string path = @"C:\test.txt";
 
  • Thank you
Reactions: WEISS

Fantomass

Client
Joined
Apr 13, 2016
Messages
87
Reaction score
38
Points
18
Есть список, в котором одна строка. Подскажите пожалуйста, как в этой строке теги <br> заменить на перенос строки и на выходе получить список с несколькими строками?
 

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
Есть список, в котором одна строка. Подскажите пожалуйста, как в этой строке теги <br> заменить на перенос строки и на выходе получить список с несколькими строками?
1. Операции над списком > Объединить элементы списка в переменную
2. Обработка текста > Замена > заменить <br> на {-String.Enter-}
3. Операции над списком > Удалить строки > Удалить все элементы
4. Операции над списком > Добавить текст
 
  • Thank you
Reactions: nik-n

Fantomass

Client
Joined
Apr 13, 2016
Messages
87
Reaction score
38
Points
18
1. Операции над списком > Объединить элементы списка в переменную
2. Обработка текста > Замена > заменить <br> на {-String.Enter-}
3. Операции над списком > Удалить строки > Удалить все элементы
4. Операции над списком > Добавить текст
Спасибо за ответ!
А как это все сделать на c#?
 

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,130
Points
113
А как это все сделать на c#?
C#:
IZennoList list = project.Lists["List"];
string[] lines = list[0].Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);
list.Clear();
list.AddRange(lines);
 

nik-n

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

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