Обновлено 26.08.2019

Операции и функции

Операции и функции, которые можно использовать для создания условий при описании внешнего вида списков.

Для написания алгоритмов список операторов и функций значительно шире.

Операции

Цифровые операции:

+Сложение

-Вычитание

*Умножение

/Деление

^Степень числа (или **)

Операции сравнения:

= равно

== тождественно равно

<> не равно

# не равно

!= не равно

< Меньше чем

> Больше чем

<= Меньше или равно

>= Больше или равно

$ Включает

Логические операции

.AND. Логическое "И"

.OR. Логическое "И"

.NOT. Логическое "Нет"

Поддерживаются следующие xBase функции

  1. ALIAS()
  2. Функция ALIAS возвращает имя (псевдоним) текущей рабочей области. Если в заданной рабочей области нет открытого файла, функция возвращает пустую символьную строку.
  3. ALLTRIM([<вырC>])
  4. Функция ALLTRIM возвращает заданное символьное выражение, у которого отсечены как ведущие, так и завершающие пробелы.

    Эта функция полезна для полной гарантии того, что введенные пользователем данные не имеют нежелательных пробелов в начале и в конце, до использования этих данных в последующих командах.

    ALLTRIM(" Здравствуйте ") вернет 'Здравствуйте'.

  5. AT(<вырC1>,<вырC2>)
  6. Выполняет поиск позиции, с которой <вырC1> начинается в <вырC2> и возвращает номер позиции.
    Если <вырC1> не встречается в <вырC2>, функция возвращает нулевое значение.
    Функция AT() имеет в качестве аргументов две символьные строки или два символьных выражения.

    AT("gh", "defghij") вернет 4.
  7. CHR(<вырN>)
  8. Оценивает заданное <числовое выражение> и возвращает символ, у которого код ASCII соответствует этому числу (результату выражения)
    CHR(83) returns 'S'
  9. CTOD(<вырC>)
  10. Преобразовывает дату из символьного формата в формат даты.
    Функция возвращает значение даты, соответствующее заданному символьному <выражению>.
    Если для ввода дат век не определен (например "25.12.98"), подразумевается год 20-го века.
  11. DATE()
  12. Возвращает текущее значение системной даты.
  13. DAY(<вырD>)
  14. Возвращает порядковый номер дня месяца в заданном выражении типа даты.
    Выражением типа даты может быть имя поля файла базы данных и функция определения системной даты.
  15. DELETED()
  16. Возвращает логическое значение "истина" (.T.), если текущая запись помечена для удаления и значение "ложь" (.F.) в противном случае.
  17. DTOC(<вырD>[,<1>])
  18. Преобразует заданное выражение в символьную строку.
    Выражением типа даты может быть имя поля файла базы данных, функция системной даты.

    В функции DTOC() можно задать необязательный аргумент, обеспечивающий возврат значения в формате, пригодном для построения индекса.
    Это может быть особенно полезно в комбинации с функцией TIME() для упорядочения файла базы данных в хронологическом порядке.
  19. DTOS(<вырD>)
  20. Преобразует заданное выражение типа даты в символьную строку , состоящую из восьми цифр в формате ГГГГММДД.
    Функция полезна для индексации баз данных по полям даты. Она эквивалентна функции DTOC(), используемой с необязательным аргументом 1.
    Выражением типа даты может быть имя поля файла базы данных, функция системной даты. Например, 21 декабря, 2007 года вернет '20071221'.
  21. EMPTY(<выр>)
  22. Возвращает логическое значение истина .T., если заданное выражение является "пустым".
    Функция будет возвращать .T., если следующие типы данных соответственно имеют значения:

    Символьный - Пустое значение, пробелы, символы табуляции, символы возврата каретки и перевода строки, а также их комбинации
    Числовой - 0
    Дата - Пустое значение т.е. CTOD("")
    Логический - Ложь .T.
    Текстовый - Пустой (нет содержания) ¦
    Если выражение не "пустое", возвращается .F.
  23. IIF(<вырL>,<выр1>,<выр2>)
  24. Функция IIF() возвращает значение <выр1> или <выр2> в зависимости от значения <вырL>.
    Возвращаемое значение - числовое, символьное, логическое или дата.
    Если значение <вырL> - "истина" (.T.), функция возвращает значение <выр1>. Если значение <вырL> - "ложь" (.F.) - функция возвращает значение <выр2>.
    Функция IIF() может использоваться взамен структуры IF...ENDIF для создания условных выражений.
  25. LEFT(<вырC>,<вырN>)
  26. Возвращает указанное число символов, начиная с самого левого символа в <вырC>. Возвращаемое значение - символьное
    Символьное выражение <вырС> может быть символьной строкой, именем текстового поля или именем символьного поля.
    Числовое выражение определяет количество символов, которое нужно выделить из символьного выражения.
    Функция LEFT() позволяет выделить первую часть символьной строки. Это то же самое, что делает функция SUBSTR с позиции 1 и количеством символов, указанном в <вырN>. Если числовое выражение равно 0 или отрицательно, то функция возвращает нулевую строку. Если цифровое значение больше, чем длина символьного выражения, то функция возвращает всю строку.
    LEFT("xyzabc", 3) вернет 'xyz'.
  27. LEN(<вырC>)
  28. Возвращает длину символьного выражения <вырС> Возвращаемое значение - числовое <вырС> может быть символьной строкой, текстовым или символьным полем.
    Если выражение содержит пустую строку, функция возвращает 0.
  29. LOWER(<вырC>)
  30. Преобразует все прописные буквы <вырC> в строчные. Возвращаемое значение - символьное
  31. MONTH(<вырD>)
  32. Возвращает номер месяца (от 1 до 12) из выражения типа даты.
    Возвращаемое значение - числовое
    Январь имеет номер 1 и декабрь - номер 12.

    Выражением типа даты может быть временная переменная, поле файла базы данных или функция определения системной даты.
  33. ORDER()
  34. Возвращает номер текущего индекса.
  35. ORDKEY()
  36. Возвращает имя главного индекса или главного тэга. Возврат - символьное значение
  37. PADC(<выр>,<вырN>[,<вырС>]) или PADL(<выр>,<вырN>[,<вырС>]) или PADR(<выр>,<вырN>[,<вырС>])
  38. Возвращают в виде символьной строки заданное первым аргументом выражение, дополненное третьим аргументом до длины, заданной вторым аргументом.
    Возвращаемое значение - символьное

    Если длина выражения больше <вырN>, выражение усекается справа до заданной величины. Если задан третий аргумент <вырС>, то его повторения используются для дополнения исходного выражения до требуемой длины , иначе используется символ пробела (код 32).

    PADL() вставляет символы-заполнители слева,
    PADR() - справа, а PADC() с обеих сторон.

    В качестве первого аргумента можно задавать символьные, числовые и выражения типа дата.
  39. RAT(<вырС1>,<вырС2>)
  40. (реверсивное AT) просматривает <ВырС2>, начиная справа и двигаясь налево, пытаясь при этом обнаружить подстроку, заданной в <вырС1>.
    Возвращаемое значение - числовое

    <вырС2> может быть текстовым полем.

    Функция похожа на AT(), за тем исключением, что последняя ведет поиск слева направо.

    RAT( "ab", "abzaba" ) вернет 4.
  41. RECCOUNT()
  42. Возвращает число записей активного файла базы данных. Возвращаемое значение - числовое
  43. RECNO()
  44. Возвращает номер текущей записи активного файла базы данных. Возвращаемое значение - числовое
  45. RIGHT(<вырC>,<вырN>)
  46. Возвращает указанное в <вырN> число символов, начиная с самого правого символа в <вырC> или символьной временной переменной.
    Если <вырN> равно 0 или отрицательно, функция возвращает пустую строку.
    Если <вырN> больше чем длина <вырC>, функция RIGHT() возвращает всю строку. RIGHT("xyzabc", 3) вернет 'abc'.
  47. SELECT()
  48. Возвращает номер текущей активной рабочей области
  49. SOUNDEX(<ВырС>)
  50. Возвращает фонетическое представление символьного выражения <ВырС>.
    Сравнивая результаты функции для двух символьных строк, можно определить, являются ли два слова фонетически подобными (имеющими сходное звучание).Это может быть полезным при поиске почти одинаковых символьных данных.

    Результатом функции является четырехсимвольная строка. Функция нечувствительна к регистру представления символов и не учитывает гласные.
  51. SPACE(<вырN>)
  52. Возвращает строку символов, состоящую из заданного <вырN> числа пробелов.
  53. STOD( String )
  54. Функция, обратная DTOS(). STOD() переводит строку (CCYYMMDD) в выражение даты.
  55. STR(<вырN1>[,<вырN2>[,<вырN3>]])
  56. Преобразует числовое выражение в символьную строку. Может иметь 1, 2 или 3 аргумента.

    Функция конвертирует <вырN1> в строку заданной в <вырN2> длины. Если указан аргумент <вырN3>, в символьную строку включается заданное этим аргументом число десятичных знаков. Длина строки <вырN2> в этом случае должна учитывать десятичную точку и соответствующее число десятичных знаков.

    Если в <вырN2> указать длину, которая больше, чем количество цифр слева от десятичной точки, функция заполняет старшие позиции пробелами. Если же указанная длина меньше этого числа цифр, функция возвращает строку звездочек (*), сигнализируя этим переполнение.

    Если в <вырN3> указать меньше десятичных позиций, чем имеется в числе, лишние цифры усекаются. <вырN2> должна учитывать <вырN3>.
  57. STRZERO (<вырN1>[,<вырN2>[,<вырN3>]])
  58. Преобразует числовое выражение в символьную строку с заменой левых пробелов "0".

    STRZERO( 1234, 10, 2 ) вернет '0001234.00'
  59. SUBSTR(<вырC>),<вырN1>[,<вырN2>])
  60. Возвращает указанное число символов из <вырC>, которое может быть символьной строкой, текстовым полем или символьным полем базы данных.
    Функция может включать 2 или 3 аргумента. Функция SUBSTR() "вырезает" из <вырC> заданное в <вырN2> число символов, начиная с номера символа, указанного значением аргумента <вырN1>. Первый символ <вырC> имеет номер 1. Если число символов <вырN2> не указано, то выходная строка начинается с указанной позиции и заканчивается последним символом исходной строки.

    SUBSTR('xyzabcd', 3, 4) вернет 'zabc'.
  61. TIME()
  62. Возвращает системное время в виде символьной строки формата ЧЧ:ММ:СС.
  63. TRIM(<вырC>)
  64. Обрезает хвостовые пробелы из заданной строки символов. Возвращаемое значение - символьное

    Если <вырC> целиком состоит из пробелов, функция возвращает пустую строку.
  65. UPPER(<вырC>)
  66. Конвертирует строчные буквы в прописные в заданном символьном выражении.
  67. VAL(<вырC>)
  68. Преобразует <вырC> в числовое выражение. Преобразование начинается с самого левого символа и продолжается до тех пор, пока не встретится нецифровой символ или не закончится строка символов. Ведущие пробелы игнорируются. Если заданное выражение не изображает число, возвращается 0.

    VAL("123ABC") вернет значение of 123.
  69. YEAR(<вырD>)
  70. Возвращает числовое значение года, взятое из <вырD>.
    В качестве <вырD> можно задать функцию определения системной даты, временную переменную или имя поля файла базы данных.
Наверх Задать вопрос