Как добавить количество попыток в зенно из шаблона

ALISEMYHEART7

Новичок
Регистрация
02.11.2020
Сообщения
7
Благодарностей
0
Баллы
1
Есть работающий шаблон в зенке и туда иногда нужно добавлять количество попыток - как создать шаблон который бы сам это делал - получить нужное количество новых попыток в переменную не проблема а вот потом в работающую зенку - заставить добавить попытки- проблемс
из тех материалов которые удалось нагуглить
( https://zennolab.com/discussion/threads/upravlenie-shablonom-c.54713/ - пробовал подставить значения - что т не заработало)
( https://help.zennolab.com/en/v5/zennoposter/5.9/webframe.html#ZennoLab.CommandCenter~ZennoLab.CommandCenter.ZennoPoster_members.html - библиотека с говыми с шарп кодами в которых ничерта нипонятно)) увы языки не знаю - все на уровне скопировал- вставил - потытался подставить нужные переменные)
работаю с зенкой 5.47 - увы на новой старые шабы отказываються работать
- думаю уже должно быть готовое простое решение - ибо руками мало кому сейчас интересно в зенно данные вводить - Спасибо что до читали - надеюсь есть что подсказать)
 

ALISEMYHEART7

Новичок
Регистрация
02.11.2020
Сообщения
7
Благодарностей
0
Баллы
1
еще не понятно например надо подставлять имя шаблона например c\papka\name или просто name и как спарсить ид проэкта (иногда он нужен)
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
C#:
Guid shablon = TaskList.GUID("Имя шаблона в зенке");
int count = int.Parse(project.Variables["переменная с количеством новых попыток"].Value);
ZennoPoster.SetMaxThreads(shablon,count);//Устанавливаем максимальное число потоков
//или вместо count любое другое число
ZennoPoster.StartTask(shablon);//Запускаем шаблон
for(int i = 0; i < count; i++){//Добавляем попытки не все сразу, а постепенно
    ZennoPoster.AddTries(shablon,1);
    Thread.Sleep(1000);
}
//Можно добавить и все сразу, тогда вместо цикла сразу пишем
//ZennoPoster.AddTries(shablon,count)
В общий код после
namespace ZennoLab.OwnCode
{
добавить:

C#:
public class TaskList
    {
        /// <summary>
        /// Получаем Guid шаблона по имени
        /// </summary>
        public static Guid GUID (string name){
            string id = string.Empty;
            var tasksList = new List<string>(ZennoPoster.TasksList);
            if(tasksList.Count > 0)
                foreach(string item in tasksList)
                    if (name.CompareTo(Regex.Match(item, @"(?<=<Name>).*(?=</Name>)").Value) == 0){
                        id = Regex.Match(item, @"(?<=<Id>).*?(?=</Id>)").Value.Trim();
                        break;
                    }
            else id = "0";   
        return Guid.Parse(id);
        }
    }
а то будет ругаться)
 
Последнее редактирование:

ALISEMYHEART7

Новичок
Регистрация
02.11.2020
Сообщения
7
Благодарностей
0
Баллы
1
Спасибо !!! Все сразу заработало - описания подробные- сразу подстроил под себя ! :dk:
 

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
C#:
Guid shablon = TaskList.GUID("Имя шаблона в зенке");
int count = int.Parse(project.Variables["переменная с количеством новых попыток"].Value);
ZennoPoster.SetMaxThreads(shablon,count);//Устанавливаем максимальное число потоков
//или вместо count любое другое число
ZennoPoster.StartTask(shablon);//Запускаем шаблон
for(int i = 0; i < count; i++){//Добавляем попытки не все сразу, а постепенно
    ZennoPoster.AddTries(shablon,1);
    Thread.Sleep(1000);
}
//Можно добавить и все сразу, тогда вместо цикла сразу пишем
//ZennoPoster.AddTries(shablon,count)
В общий код после
namespace ZennoLab.OwnCode
{
добавить:

C#:
public class TaskList
    {
        /// <summary>
        /// Получаем Guid шаблона по имени
        /// </summary>
        public static Guid GUID (string name){
            string id = string.Empty;
            var tasksList = new List<string>(ZennoPoster.TasksList);
            if(tasksList.Count > 0)
                foreach(string item in tasksList)
                    if (name.CompareTo(Regex.Match(item, @"(?<=<Name>).*(?=</Name>)").Value) == 0){
                        id = Regex.Match(item, @"(?<=<Id>).*?(?=</Id>)").Value.Trim();
                        break;
                    }
            else id = "0";  
        return Guid.Parse(id);
        }
    }
а то будет ругаться)
Увы! Я ничего не понял. Код разделен. Можно сразу весь код целиком?
 

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