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

Tronheym

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

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

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

Sergodjan

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

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

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

Gunjubasik

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

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

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

Gunjubasik

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

Tronheym

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

Sergodjan

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

99732
 

Tronheym

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

Gunjubasik

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

Tronheym

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

Sergodjan

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

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

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

Tronheym

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

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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 517
Благодарностей
8 703
Баллы
113

Phoenix78

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

Tronheym

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

Phoenix78

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

Tronheym

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

Tronheym

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

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

Tronheym

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

Gunjubasik

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

Tronheym

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

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

99734
 

Phoenix78

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

Gunjubasik

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

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

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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 517
Благодарностей
8 703
Баллы
113

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