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

  1. LaGir

    Хелп!!!

    Сразу нужно точные условия озвучивать) Например, так. В списке проекта "Исходные числа" должны лежать числа "1 22 45 39 55 25 66 ...", результат в список "Числа". //Число int c = 57; //Сколько брать предыдущих int before = 6; //Сколько брать следующих int after = 6; //Получаем исходный список...
  2. LaGir

    Хелп!!!

    Например, так: //Число int c = 57; //Сколько брать предыдущих int before = 6; //Сколько брать следующих int after = 6; //Перебираем соседние числа (начинаем с число-6, заканчиваем число+6) for (int i = c-before; i <= c+after; i++) { int digit = i; //Если текущее число больше 60...
  3. LaGir

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

    string path = @"D:\settings.xml"; //Путь экспорта File.WriteAllText(path, ZennoPoster.ExportInputSettings(new Guid(project.TaskId))); (!) Экспорт предназначен для запуска в ZennoPoster, не в ProjectMaker (в PM сохраняет пустой файл).
  4. LaGir

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

    Тогда либо проверяем данные в таблице (может там сумма и должна равна единице), либо ищем несостыковки: cells[2] - это обращение к третьему столбцу, а не ко второму (нумерация в массиве с 0).
  5. LaGir

    Генерация красивых Excel-отчётов по шаблону

    @Serjio Leone, приветствую! По ссылке в шапке написано, что библиотека переехала на GitHub, оттуда и можно скачать. Про актуальность темы не совсем понял. Вроде как техническая статья, а не манимейкерская схема, к примеру, особо нечему становиться неактуальным. :)
  6. LaGir

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

    Объявление переменной count нужно вынести за пределы внешнего цикла. Сейчас на каждой итерации внешнего цикла она объявляется заново, заново становится равна 0.
  7. LaGir

    Как навести курсор на элемент на C#

    Наведение виртуальной мышкой в таких случаях помогает, этот не исключение (используем метод FullEmulationMouseMoveToHtmlElement).
  8. LaGir

    xpath - берется только первый по счету элемент

    Подобными алгоритмами в XPath точно не стоит пользователя. Например, в приведенном пути зависимость аж от 10 элементов и их взаимосвязи, хотя бы 1 изменится - путь ломается. А так как объявления Директа разные (разная степень "заполненности"), структура их различается - такие пути сразу же...
  9. LaGir

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

    Добавлю, что мистики никакой нет, просто метод Create возвращает объект FileStream, для возможности дальнейшей работы с файлом. Поэтому можно просто сразу закрыть его методом Close. Оборачивание в юзинг, впрочем, делает практически то же самое. File.Create(path).Close(); Соответственно, лок...
  10. LaGir

    xpath - берется только первый по счету элемент

    Синтаксис неправильный для этого случая, необходимо в круглые скобки основную часть пути поместить: string xpath_exp = "(//a[contains(text(), '" + btnText + "')])[" + count + "]";
  11. LaGir

    Работа lock со списками

    У вас ошибка в логике цикла, присмотритесь. Почему, например, с таким кодом в первый список попадут значения 1,3,5,7,9,11 вместо 1,2,3,4,5,6, неважно есть многопоток или нет?
  12. LaGir

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

    В MySQL есть свои локи, ими лучше и лочить. На форуме есть ссылки и примеры, например тут.
  13. LaGir

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

    Либо скопируй из того шаблона к себе блок директив и общего кода, либо замени в сниппетах все строчки вида: Helper.Pause(2,5); На подобные: Thread.Sleep(Global.Classes.rnd.Next(2,5)*100); В общем, в тех сниппетах используется кастомный метод паузы из общего кода, на него и ругается компилятор...
  14. LaGir

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

    Интересный момент, не знал - не приходилось использовать их в таких случаях. Благодарю, поковыряю этот момент подробнее и после конкурса добавлю. В том и дело, что почти в каждом сниппете на форуме с локами - используются именно эти объекты. Представители ZennoLab в ответах на форуме так же...
  15. LaGir

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

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

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

    Описанный способ решения с разработчиками никак не согласовывался, но траблов быть не должно. Принцип работы локов и область видимости общего кода не раз обсуждались на форуме, ну а все утверждения в статье, разумеется, я многократно тестировал, примеры использовал на практике в своих шаблонах. :-)
  17. LaGir

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

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

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

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

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

    Приветствую всех! Представляю вашему вниманию набор открытых демонстрационных шаблонов и сниппетов ZennoPoster, предназначенных для самостоятельного изучения и использования в качестве заготовок. Все шаблоны написаны на C#, практически весь код закомментирован, что за что отвечает. Набор...
  20. 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...
  21. 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); Если путь уже собран в переменной...
  22. LaGir

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

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

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

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

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

    Можно, давай актуальный сайт и какие действия на нём делать :)
  25. 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--; } }
  26. LaGir

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

    С момента моих последних постов в этой теме появилось ещё несколько методов виртуальной мыши: FullEmulationMouseWheel (5.10.7.0), FullEmulationMouseDragAndDrop и FullEmulationMouseSetScrollBorder (5.11.6.0). Давайте кратко рассмотрим эти методы. 1. FullEmulationMouseWheel Данный метод...
  27. 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...
  28. LaGir

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

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

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

    Как получить данные из вкладок в xls таблице
  30. 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) |...
  31. LaGir

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

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

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

    project.Variables["A"].Value=project.Variables["B"].Value+"="+project.Variables["D"].Value;
  33. 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"))...
  34. LaGir

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

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

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

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

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

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

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

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

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

    Приветствую! Предоставляю услуги написания шаблонов для ZennoPoster и ZennoDroid на заказ. Основная специализация - объёмные, комплексные браузерные проекты, в которых стоит задача автоматизировать какие-либо действия с высоким уровнем эмуляции действий реального пользователя и параметров его...
  40. 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); }
  41. LaGir

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

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

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

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

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

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

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

    Верно.
  45. LaGir

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

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

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

    del
  49. LaGir

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

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

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

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