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

Применение этой функции облегчает использование


    задающий обрабатываемую символьную строку.
 
    <nValue> - числовое значение, добавляемое к ASCII-коду символов.
 
    <nPosition> - необязательный числовой параметр, задающий позицию
    символа, к ASCII-коду которого добавляется <nValue>. По умолчанию
    позиция последнего символа.
 
  Возвращаемое значение
 
    cAddString - модифицированная символьная строка <cString>.
 
  Описание


 
    Применение этой функции облегчает использование макросов, т.к.
    позволяет изменить строку, не прибегая к функциям типа LEFT(),
    RIGHT(), ASC() или SUBSTR() (см. Примеры). Функция производит
    преобразование символа по следующей формуле:
 
        CHR((ASC(<Символ>) + <nValue>) % 256)
 
    Функция позволяет выполнять и вычитание, но для этого требуется
    дополнительное преобразование. Параметр <nValue> должен при этом,
    учитывая предыдущую формулу, иметь значение:
 
        <nValue> = 256 - <значение, вычитаемое из ASCII-кода>
 
  Примечания
 
  . Если <nPosition> находится вне строки <cString>, то строка остается
    неизменной.
 
  . Параметр <cString> может быть передан по ссылке. При этом вызов
    CSETREF(.T.), подавляющий возвращение функцией результата, позволяет
    уменьшить потребности в рабочей памяти.
 
  Примеры
 
  . Добавление 1 к коду предпоследнего, а затем к коду последнего
    символа в строке (CHR(ASC("2")+1) дает код символа "3" и т.д.):
 
    ? ADDASCII("macro21", 1, 6)                 // "macro31"
    ? ADDASCII("macro21", 1)                    // "macro22"
 
  . Вычитание 32 для преобразования латинских строчных букв в
    прописные по формуле CHR((ASC("m") + 256 - 32) % 256):
 
    ? ADDASCII("macro21", 224, 1)               // "Macro21"
 


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