Это выражение возвращает символ, идущий под номером равным значению переменной Write.
Сначала происходит взятие левой части строки:
left(TextBox.Text, len(TextBox.Text)-Text.Write)Т.е. первый аргумент - TextBox.Text - это та строка из которой мы будем брать левую часть
второй аргумент - len(TextBox.Text)-Text.Write - это количество символов, которые останутся слева
Примеры
Выражение left("Привет, мир!!!", 7) - вернет "Привет,"
left("Привет, мир!!!", 3) - вернет "При"
left("ScirraConstruct2", 1) вернет "S"
Допустим в объекте TextBox записан следующий текст:
"К нам едет ревизор!"тогда вместо
TextBox.Text будет записано
"К нам едет ревизор!"вместо
len(TextBox.Text) будет
19 (длина строки в символах)
если
Text.Write = 18, тогда
len(TextBox.Text)-Text.Write вернет
19-18=1,
и тогда выражение
left(TextBox.Text, len(TextBox.Text)-Text.Write) будет эквивалентно
left("К нам едет ревизор!", 19-18) т.е.
"К"если
Text.Write = 16, тогда это выражение будет таким:
left("К нам едет ревизор!", 19-16) т.е.
"К н"и т.д.
соотвественно
right(String, Number) возвращает Number количество символов справа строки String.
Примеры
right("Багровый закат.", 6) = "закат."
right("Багровый закат.", 8) = "й закат."
right("Багровый закат.", 2) = "т."
Итак, вернемся к примеру, когда
Text.Write = 18,
когда
left(TextBox.Text, len(TextBox.Text)-Text.Write) возвращает нам
"К".
Теперь смотрим на внешнюю часть выражения (напомню, выражение было таким -
right(left(TextBox.Text, len(TextBox.Text)-Text.Write), 1))
Получается, что вместо
right(left(TextBox.Text, len(TextBox.Text)-Text.Write), 1) выделенного можно подписать
"К". Тогда получается следующее выражение:
right("К", 1), которое возвращает нам
"К".
Теперь, вариант, когда
Text.Write = 16.left(TextBox.Text, len(TextBox.Text)-Text.Write) =
"К н"тогда все выражение будет таким:
right("К н", 1) т.е.
"н".
Если посмотреть, то получится, что все это выражение возвращает символ, идущий под номером = Text.Write начиная слева, а поскольку в исходнике это выражение стоит в цикле, то от переменной Write с каждым витком цикла отнимается 1, а значит номер символа с каждым витком цикла увеличивается (у нас ведь len(...)-Text.Write), а не просто Text.Write)
Ну вот как-то примерно так, надеюсь теперь стало немного понятнее
