Результаты поиска

  1. LaGir

    Особенности использования стандартных lock'ов для многопотока

    Приветствую всех! :) Сразу предупреждаю, что данная статья сугубо техническая (возможно, даже слишком для этого конкурса манимейкерских статей :ap:). Так что если что, неподготовленным умам рекомендую сразу покидать топик, не стоит мучать себя. :) Кратко о стандартных lock'ах Если вам...
  2. LaGir

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

    Думаю, для этой задачи вполне можно использовать метод профиля RegenerateLogin: //Язык генерации (Eng, Lat или Jap) string lang = "Lat"; //Количество слогов int sylCount = 2; //Возвращаем сгенерированное слово return project.Profile.RegenerateLogin(String.Format("[{0}|{1}]", lang, sylCount))...
  3. LaGir

    Набор шаблонов и сниппетов ZennoPoster + C# для самообучения

    Приветствую всех! Представляю вашему вниманию набор открытых демонстрационных шаблонов и сниппетов ZennoPoster, предназначенных для самостоятельного изучения и использования в качестве заготовок. Все шаблоны написаны на C#, практически весь код закомментирован, что за что отвечает. Набор...
  4. LaGir

    Order ZennoPoster templates and C#-snippets

    Greetings! I provide the following services: Writing C#-snippets and templates for ZennoPoster. Consultations on working with ZennoPoster. If your question doesn't require a significant effort to answer - it's free. Russian topic with reviews Contacts E-mail: [email protected] Telegram...
  5. LaGir

    Когда собираю изображения с яндекса, собираются и пустые.

    Если сразу там же собирать путь из переменных ancor и nextpicture: string path = Path.Combine(project.Directory, project.Variables["ancor"].Value, project.Variables["nextpicture"].Value+".jpg"); System.Drawing.Image img = System.Drawing.Image.FromFile(path); Если путь уже собран в переменной...
  6. LaGir

    Свойство FullEmulationMouseCurrentPosition - что за зверь?

    С помощью этого свойства можно определить текущее положение курсора на странице. //Получаем текущую координату мыши во вкладке по X int x = instance.ActiveTab.FullEmulationMouseCurrentPosition.X; //Получаем текущую координату мыши во вкладке по Y int y =...
  7. LaGir

    Сниппеты эмуляции мыши: FullEmulationMouse

    Конкретно для демонстрации методов мыши необычный вариант, но почему бы и нет. :) Добавил ещё поиск последнего поста в теме и его "чтение". Только сорре, что к мыши не относится - тоже в коде, на кубиках разучился писать (зато почти всё закомменчено). Прикрепляю шаблон к сообщению. Для ленивых...
  8. LaGir

    Сниппеты эмуляции мыши: FullEmulationMouse

    Можно, давай актуальный сайт и какие действия на нём делать :)
  9. LaGir

    Checking how many tabs are open

    Yes, C#... //If tabs are more than one if (instance.AllTabs.Length>1){ //Delete all and leave only the first one for (int i=1; i<instance.AllTabs.Length; i++){ instance.AllTabs[i].Close(); i--; } }
  10. LaGir

    Сниппеты эмуляции мыши: FullEmulationMouse

    С момента моих последних постов в этой теме появилось ещё несколько методов виртуальной мыши: FullEmulationMouseWheel (5.10.7.0), FullEmulationMouseDragAndDrop и FullEmulationMouseSetScrollBorder (5.11.6.0). Давайте кратко рассмотрим эти методы. 1. FullEmulationMouseWheel Данный метод...
  11. LaGir

    How to Check if String is in List

    It looks like a bug. It turns out that in the implementation of IZennoList comparisons occur on the contrary. In "C#-List" - (element==postLink), in IZennoList - (element.Contains(postLink)). In any case, it turns out this way in my experiments) If you need only read IZennoList list, you can...
  12. LaGir

    Определить высоту страницы (не окна)

    Есть документация по управлению из кода, содержит примеры ко многим вещам, правда всё на английском.
  13. LaGir

    брать информацию из исходника xls файла из разных вкладок

    Как получить данные из вкладок в xls таблице
  14. LaGir

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

    Try this snippet: Func<uint,string> toip = (ip) => { return String.Format ("{0}. {1}. {2}. {3}", ip >> 24, (ip >> 16) & 0xff, (ip >> 8) & 0xff, ip & 0xff); }; string IP = "5.39.40.96/27"; string [] parts = IP.Split ('.', '/'); uint ipnum = (Convert.ToUInt32 (parts [0]) << 24) |...
  15. LaGir

    Как скомпилировать либу с github под зенку?

    TeleSharp.TL.dll тоже добавь, иначе точно работать не будет. Ну и на юзинги не стоит скупиться, удобнее писать код и использовать примеры из сети. :) Чтоб методы асинхронно работали, нужно, конечно, в Общим коде их оборачивать (как тут описано), но для последовательного выполнения в сниппете -...
  16. LaGir

    Как на C# установить значение переменной 0

    project.Variables["A"].Value=project.Variables["B"].Value+"="+project.Variables["D"].Value;
  17. LaGir

    FullEmulationMouse

    Судя по коду, делается Drag-and-drop, его можно так переделать: Tab tab = instance.ActiveTab; HtmlElement he = tab.FindElementByAttribute("div", "class", "modal-body", "text", 0); int leftintab = int.Parse(he.GetAttribute("leftintab")); int topintab = int.Parse(he.GetAttribute("topintab"))...
  18. LaGir

    где можно увидеть хелп по переменным?

    Добавлю, что эти переменные сразу с их текущими значениями можно посмотреть в окошке "Переменные" на вкладке "Окружение", очень удобно. Справа у каждой переменной есть кнопка, при нажатии на которую макрос переменной (н-р {-Page.Url-} копируется в буфер обмена.
  19. LaGir

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

    Если правильно понял задачу, то примерно так: //Ищем коллекцию элементов, которые удовлетворяют заданным атрибутам капчи var col = instance.ActiveTab.FindElementsByAttribute("img","img", "captcha","text"); //Если в коллекции есть элементы if (col.Count>0){ //Перебираем элементы коллекции...
  20. LaGir

    Как получать все значения спарсенные регуляркой?

    Как вариант, пишем в Общем коде: public static void RegexToList(IZennoPosterProjectModel project) { var parse = project.Variables["api"].Value; var regex = new Regex(@"(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?"); var zp_list =...
  21. LaGir

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

    Проблема в недопонимании как работает Directory.Move. Второй аргумент метода - это будущий путь перемещаемой папки, а не путь к папке, в которую нужно переместить начальную папку. Думаю, примеры помогут понять лучше. Перенос папки без переименования: //Путь к папке, которую нужно переместить...
  22. LaGir

    Как получать все значения спарсенные регуляркой?

    Не получается представить, каким образом эти 4 строчки могу разрывать логику проекта? Они особо ж не привязаны ни к чему, хоть в метод оформляй, точки входа-выхода заменяемы.
  23. LaGir

    Шаблоны Zenno + C# на заказ

    Приветствую! Предоставляю услуги написания шаблонов для ZennoPoster на заказ. Текущая главенствующая специализация - сложные браузерные проекты, в которых стоит задача автоматизировать какие-либо действия с наиболее высоким уровнем эмуляции действий реального пользователя и параметров его...
  24. LaGir

    Как взять значения с помощью XPath и положить в список?

    Если все 5 находятся по тому пути, то так: Tab tab = instance.MainTab; var ab = tab.MainDocument.FindElementsByXPath("//a[contains(@class, 'link link_theme_outer other-sites__outer-link i-bem')]"); foreach (var el in ab.Elements){ project.Lists["Список 1"].Add(el.InnerHtml); }
  25. LaGir

    Как отсортировать таблицу сразу по двум столбцам?

    На основе этого сниппета: IZennoTable table = project.Tables["Таблица 1"]; // таблица проекта int i1 = 1; // номер столбца, по которому сортировать (приоритетный) int i2 = 0; // номер столбца, по которому сортировать (второстепенный) List<string> tmpList = new List<string>(); // создаем темповый...
  26. LaGir

    Не могу обработать кнопку, xpath мутный?

    Они должны цепляться за те элементы и их атрибуты, вероятность изменений которых на сайте максимально мала. Чаще всего это какие-либо осмысленные тексты атрибутов (например, класс 'button_find'), либо явные тексты, видные на на самой странице (тот же текст 'Поиск по картинке' вполне можно...
  27. LaGir

    Не могу обработать кнопку, xpath мутный?

    Добавлю, что подобные пути XPath падают от малейшего чиха в верстке страницы. Если и пользоваться автоматическими инструментами составления путей, то лучше присмотритесь к XPath Helper Wizard для хрома. Достаточно зажать Shift и навести мышью на элемент - плагин покажет короткий путь к целевому...
  28. LaGir

    Сниппеты эмуляции мыши: FullEmulationMouse

    Верно.
  29. LaGir

    Ошибка при сохранение таблиц

    Такая ошибка возникает если где-то идёт обращение к строке/ячейке с несуществующим номером. Например, в таблице 100 строк, с номерами (индексами) от 0 до 99. Если в шаблоне каким-либо образом происходит попытка прочитать/записать строку с номером, скажем, -40 или 157 (т.е. за пределами диапазона...
  30. LaGir

    What reference should I add for the namespace 'Keys'?

    WindowsFormsIntegration.dll contains 'System.Windows.Forms.Integration' namespace, but not contains 'System.Windows.Forms' namespace. So, this dll doesn't contain 'Keys' enum. So you need to add a reference to System.Windows.Forms.dll.
  31. LaGir

    What reference should I add for the namespace 'Keys'?

    And do you have a reference to 'System.Windows.Forms' here? By default CC doesn't have some of references that PM has.
  32. LaGir

    Вопрос для знатоков C#

    del
  33. LaGir

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

    Вставляем данный кусок в Общий код, попутно правя ошибки и очепятки, переименовываем пространство имён, чтоб не совпадало с названием класса: namespace Rsaa { public class Rsa { private byte[] _exponent; private byte[] _modulus; public string Exponent {...
  34. LaGir

    Записать список в SQLite

    Имеется ввиду текст самого запроса, что вот тут находится (в виде конкретного значения): Для работы в кубике, лучше все 400 запросов или 1 скленный сформировать заранее в какую-нибудь переменную, и эту переменную вставить в поле на скрине выше. Заодно и проверить текст запроса внутри неё будет...
  35. LaGir

    Записать список в SQLite

    Пихает в одну строку - значит в обоих случаях нарушен синтаксис запросов. После формирования запроса/пакета сохраните его куда-нибудь (в переменную или файл) и проверьте вручную, где закралась ошибка.
  36. LaGir

    Записать список в SQLite

    По умолчанию SQLite на каждый запрос закрывает и открывает файл БД, на что и тратится больше всего времени. Решить проблему просто - отправлять данные одним запросом вида: INSERT INTO table (column1, column2) VALUES (data1, data2), (data1, data2), (data1, data2), (data1, data2); Либо отправлять...
  37. LaGir

    Шаблон отрабатывает очень медленно

    Чисто случайно параллельно с этим шаблоном не крутился ли какой-нибудь другой (другие) шаблон с похожими залоченными операциями с таблицами?
  38. LaGir

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

    project.Lists["Список 1"].AddRange(project.Variables["text"].Value.Split('\n'));
  39. LaGir

    Отключить макросы переменных в C# коде

    Насколько мне известно - никак. Но если уж очень хочется именно по-своему, можно просто в сниппете разделить литерал макроса, например так: project.Variables["text2"].Value = "{" + "-Variable.text-}"; Результат выполнения:
  40. LaGir

    Нужна помощь по xpatch

    Нужно сменить тип переменных: string pageID = project.Variables["id"].Value; //ID странички string postID = project.Variables["nomer_post"].Value; //ID поста на страничке Проверьте личку, писал на всякий случай по контактам.
  41. LaGir

    Нужна помощь по xpatch

    Путь //*[@id="wpt180262073_179"] - на весь пост целиком. Нужно также учитывать, что этот путь зависим от ID странички и ID поста. Саму задачу, если цепляться за такой путь, можно решить следующим образом: int pageID = 180262073; //ID странички int postID = 179; //ID поста на страничке...
  42. LaGir

    Нужна помощь по xpatch

    Да, достаточно обратиться к свойству InnerHtml вместо InnerText. return instance.ActiveTab.FindElementByXPath("//div[text()='"+block+"']/following-sibling::div",0).InnerHtml;
  43. LaGir

    The name 'FileSystem' does not exist in the current context.

    Thread.Sleep belongs to the namespace System.Threading, maybe you don't have this "using" in ActionGroup2.cs (by default it is absent in CC). Or you can just write like this: System.Threading.Thread.Sleep(beforeRnd);
  44. LaGir

    Нужна помощь по xpatch

    Точно правильно название контейнера пишете? Двоеточие не забываете? Если нет, приведите пример кода с другим названием контейнера, который не работает. У меня всё работает, проверил на двух страницах.
  45. LaGir

    Нужна помощь по xpatch

    Что-либо сломать со стороны шаблона могут только кривые пути (так же, как и кривые регулярки), поэтому не стоит так к данному инструменту. Можно использовать например такой код. Из сниппета возвращаться будет текст того блока, название которого указано в первой строке (н-р "Интересы:", "Любимые...
  46. LaGir

    Как получить количество совпадений в двух переменных?

    string s1 = project.Variables["peremennaya_1"].Value; string s2 = project.Variables["peremennaya_2"].Value; return s1.Split(new[]{' '}).Intersect(s2.Split(new[]{' '})).Count();
  47. LaGir

    XPath универсальный C# шаг работы с элементами

    Можно зайти в Общий код и удалить пару строчек: А можно использовать более простой код, без Общего кода: string count = project.Variables["count1_tr"].Value; string xPath = "//tr[@class='datarows'][" + count + "]/td[@id='td-x-7']"; return instance.ActiveTab.FindElementByXPath(xPath,0).InnerText;
  48. LaGir

    mуsql и русский язык

    Смотришь какой тип базы и соответствие на джино, ставишь такие же на webtropia.
  49. LaGir

    How Can I Export Project from ProjectMaker to CodeCreator?

    What is the problem in the details?
  50. LaGir

    The name 'FileSystem' does not exist in the current context.

    If you need to use properties or methods of instance or project in your function/method - use them as arguments, otherwise - don't use. I think that's enough. If your template is complicated, it makes sense to create separate class with instance and project properties, and initialize them at the...