Операции и функции
Операции и функции, которые можно использовать для создания условий при описании внешнего вида списков.
Для написания алгоритмов список операторов и функций значительно шире.
Операции
Цифровые операции:
+Сложение
-Вычитание
*Умножение
/Деление
^Степень числа (или **)
Операции сравнения:
= равно
== тождественно равно
<> не равно
# не равно
!= не равно
< Меньше чем
> Больше чем
<= Меньше или равно
>= Больше или равно
$ Включает
Логические операции
.AND. Логическое "И"
.OR. Логическое "И"
.NOT. Логическое "Нет"
Поддерживаются следующие xBase функции
- ALIAS()
- ALLTRIM([<вырC>])
- AT(<вырC1>,<вырC2>)
- CHR(<вырN>)
- CTOD(<вырC>)
- DATE() Возвращает текущее значение системной даты.
- DAY(<вырD>)
- DELETED()
- DTOC(<вырD>[,<1>])
- DTOS(<вырD>)
- EMPTY(<выр>)
- IIF(<вырL>,<выр1>,<выр2>)
- LEFT(<вырC>,<вырN>)
- LEN(<вырC>)
- LOWER(<вырC>)
- MONTH(<вырD>)
- ORDER()
- ORDKEY() Возвращает имя главного индекса или главного тэга. Возврат - символьное значение
- PADC(<выр>,<вырN>[,<вырС>]) или PADL(<выр>,<вырN>[,<вырС>]) или PADR(<выр>,<вырN>[,<вырС>])
- RAT(<вырС1>,<вырС2>)
- RECCOUNT()
- RECNO()
- RIGHT(<вырC>,<вырN>)
- SELECT()
- SOUNDEX(<ВырС>)
- SPACE(<вырN>)
- STOD( String )
- STR(<вырN1>[,<вырN2>[,<вырN3>]])
- STRZERO (<вырN1>[,<вырN2>[,<вырN3>]])
- SUBSTR(<вырC>),<вырN1>[,<вырN2>])
- TIME()
- TRIM(<вырC>)
- UPPER(<вырC>)
- VAL(<вырC>)
- YEAR(<вырD>)
Функция ALLTRIM возвращает заданное символьное выражение, у которого отсечены как ведущие, так и завершающие пробелы.
Эта функция полезна для полной гарантии того, что введенные пользователем данные не имеют нежелательных пробелов в начале и в конце, до использования этих данных в последующих командах.
ALLTRIM(" Здравствуйте ") вернет 'Здравствуйте'.
Если <вырC1> не встречается в <вырC2>, функция возвращает нулевое значение.
Функция AT() имеет в качестве аргументов две символьные строки или два символьных выражения.
AT("gh", "defghij") вернет 4.
CHR(83) returns 'S'
Функция возвращает значение даты, соответствующее заданному символьному <выражению>.
Если для ввода дат век не определен (например "25.12.98"), подразумевается год 20-го века.
Выражением типа даты может быть имя поля файла базы данных и функция определения системной даты.
Выражением типа даты может быть имя поля файла базы данных, функция системной даты.
В функции DTOC() можно задать необязательный аргумент, обеспечивающий возврат значения в формате, пригодном для построения индекса.
Это может быть особенно полезно в комбинации с функцией TIME() для упорядочения файла базы данных в хронологическом порядке.
Функция полезна для индексации баз данных по полям даты. Она эквивалентна функции DTOC(), используемой с необязательным аргументом 1.
Выражением типа даты может быть имя поля файла базы данных, функция системной даты. Например, 21 декабря, 2007 года вернет '20071221'.
Функция будет возвращать .T., если следующие типы данных соответственно имеют значения:
Символьный - Пустое значение, пробелы, символы табуляции, символы возврата каретки и перевода строки, а также их комбинации
Числовой - 0
Дата - Пустое значение т.е. CTOD("")
Логический - Ложь .T.
Текстовый - Пустой (нет содержания) ¦
Если выражение не "пустое", возвращается .F.
Возвращаемое значение - числовое, символьное, логическое или дата.
Если значение <вырL> - "истина" (.T.), функция возвращает значение <выр1>. Если значение <вырL> - "ложь" (.F.) - функция возвращает значение <выр2>.
Функция IIF() может использоваться взамен структуры IF...ENDIF для создания условных выражений.
Символьное выражение <вырС> может быть символьной строкой, именем текстового поля или именем символьного поля.
Числовое выражение определяет количество символов, которое нужно выделить из символьного выражения.
Функция LEFT() позволяет выделить первую часть символьной строки. Это то же самое, что делает функция SUBSTR с позиции 1 и количеством символов, указанном в <вырN>. Если числовое выражение равно 0 или отрицательно, то функция возвращает нулевую строку. Если цифровое значение больше, чем длина символьного выражения, то функция возвращает всю строку.
LEFT("xyzabc", 3) вернет 'xyz'.
Если выражение содержит пустую строку, функция возвращает 0.
Возвращаемое значение - числовое
Январь имеет номер 1 и декабрь - номер 12.
Выражением типа даты может быть временная переменная, поле файла базы данных или функция определения системной даты.
Возвращаемое значение - символьное
Если длина выражения больше <вырN>, выражение усекается справа до заданной величины. Если задан третий аргумент <вырС>, то его повторения используются для дополнения исходного выражения до требуемой длины , иначе используется символ пробела (код 32).
PADL() вставляет символы-заполнители слева,
PADR() - справа, а PADC() с обеих сторон.
В качестве первого аргумента можно задавать символьные, числовые и выражения типа дата.
Возвращаемое значение - числовое
<вырС2> может быть текстовым полем.
Функция похожа на AT(), за тем исключением, что последняя ведет поиск слева направо.
RAT( "ab", "abzaba" ) вернет 4.
Если <вырN> равно 0 или отрицательно, функция возвращает пустую строку.
Если <вырN> больше чем длина <вырC>, функция RIGHT() возвращает всю строку. RIGHT("xyzabc", 3) вернет 'abc'.
Сравнивая результаты функции для двух символьных строк, можно определить, являются ли два слова фонетически подобными (имеющими сходное звучание).Это может быть полезным при поиске почти одинаковых символьных данных.
Результатом функции является четырехсимвольная строка. Функция нечувствительна к регистру представления символов и не учитывает гласные.
Функция конвертирует <вырN1> в строку заданной в <вырN2> длины. Если указан аргумент <вырN3>, в символьную строку включается заданное этим аргументом число десятичных знаков. Длина строки <вырN2> в этом случае должна учитывать десятичную точку и соответствующее число десятичных знаков.
Если в <вырN2> указать длину, которая больше, чем количество цифр слева от десятичной точки, функция заполняет старшие позиции пробелами. Если же указанная длина меньше этого числа цифр, функция возвращает строку звездочек (*), сигнализируя этим переполнение.
Если в <вырN3> указать меньше десятичных позиций, чем имеется в числе, лишние цифры усекаются. <вырN2> должна учитывать <вырN3>.
STRZERO( 1234, 10, 2 ) вернет '0001234.00'
Функция может включать 2 или 3 аргумента. Функция SUBSTR() "вырезает" из <вырC> заданное в <вырN2> число символов, начиная с номера символа, указанного значением аргумента <вырN1>. Первый символ <вырC> имеет номер 1. Если число символов <вырN2> не указано, то выходная строка начинается с указанной позиции и заканчивается последним символом исходной строки.
SUBSTR('xyzabcd', 3, 4) вернет 'zabc'.
Если <вырC> целиком состоит из пробелов, функция возвращает пустую строку.
VAL("123ABC") вернет значение of 123.
В качестве <вырD> можно задать функцию определения системной даты, временную переменную или имя поля файла базы данных.