СквознякИ что это значит? Ты вообще понимаешь, что делает val(s, q)? Ты пытаешься преобразовать символ табуляции (s) в число (q). Это преобразование проваливается, потому что строка из одной табуляции не содержит корректного числа, и устанавливает q в 0. У Val есть версия с тремя аргументами — Val(s, q, code), которая при успехе выставляет code = 0, а при неудаче возвращает в code номер первого символа в строке, с которого что-то пошло не так. В случае табуляции code = 2 — за концом строки (а не 1), потому что val допускает (и пропускает) пробельные символы в начале числа, и табуляция считается пробельным символом.
- dd.png (9.02 КБ) Просмотров: 17755
Вообще, таб — это не просто N пробелов, таб добивает позицию в тексте до ближайшей фиксированной колонки. Например,
a(tab)b
aa(tab)bb
aaa(tab)bbb
— выровняет «b», «bb» и «bbb». По крайней мере, текстовые редакторы, в т. ч. редактор Lazarus'а, это соблюдают.
- tabs.png (584 байт) Просмотров: 17753