$ Expression1 "?" Expression2 ":" Expression3
Условный оператор ?: возвращает одно из двух значений в зависимости от значения логического выражения Expression1.
Если выражение Expression1 возвращает значение True, то вычисляется и становится результатом выражение Expression2. Если выражение Expression1 возвращает значение False, то вычисляется и становится результатом выражение Expression3. В любом случае вычисляется только одно из двух выражений.
Sub Main;
Var
i, j: Double;
Begin
i := Math.Rand;
j := Math.Rand;
Debug.WriteLine(i > j ? "i>j" : "i<j");
End Sub Main;
При выполнении примера будут сгенерированы два случайных числа. Результат сравнения чисел будет выведен в консоль среды разработки.
См. также: