Глобальный счетчик

  • Автор темы Автор темы one
  • Дата начала Дата начала

one

Client
Регистрация
22.09.2015
Сообщения
7 019
Реакции
1 314
Баллы
113
Коллеги, подскажите решение. Я так подразумеваю что без С# и локами тут не обойтись.

Есть один шаблон и он добавлен в ЗП 10 раз с разными настройками. Надо что бы эти 10 копий считали один счетчик и подостижении нужного значений (какой копии шаблона он попадется) выполняли определенное действие. Реализовал с файлом в котром копии меняют значени и как правило бывает что оджно и тоже значение попадает нескольким копиям шаблона. Подскажите решение что бы каждая копия получала свое значение. Счетчик в текстовый файл, глобальную переменную, кубиками, С#?

Запуск шаблонов поисходит один раз т.е. они запущены постоянно (кол-во повторов бесконечно) после отработки становятся на паузу после продолжают свою работу.
 
если я всё верно понял, можно создать txt файл, куда записывать цифры от 1 до 10. Пускай каждый шаблон берет строку с удалением, а по окончании работы (по bad и good end) возвращает взятую цифру обратно. Тот же, кому попадется та же 10, будет выполнять что нужно. Т.к. шаблоны работают непрерывно цифра 10 будет как правило попадаться разным шаблонам (а не одному и тому же).

ещё можешь так попробовать:
C#:
Развернуть Свернуть Копировать
string pathSchetchik = project.Directory + @"\счётчик.txt";
lock(SyncObject)
{
    if(!File.Exists(pathSchetchik)) File.WriteAllText(pathSchetchik, "1");
    
    string schNow = File.ReadAllText(pathSchetchik);
    
    //смотрим текущее значение из txt файла и если оно равно 10 в переменную rez пишем true. в txt запишем 1
    if(schNow == "10")
    {
        project.Variables["rez"].Value = "true";
        File.WriteAllText(pathSchetchik, "1");
        return "";
    }
    else
    {
        //иначе возвращаем обратно с увеличением на 1
        int uv = Convert.ToInt32(schNow) + 1;
        File.WriteAllText(pathSchetchik, uv.ToString());
    }
}
 
  • Оценить
Реакции: one
если я всё верно понял, можно создать txt файл, куда записывать цифры от 1 до 10. Пускай каждый шаблон берет строку с удалением, а по окончании работы (по bad и good end) возвращает взятую цифру обратно. Тот же, кому попадется та же 10, будет выполнять что нужно. Т.к. шаблоны работают непрерывно цифра 10 будет как правило попадаться разным шаблонам (а не одному и тому же).
Мысль хорошая, но нужно после того как какой нибудь из шаблонов поймал нужное значение надо возвращать их работу на новый цикл. т.е к примеру ставим в счетчик значение 10 и отсчитываем -1 дойдя до 0 возвращаем значение 10 и т.д.

ещё можешь так попробовать:
По моему то что нужно, попробую. Спасибо!
 
  • Оценить
Реакции: volody00

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