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

Задание диапазона может осуществляться от


 
    <cReplaceChar> - символьный параметр, задающий заменяющий символ.
 
  Возвращаемое значение
 
    cReplString - модифицированная строка <cString>.
 
  Описание
 
    Функция заменяет все символы с ASCII-кодами, принадлежащими диапазону
    от <cChar1|nChar1> до <cChar2|nChar2>. Таким образом можно, например,
    все управляющие символы в строке заменить на пробелы.
 


    Задание диапазона может осуществляться от конца к началу, тогда
    значение ASCII-кода для <cChar2|nChar2> должно быть меньше, чем для
    <cChar1|nChar1>. В этом случае диапазон располагается от
    <cChar1|nChar1> до 255 и от 0 до <cChar2|nChar2>.
 
  Примечания
 
  . Функция не изменяет длину строки.
 
  . Параметр <cString> может быть передан по ссылке. При этом вызов
    CSETREF(.T.), подавляющий возвращение функцией результата, позволяет
    уменьшить потребности в рабочей памяти.
 
  Примеры
 
  . Замена всех управляющих символов в строке на ".":
 
    cString := "a" + CHR(5) + "b" + CHR(9)
    ? RANGEREPL(CHR(0), CHR(31), cString, ".")          // "a.b."
 
  . Замена всех символов с кодами меньше, чем у "A", на "0" (сам
    символ "0" не изменяется). Вместо CHR(0) можно указывать пустую
    строку:
 
    ? RANGEREPL("", CHR(65), "123400", "0")             // "000000"
 
  . Все символы от "0" до "8" заменяются на "9":
 
    ? RANGEREPL("0", "8", "0212 - 78 67 43", "9")       // "9999 - 99 99 99"
 
  . Замена всех символов, кроме прописных латинских букв, на "-".
    Оптимально вызывать эту функцию совместно с CSETREF(.T.):
 
    CSETREF(.T.)
    cString := "A()&BC/?D"
    RANGEREPL(91, 64, @cString, "-")                    // "A--BC--D"

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