Почему кубик c# отрабатывает только в project maker?

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
166
Благодарностей
10
Баллы
18
Добрый вечер! Почему код c# отрабатывает только в project maker?

C#:
project.Variables["var_counter"].Value = File.ReadAllLines(@"{-Project.Directory-}USERAGENTS\Browser\Name\user-agents_{-Variable.var_source-}_browser.txt").Length.ToString();
А уже в самом zennoposter выдает ошибку
C#:
Выполнение действия CSharp OwnCode. Не удалось найти часть пути "C:\Program Files\ZennoLab\RU\ZennoPoster Lite (V7 beta)\5.41.1.0\Progs\{-Project.Directory-}USERAGENTS\Browser\Name\user-agents_{-Variable.var_source-}_browser.txt".

Как решить данную проблему?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 493
Благодарностей
9 550
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: Yuriy Zymlex

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 652
Баллы
113
макросы переменных не работают в коде в зп
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 729
Баллы
113
{-Variable.var_source-} и {-Project.Directory-} нужнно заменить на макрсы в синтаксисе C#.
кстати давно вопрос висит. а почему они ВООБЩЕ работают в C# ? это не относится с C# вообще ни как. тем более что и в ЗП они не работают.
Для чего тогда они ?
 

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
166
Благодарностей
10
Баллы
18

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 493
Благодарностей
9 550
Баллы
113
  • Спасибо
Реакции: Medvedoc и Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
C#:
project.Variables["var_counter"].Value = File.ReadAllLines(project.Directory + "\\USERAGENTS\\Browser\\Name\\user-agents_" + project.Variables["var_source"].Value + "_browser.txt").Length.ToString();
А чем отличается директория с собачкой и без собачки? У меня так работает, но хочиться понять различие
C#:
lock(Locker.Контент){
// Привязать список к файлу
IZennoList list = project.Lists["Контент"];
list.Bind(@project.Directory+ @"\Контент\Контент.txt");
}
lock(Locker.Контент){
var list = project.Lists["Контент"];
string text = project.Variables["get"].Value;
if (list.Contains(text)) {
   return "Найдено в блеклисте";
}
}
 

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
166
Благодарностей
10
Баллы
18
C#:
project.Variables["var_counter"].Value = File.ReadAllLines(project.Directory + "\\USERAGENTS\\Browser\\Name\\user-agents_" + project.Variables["var_source"].Value + "_browser.txt").Length.ToString();
Все отлично работает =) Спасибо огромное!

А можно еще вопросик? Есть файл текстовый txt с количеством строк за 2млн. Как его с помощью сниппета можно очистить от дублей?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 493
Благодарностей
9 550
Баллы
113
А чем отличается директория с собачкой и без собачки? У меня так работает, но хочиться понять различие
Собачка позволяет не прописывать доп. слеши. Без собачки их надо прописывать \\
 
  • Спасибо
Реакции: Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Все отлично работает =) Спасибо огромное!

А можно еще вопросик? Есть файл текстовый txt с количеством строк за 2млн. Как его с помощью сниппета можно очистить от дублей?
C#:
lock(CommonCode.SyncObject)
{
    HashSet<string> hs = new HashSet<string>(project.Lists["buildID"]);
    project.Lists["buildID"].Clear();
    project.Lists["buildID"].AddRange(hs);
}



https://zennolab.com/discussion/threads/kak-udalit-dubli-v-spiske-s-pomoschju-c.50863/#post-620959
List<string> ListTemp = Listprofili.Distinct().ToList(); // создаем временный список
Listprofili.Clear(); // очищаем исходный список
Listprofili.AddRange(ListTemp); // из временного списка переносим в исходный список




https://zennolab.com/discussion/threads/poisk-odinakovyx-strok-po-reguljarke-v-spiske-i-udalenie-ix-c.72313/

IZennoList list = project.Lists["List"];

lock (SyncObjects.ListSyncer) {
    for (int i = 0; i < list.Count; i++) {
        for (int j = i + 1; j < list.Count; j++) {
            if (list[i].Split('.')[0] == list[j].Split('.')[0]) {
                list.RemoveAt(j); j--;
            }
        }
    }
}
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
166
Благодарностей
10
Баллы
18
C#:
lock(CommonCode.SyncObject)
{
    HashSet<string> hs = new HashSet<string>(project.Lists["buildID"]);
    project.Lists["buildID"].Clear();
    project.Lists["buildID"].AddRange(hs);
}



https://zennolab.com/discussion/threads/kak-udalit-dubli-v-spiske-s-pomoschju-c.50863/#post-620959
List<string> ListTemp = Listprofili.Distinct().ToList(); // создаем временный список
Listprofili.Clear(); // очищаем исходный список
Listprofili.AddRange(ListTemp); // из временного списка переносим в исходный список




https://zennolab.com/discussion/threads/poisk-odinakovyx-strok-po-reguljarke-v-spiske-i-udalenie-ix-c.72313/

IZennoList list = project.Lists["List"];

lock (SyncObjects.ListSyncer) {
    for (int i = 0; i < list.Count; i++) {
        for (int j = i + 1; j < list.Count; j++) {
            if (list[i].Split('.')[0] == list[j].Split('.')[0]) {
                list.RemoveAt(j); j--;
            }
        }
    }
}
когда файл в 2000000 строк, то не дает его подгрузить в обычный кубик списка
 

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
166
Благодарностей
10
Баллы
18
я через командную строку пока от дублей чищу
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
Все отлично работает =) Спасибо огромное!

А можно еще вопросик? Есть файл текстовый txt с количеством строк за 2млн. Как его с помощью сниппета можно очистить от дублей?
Скачай себе прогу vladonai.com она с локальной базой и прям туда можно скопировать все сниппеты
1628092385553.png
https://github.com/ZennoHelpers/Snippets и моментальный поиск) Там сниппеты разные есть, и где увидел так на форуме скопировал, когда нибудь пригодиться.
 
  • Спасибо
