Клиппер 5. Справочник

Двухбайтовые подстроки могут заменяться на


    .T. режим прохода <cString> по байтам, а при значении .F. или по
    умолчанию по словам (упорядоченным парам).
 
  Возвращаемое значение
 
    cReplString - модифицированная строка <cString>.
 
  Описание
 
    Двухбайтовые подстроки могут заменяться на другие подстроки той же
    длины. С использованием данной функции, аналога CHARREPL(), можно
    построить достаточно быстрый алгоритм для функции SOUNDEX() и легко
    обрабатывать строки, считанные из видеопамяти или сгенерированные


    Clipper-функцией I2BIN().
 
    Способ обработки исходной строки <cString> зависит от значения
    параметра <lMode>:
 
  . При значении .F. параметра <lMode> строка обрабатывается шагами по
    паре байтов.
 
  . При значении .T. параметра <lMode>  строка обрабатывается шагами
    по одному байту. При этом, если выполнялся вызов CSETATMUPA(.T.), то
    описываемая функция продолжает обработку со второго символа в
    заменяемой паре, а иначе со следующей пары.
 
  Примечания
 
  . Термин "слово" используется здесь не в значении "элемент текста",
    а в значении, используемом при программировании на языке Ассемблера.
    Слово состоит из 16 битов, т.е. 2 байтов.
 
  . Строка <cReplaceList> может быть короче, чем <cSearchList>.
    Подстроки из <cSearchList>, для которых не нашлось соответствия,
    заменяются на последнюю подстроку из <cReplaceList>.
 
  . Параметр <cString> может быть передан по ссылке. При этом вызов
    CSETREF(.T.), подавляющий возвращение функцией результата, позволяет
    уменьшить потребности в рабочей памяти.
 
  Примеры
 
  . Замена "XX" на "CC":
 
    ? WORDREPL("CC", "AABBCCDDEE", "XX")        // "AABBXXDDEE"
 
  . Использование CSETATMUPA() и <lMode>:
 
    CSETATMUPA(.F.)                             // Исходное состояние

Содержание раздела