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

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
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
Сообщения
20 407
Благодарностей
9 115
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: Yuriy Zymlex

doc

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

Phoenix78

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

Medvedoc

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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 115
Баллы
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
Сообщения
164
Благодарностей
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
Сообщения
20 407
Благодарностей
9 115
Баллы
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
Сообщения
164
Благодарностей
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
Сообщения
164
Благодарностей
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
Сообщения
20 407
Благодарностей
9 115
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
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 684
Благодарностей
4 641
Баллы
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
Сообщения
549
Благодарностей
1 130
Баллы
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
Сообщения
4 983
Благодарностей
4 433
Баллы
113

Zoloo

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

Zoloo

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

Astraport

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

Zoloo

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

Astraport

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

Zoloo

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

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

volody00

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

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

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

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

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

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