Примеры приведен цикл, завершающийся пустой
Синтаксис
TOKENEND() --> lEndToken
Возвращаемое значение
lEndToken - значение .T., если предыдущим вызовом функции TOKENNEXT()
был возвращен последний элемент, а иначе .F..
Описание
Функция возвращает адекватную информацию о наличии элементов, которые
могут быть выделены функцией TOKENNEXT(). Это делает данную функцию
идеальной для использования в условии цикла, поскольку организация
циклического выделения с условием, включающим анализ выделяемого
функцией TOKENNEXT() элемента, не всегда работает четко. В подразделе
Примеры приведен цикл, завершающийся пустой строкой, возвращаемой
TOKENNEXT() как пустой элемент.
Примеры
. При разбиении текста на отдельные строки инициализация проводится
таким образом, что две подряд идущие последовательности "возврат
каретки"/"перевод строки" (третий параметр) приводят к выделению
пустой строки:
TOKENINIT(@TextString, CHR(13) + CHR(10), 2)
DO WHILE .NOT. TOKENEND()
Line := TOKENNEXT(TextString)
? "Line - " + Line
ENDDO
See Also: TOKENINIT()
TOKENNEXT()
TOKENINIT()
Инициализирует строку для выделения элементов TOKENNEXT().
------------------------------------------------------------------------------
Синтаксис
TOKENINIT([@<cString>, [<cDelimiter>],
[<nSkipDistance>]]) --> lStatus
Параметры
@<cString> - символьный параметр, обязательно передаваемый по ссылке и
задающий разбиваемую на элементы строку. По умолчанию производится
сброс к исходному состоянию, при котором функция TOKENNEXT()
ориентируется на начало строки.
<cDelimiter> - необязательный символьный параметр, задающий список
разделителей элементов. Значение по умолчанию приведено в подразделе
Описание.
<nSkipDistance> - необязательный параметр, задающий количество