Реакции: GREXA

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 493
Благодарностей
9 550
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 652
Баллы
113
с собачкой и кавычки двойные экранируются дублированием, а не слешем
 
  • Спасибо
Реакции: Sergodjan

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
745
Баллы
113
с собачкой и кавычки двойные экранируются дублированием, а не слешем
Не понятно, что сказал. Можешь, пожалуйста, пример показать на этом сниппете, с собачкой и без собачки сделать, когда наглядно, так понятнее.
C#:
lock(Locker.Контент){
// Привязать список к файлу
IZennoList list = project.Lists["Контент"];
list.Bind(@project.Directory+ @"\Контент\Контент.txt");
}
lock(Locker.Контент){
var list = project.Lists["Контент"];
string text = project.Variables["get"].Value;
if (list.Contains(text)) {
   return "Найдено в блеклисте";
}
}
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 652
Баллы
113
Не понятно, что сказал. Можешь, пожалуйста, пример показать на этом сниппете, с собачкой и без собачки сделать, когда наглядно, так понятнее.
C#:
lock(Locker.Контент){
// Привязать список к файлу
IZennoList list = project.Lists["Контент"];
list.Bind(@project.Directory+ @"\Контент\Контент.txt");
}
lock(Locker.Контент){
var list = project.Lists["Контент"];
string text = project.Variables["get"].Value;
if (list.Contains(text)) {
   return "Найдено в блеклисте";
}
}
@"фраза ""фраза в кавычках"" фраза"
"фраза \"фраза в кавычках\" фраза"
 
  • Спасибо
Реакции: Sergodjan и Roman48

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18
Код
instance.ClearCacheAndCookie();

работает без установки соответствующей установленной библиотеки или нет?
Почему то у меня ошибка выполнения
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
564
Благодарностей
1 145
Баллы
93
Код
instance.ClearCacheAndCookie();

работает без установки соответствующей установленной библиотеки или нет?
Почему то у меня ошибка выполнения
Пришлите текст ошибки.)

Скорее всего решение:
Пост
В метод instance.ClearCache добавлен необязательный параметр storeCookie, по умолчанию true. Если false, то вызов метода также очистит cookies. Вместо вызова двух команд instance.ClearCache(); instance.ClearCookie(), можно написать instance.ClearCache(false). Кода меньше, работает быстрее и надежнее.
Попробуйте:
Очистка Кеша и Куков:
instance.ClearCache(false);
 
  • Спасибо
Реакции: Zoloo

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18
Пришлите текст ошибки.)

Скорее всего решение:
Пост


Попробуйте:
Очистка Кеша и Куков:
instance.ClearCache(false);
Спасибо

из обсуждения поста выше
а почему бы не сделать отдельный метод например - instance.ClearCacheAndCookie()

сохранили бы чистоту и читабельность кода.
этот метод был и работал, насколько я понимаю,) в предыдущей версии. Из библиотеки курса "швейцарский нож разработчика"
Он сейчас совсем не работает или требуется библиотека?

В принципе все устраивает.
Но хотелось бы знать, насколько актуален курс и библиотека) в 7
 

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18
instance.Reload();
instance.ClearCache(false);

Компиляция кода Ошибка в действии "CS1503" "Argument 1: cannot convert from 'bool' to 'string'". [Строка: 2; Cтолбец: 21]
и без первой строчки тоже самое

и на кубике всплывает ошибка - не указана переменная для завершения операции.
Зачем там перемеенная?
 
Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 011
Благодарностей
4 487
Баллы
113

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18
и еще, пока в шаблоне присутствует этот код, та же самая ошибка при выполнении любого кода в шаблоне.
Такое не первый раз замечаю, если шаг выполняется с ошибкой, пока его не удалишь, ошибка будет во всем шаблоне
 

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18
Возможно нужно дождаться завершения операции Reload разнеся эти методы в разные кубики.
уже сделал. Та же ошибка.
Даже при установке точки останова на этом коде, ошибка.
Пока совсем не удалишь
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 011
Благодарностей
4 487
Баллы
113

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18

Astraport

Client
Регистрация
01.05.2015
Сообщения
5 011
Благодарностей
4 487
Баллы
113

Zoloo

Client
Регистрация
19.06.2020
Сообщения
123
Благодарностей
10
Баллы
18
Вы чего добиваетесь?
не совсем понял вопрос.

Хотел упростить код.
Изначально - так instance.ClearCacheAndCookie();
Предложили вариант выше.
Ни тот, ни другой не работают.
Теперь даже просто интересно.
 

volody00

Client
Регистрация
06.09.2016
Сообщения
979
Благодарностей
1 067
Баллы
93
не совсем понял вопрос.

Хотел упростить код.
Изначально - так instance.ClearCacheAndCookie();
Предложили вариант выше.
Ни тот, ни другой не работают.
Теперь даже просто интересно.
поскольку метод instance.ClearCacheAndCookie(); взят из библиотеки "Швейцарский нож разработчика", вопросы по поводу метода надо задавать автору библиотеки (или вносить правки в общий код).

Метод instance.Reload(); и так очищает кэш и куки, насколько я помню, после него не надо выполнять instance.ClearCache();

Почему не работает: метод ClearCache() содержит два необязательных параметра, первый из которых string (для каких доменов очищать кэш, по умолчанию для всех), а второй упомянутый выше storeCookie. Код надо переписать так:

C#:
instance.Reload();
instance.ClearCache(storeCookie: false);
82469
 
Последнее редактирование:
  • Спасибо
Реакции: djaga и Zoloo

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