Меняет местами соседние двухбайтовые слова
? WORDREPL("aa", "laaaa", "ba") // "labaa"
? WORDREPL("aa", "laaaa", "ba", .T.) // "lbaba"
. CSETATMUPA() действует только при значении .Т. параметра
<lMode>:
CSETATMUPA(.T.) // Включение режима прохода
// по символам
? WORDREPL("aa", "laaaa", "ba") // "labaa"
? WORDREPL("aa", "laaaa", "ba", .T.) // "lbbba"
See Also: CHARREPL()
CSETATMUPA()
CSETREF()
WORDSWAP()
Меняет местами соседние двухбайтовые слова в строке.
------------------------------------------------------------------------------
Синтаксис
WORDSWAP([@]<cString>, [<lMode>]) --> cSwapString
Параметры
[@]<cString> - символьный параметр, допускающий передачу по ссылке и
задающий строку, внутри которой заменяются двухбайтовые подстроки
(слова).
<lMode> - необязательный логический параметр, задающий при значении
.T. дополнительную перестановку смежных байтов в паре, а при значении
.F. или по умолчанию дополнительная перестановка не производится.
Возвращаемое значение
cSwapString - модифицированная строка <cString>.
Описание
Функция, аналогично CHARSWAP(), меняет местами соседние двухбайтовые
подстроки (16-битовые слова) в символьной строке.
Благодаря функции можно работать со строками, содержащими 32-битовые
целые, возвращаемые Clipper-функцией L2BIN(). Перестановка
подготавливает сортировку целых чисел в этой форме, производимую
функцией CHARSORT(). Однако для получения правильных результатов
дополнительно к перестановке 16-битовых слов необходимо поменять
местами и байты в слове (младший/старший байт 16-битовых целых).