возврат позиции разделителя после элемента,
Синтаксис
TOKENAT([<lLastTokenPos>]) --> nPosition
Параметры
<lLastTokenPos> - необязательный логический параметр, задающий при
значении .T. возврат позиции разделителя после элемента, а при
значении .F. или по умолчанию возврат позиции начала элемента.
Возвращаемое значение
nPosition - числовое значение позиции, или 0, если предварительно не
вызывались функции TOKENINIT() и TOKENNEXT().
Описание
Функция возвращает начальную позицию последнего выделенного функцией
TOKENNEXT() элемента или позицию разделителя за ним. При использовании
функции в сочетании с SUBSTR() можно при пошаговой детализации
элементов выделить и сами разделители перед элементом или после него.
. Позиция разделителя перед выделенным элементом:
TOKENAT() - 1
. Позиция разделителя после выделенного элемента:
TOKENAT(.T.)
. Поскольку символьная строка, инициализированная функцией
TOKENINIT(), не содержит первоначальных разделителей, то перед
использованием TOKENINIT() следует сохранить ее копию.
Примеры
. Начальные позиции пяти элементов:
cString := "Это введение в Clipper,234"
cCopy := String
TOKENINIT(@cString)
? TOKENNEXT(), TOKENAT() // "Это" 1
? TOKENNEXT(), TOKENAT() // "введение" 5
? TOKENNEXT(), TOKENAT() // "в" 14
? TOKENNEXT(), TOKENAT() // "Clipper" 16
? TOKENNEXT(), TOKENAT() // "234" 24
? SUBSTR(cCOPY, TOKENAT() - 1, 1) // Разделитель: ","
See Also: TOKENINIT()
TOKENNEXT()
TOKENEND()
Возвращает признак окончания списка элементов, выделяемых TOKENNEXT().
------------------------------------------------------------------------------