Подскажите пожалуйста, как делается правильно, при каждом проходе кода в определенном кубике с sharp - увеличивать число в переменной на 1

Регистрация
28.11.2020
Сообщения
64
Благодарностей
7
Баллы
8
Доброе утро!
Подскажите пожалуйста, как делается правильно:

при каждом проходе кода в определенном кубике с sharp - увеличивать число в переменной на 1.
если в переменной рандомное число от 5 до 10. Например было положено 6 или 7, это число сравнивается с числом проходов по коду(которое увеличивается на 1 каждый раз)
Тогда нужно завершить работу шаблона.
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
531
Благодарностей
137
Баллы
43
Сдался тебе этот c#.. Работай со счетчиком методами зенки....

Ты бы лучше задачу описал нормально... Планировщик что ли задумал или чего ?
Счетчик ты какой имел ввиду, локальный на поток или глобальный на все потоки ? Хранить счетчик где будешь, учитывая что при выходе все переменные сбрасываются ....?
 
  • Спасибо
Реакции: Биржевик
Регистрация
28.11.2020
Сообщения
64
Благодарностей
7
Баллы
8
" локальный на поток или глобальный на все потоки ?" локальный на поток
"Хранить счетчик где будешь, учитывая что при выходе все переменные сбрасываются" - хорошо что при выходе обнуляются
при каждом проходе кода в определенном кубике с sharp - увеличивать число в переменной на 1.
если в переменной наступило рандомное число от 5 до 10. Например было положено 6 или 7, это число сравнивается с числом проходов по коду(которое увеличивается на 1 каждый раз)
Тогда нужно завершить работу шаблона.
 
Регистрация
28.11.2020
Сообщения
64
Благодарностей
7
Баллы
8
может деталями сказать поинтересоваться:

1. есть переменная project.Variables["Peremenayaz"].Value
как в ней при каждом касании ее(каждом проходе цикла) когда заходит в if увеличить значение переменной на 1

2. project.Variables["reme"].Value в эту переменную как все время класть разное число в диапазоне от 10 до 30?

3. как правильно сравнить и выйти из кода, когда значения в обеих этих переменных совпали?
 

Alex91

Активный пользователь
Регистрация
15.08.2024
Сообщения
531
Благодарностей
137
Баллы
43
Ну это же базовые действия со счётчиками... Посмотри обучение по работе с переменными и логикой.
Кирпич if, кирпич увеличить значение, кирпич рандома... Все базовое...
 
Регистрация
28.11.2020
Сообщения
64
Благодарностей
7
Баллы
8
Ну это же базовые действия со счётчиками... Посмотри обучение по работе с переменными и логикой.
Кирпич if, кирпич увеличить значение, кирпич рандома... Все базовое...
с sharp кубик использую свой

можете подсказать как увеличить значение в переменной на 1 при каждом касании
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 828
Благодарностей
1 524
Баллы
113
Из сроки переведите значение переменной с счетчиком в число, а потом к этому числу прибавляйте единицу, результат записывайте обратно в переменную с счетчиком. Это же элементарные вещи, ну на крайняк у ChatGPT спросите.
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 828
Благодарностей
1 524
Баллы
113
130007


Объяснение кода:
  1. Получение переменной:
    • project.Variables["counter"].Value извлекает значение переменной с именем counter.
  2. Преобразование строки в число:
    • Используется int.TryParse, чтобы избежать ошибок при некорректных данных.
    • Если преобразование не удалось, счётчик устанавливается в 0.
  3. Увеличение счётчика:
    • Обычное увеличение значения на единицу: counter++.
  4. Запись обратно:
    • Значение преобразуется в строку и записывается в ту же переменную.
  5. Логирование:
    • Используется метод project.SendInfoToLog для вывода текущего значения (опционально).


C#:
// Предположим, что переменная с счетчиком хранится как строка
// и её имя "counter". Это значение можно получить через ZennoPoster API.

string counterValue = project.Variables["counter"].Value; // Получаем значение переменной

// Преобразуем значение переменной в число
int counter = int.TryParse(counterValue, out int result) ? result : 0; // Если парсинг не удался, устанавливаем значение 0

// Увеличиваем значение на единицу
counter++;

// Записываем обновлённое значение обратно в переменную
project.Variables["counter"].Value = counter.ToString();

// Для проверки можно добавить лог (опционально)
project.SendInfoToLog($"Текущее значение счётчика: {counter}");
 
  • Спасибо
Реакции: Биржевик

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 828
Благодарностей
1 524
Баллы
113
для себя я бы написал так:
C#:
project.Variables["counter"].Value = (int.Parse(project.Variables["counter"].Value) + 1).ToString();
Чтобы код работал, в переменной project.Variables["counter"].Value должно быть какое то целое цифровое значение либо изначально 0
 
  • Спасибо
Реакции: Биржевик

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