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

символьный параметр, допускающий передачу по


 
  . Сортировка перечня букв:
 
    ? CHARSORT(CHARLIST("Hello goodbye"))       // " Hbdegloy"
 

See Also: CHARONE()
CHARSORT()

 

 

 CHARMIRR()
 Зеркально переворачивает строку.
------------------------------------------------------------------------------


 
  Синтаксис
 
    CHARMIRR([@]<cString>, [<lBlank>]) --> cMirrString
 
  Параметры
 
    [@]<cString> - символьный параметр, допускающий передачу по ссылке и
    задающий обрабатываемую символьную строку.
 
    <lBlank> - необязательный логический параметр, задающий при значении
    .T. блокирование обработки конечных пробелов, а при значении .F. или
    по умолчанию обработку всех символов.
 
  Возвращаемое значение
 
    cMirrString - модифицированная строка <cString>.
 
  Описание
 
    Функция зеркально отображает строку относительно ее середины,
    возвращая палиндром исходной строки. Логический параметр позволяет
    при переворачивании строки игнорировать конечные пробелы, благодаря
    чему можно индексировать базы данных по концам символьных полей.
 
  Примечания
 
  . Параметр <cString> может быть передан по ссылке. При этом
    вызов CSETREF(.T.), подавляющий возвращение функцией результата,
    позволяет уменьшить потребности в рабочей памяти.
 
  Примеры
 
  . Зеркальное отображение:
 
    ? CHARMIRR("abc 321")               // Результат: "123 cba"
 
  . Некоторые известные палиндромы:
 
    ? CHARMIRR("ABLE WAS I ERE I SAW ELBA")
 
  . Для индексирования необходимо отсекать конечные пробелы, а
    иначе поиск по перевернутой строке будет невозможен:
 
    INDEX ON CHARMIRR(Field, .T.) TO Index
 
  . Поиск по "зеркальному" индексу полей, заканчивающихся на
    "per":
 
    SEEK "rep"
 

See Also: CSETREF()

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