Набор повторяемых символов |
Опция в графических формах не используется.
Если поле не уместилось в шаблоне, оно продолжается на новой строке под шаблоном. Опция <набор повторяемых символов> задает символы, которые в данном случае переносятся на новую строку.
Число строк, которое может занимать поле, не уместившееся в шаблоне, не ограничено.
Набор повторяемых символов единый для всех полей данной формы.
Под символами строки понимают все явные и скрытые символы, имеющие свою позицию в строке.
Явные символы: буквы, цифры, элементы псевдографики и так далее.
Скрытые символы: символ табуляции, символ перехода к новой строке, символ перевода каретки и другие служебные символы, которые не отражаются в явном виде в распечатанном тексте.
Схема переноса символов на новую строку следующая:
строка дублируется на месте новой строки;
символы, не указанные в наборе повторяемых символов, заменяются пробелами.
<набор повторяемых символов> ::= .repeat all | .repeat <строка> | .repeat default
Опция <набор повторяемых символов> имеет три альтернативы:
оператор .repeat all дублирует всю строку отчета, за исключением полей. Поля, завершенные в предыдущей строке, заменяются пробелами. Вывод незавершенных полей продолжается;
оператор .repeat <строка> повторяет символы, перечисленные в конструкции <строка>. Остальные символы строки отчета заменяются пробелами. Символ табуляции #9, символ перехода к новой строке #10, символ перевода каретки #13, символ конца файла #26 задаются обязательно;
оператор .repeat default дублирует символы, заданные по умолчанию. Остальные символы строки заменяются пробелами. Режим эквивалентен отсутствию опции <набор повторяемых символов>.
Если опция не задана, то набор символов, переносимых на новую строку при переносе поля, следующий (остальные символы строки заменяются пробелами):
#9 - код символа табуляции в стандарте ASCII;
#10 - код символа перехода на новую строку в стандарте ASCII;
#13 - код символа перевода каретки в стандарте ASCII;
#26 - код символа конца файла;
| , || - вертикальная черта и двойная вертикальная черта. Переносятся на новую строку для предотвращения разрывов в вертикальных графах таблиц.
Символы #10 и #13 используются совместно для перехода к началу новой строки.
Пример
.form акт .repeat " abc " #9 #10 #13 #26 ................. !тело формы .endform
При переносе строк будут повторяться символы a, b, c и служебные символы #9, #10, #13, #26.