В выражениях If и While происходит сравнение двух операндов друг с другом, назовем эти операнды правым и левым, по расположению в условии. При сравнении операнды приводятся к общему типу, самый универсальный случай - это приведение к строковому типу. В некоторых ситуациях приведение к строковому типу совсем не то, что нужно, например, при строковом сравнении 3 и 34 будет больше 34, но при сравнении 3 и 29 будет больше 3.
Если в качестве операнда используется результат выполнения действия, переменная, функция или параметр события, то xStarter может извлечь тип этого операнда. При сравнении двух операндов с разным типом приоритет будет отдаваться левому, например:
1. If [MathOperation1.Value] > 8 then
числовое сравнение, так как MathOperation1.Value - число и в правой части также число.
2. If [MathOperation1.Value] > [number] then
числовое сравнение, так как MathOperation1.Value - число и number также число.
3. If [MathOperation1.Value] > Text then
текстовое сравнение, так как Text - это текстовая величина.
1. If 8 < [MathOperation1.Value] then
текстовое сравнение, так как программа не может дать однозначного ответа является ли 8 числом и считает операнд текстовым.