Сравнить текст на количество знаков

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28
Приветствую.
На старых версиях ZP у меня отлично работала конструкция вида:

C#:
'{-Variable.text-}' > '50'
таким образом я сравнивал через IF текст на количеств символов... сейчас у меня это сравнение всегда выдает "неверно"..

Что не так подскажите.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 468
Благодарностей
10 014
Баллы
113
Приветствую.
На старых версиях ZP у меня отлично работала конструкция вида:

C#:
'{-Variable.text-}' > '50'
таким образом я сравнивал через IF текст на количеств символов... сейчас у меня это сравнение всегда выдает "неверно"..

Что не так подскажите.
Если речь именно про кубик IF, то нужно удалить кавычки в обеих частях выражения.
 
  • Спасибо
Реакции: Tronheym

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 743
Благодарностей
1 485
Баллы
113
Приветствую.
На старых версиях ZP у меня отлично работала конструкция вида:

C#:
'{-Variable.text-}' > '50'
таким образом я сравнивал через IF текст на количеств символов... сейчас у меня это сравнение всегда выдает "неверно"..

Что не так подскажите.
Это в C# кубик
C#:
if (project.Variables["text"].Value.Length > 50)
{
    return "Символов больше 50";
}
else
{
    throw new Exception("Символов меньше 50");
}
 
  • Спасибо
Реакции: Tronheym

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 743
Благодарностей
1 485
Баллы
113
Нужно удалить кавычки в обеих частях выражения.
Т.е. такой вариант через if - еще корректный и отрабатывает без сбоев в любой версии зенно, даже после нескольких изменений логики кубика if?
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 468
Благодарностей
10 014
Баллы
113
хм... все равно не верно срабатывает..
После выполнения этого кубика переключитесь в режим отображения значений переменных - показал на скриншоте.
Что там покажет? Сделайте скриншот пож-ста.

99732
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 743
Благодарностей
1 485
Баллы
113

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 468
Благодарностей
10 014
Баллы
113
Посмотреть вложение 99733

вот.. сравниваю текст привет мир.. выдает ошибку...
А как же вы текст сравниваете с числом. Так нельзя.
Нужно сравнивать числа.
Нужно сначала вычислить сколько символов в тексте, например с помощью кубика JS.
'{-Variable.имя переменной-}'.length это положить в кубик "Свой код - JavaScript", прописать в кубике выходную переменную и ее уже сравнивать в кубике IF с числом.

Либо воспользуйтесь таким С#-вариантом, который ранее тут посоветовали:
 
Последнее редактирование:

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28
А как же вы текст сравниваете с числом. Так нельзя.
Нужно сравнивать числа.
Нужно сначала вычислить сколько символов в тексте, например с помощью кубика JS.
Чуть позже, смогу показать как.

Либо воспользуйтесь таким вариантом:
так я в первом сообщении и написал, что раньше я так сравнивал текст на количество символов - и это работало :-)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 468
Благодарностей
10 014
Баллы
113

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 736
Баллы
113

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 736
Баллы
113
ну а в переменной текст
уже несколько вариантов накидали.
если вопрос чисто почему не так как раньше, то этот кубик правили несколько раз, так как он был багованный в хлам.
 

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28
А как же вы текст сравниваете с числом. Так нельзя.
Нужно сравнивать числа.
Нужно сначала вычислить сколько символов в тексте, например с помощью кубика JS.
'{-Variable.имя переменной-}'.length это положить в кубик "Свой код - JavaScript", прописать в кубике выходную переменную и ее уже сравнивать в кубике IF с числом.

Либо воспользуйтесь таким С#-вариантом, который ранее тут посоветовали:
вот так сделал.. спасибо.
 
  • Спасибо
Реакции: Sergodjan

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 743
Благодарностей
1 485
Баллы
113

Tronheym

Client
Регистрация
13.10.2016
Сообщения
149
Благодарностей
33
Баллы
28
Ошибка какая в логах?
Пример готового с# кода покажите
Выполнение действия CSharp OwnCode. [Строка: 11; Cтолбец: 0] Символов меньше 50

код точно такой же как у вас в примере..

99734
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 736
Баллы
113

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 743
Благодарностей
1 485
Баллы
113
Выполнение действия CSharp OwnCode. [Строка: 11; Cтолбец: 0] Символов меньше 50

код точно такой же как у вас в примере..

Посмотреть вложение 99734
Так у вас в переменной меньше 51го символа, вот оно и вышло по красной. Если у вас ровно 50, тогда стрелочку измените на >=
 
  • Спасибо
Реакции: Tronheym

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 468
Благодарностей
10 014
Баллы
113

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