Функция ВВОД_ТЕКСТА
Функция ВВОД_ТЕКСТА позволяет редактировать многострочный текст. Текст представляется в виде объекта типа список.
ФУНКЦИЯ ТИП_ЛОГИКА: ВВОД_ТЕКСТА( ПЕРЕМ ТИП_СПИСОК: текст [; ТИП_СТРОКА: запрос [; ТИП_СТРОКА: заголовок [; ТИП_СТРОКА: опции [; ТИП_ЧИСЛО: высота [; ТИП_ЧИСЛО: ширина [; ТИП_ЧИСЛО: предел ]]]]]])
Параметры
- текст
- Редактируемый текст. Параметр используется на вход и выход.
- запрос
- Строка, содержащая приглашение к вводу. Приглашение выводится над полем ввода текста. По умолчанию - пустая строка.
- заголовок
- Текст заголовка окна. По умолчанию используется название текущего бланка, типовой операции и т.п.
- опции
- Различные опции, представленные строкой:
- "R" – режим "только чтение";
- "L" – режим интерпретации списка построчно (см. подробности ниже).
- высота
- Высота поля ввода текста в строках. По умолчанию 15 строк. Количество строк ограничивается вне зависимости от указанного значения, если диалоговое окно не помещается на экране.
- ширина
- Ширина поля ввода текста в средних символах. По умолчанию 50 символов. Ширина ограничивается вне зависимости от указанного значения, если диалоговое окно не помещается на экране.
- предел
- Предельная длина текста, который может ввести пользователь. По умолчанию длина не ограничивается. Внутреннее ограничение поля ввода составляет около 64 Кб.
Возвращаемое значение
При нажатии кнопки ОК функция возвращает ДА, а кнопки Отмена – НЕТ.
Также определить была нажата кнопка ОК или Отмена позволяет вызоыв функции АТРИБУТ("результат_диалога").
Режимы интерпретации списка
Функция ВВОД_ТЕКСТА может работать со списком в двух режимах:
- На входе разделение текста на строки списка произвольно, все последовательности переноса строк CRLF должны содержатся непосредственно в тексте. На выходе текст разрезается на блоки по 255 символов, а последняя строка списка содержит остаток. Позволяет работать с длинным текстом без ограничения длины отдельных строк. Этот режим используется по умолчанию.
- Режим построчной интерпретации списка, задается опцией "L". Строки списка соответствуют строкам текста с ограничением на длину 255 символов. Позволяет более наглядно представлять многострочный текст в виде списка, но с указанным ограничением. Строки списка могут содержать CRLF, что будет приводить формированию дополнительных строк. На выходе количество строк списка строго соответствует количеству строк текста, а последовательности CRLF в строках отсутствуют.
Пример использования
Ниже приведен пример, в котором с помощью функции ВВОД_ТЕКСТА отображается содержимое текстового файла в режиме "только чтение":
СОЗДАТЬ(сп, ТИП_СПИСОК) ф = ФАЙЛ_ОТКРЫТЬ("readme.txt") сп.СЧИТАТЬ(ф, НЕТ) ф.ЗАКРЫТЬ рез = ВВОД_ТЕКСТА(сп, "Прочтите текст:", "", "RL", 20, 100) ОТЛАДКА(рез) ОТЛАДКА(сп)