Функция NORMALIZE()

Преобразует символьное выражение, заданное пользователем, к виду, который допускает сравнение со значениями, возвращаемыми функциями Visual FoxPro.

Синтаксис:

NORMALIZE(cExpression)

Параметры:
cExpression
Задает символьное выражение, которое требуется нормализовать.

Результат:
Символьный.

Комментарии:
Функция NORMALIZE( ) возвращает символьную строку, в которую внесены следующие изменения по сравнению с символьным выражением cExpression:
Символьное выражение переписывается прописными буквами. При этом вложенные строки не изменяются. Примером вложенной строки является "Hello" в символьном выражении "LEFT('Hello',1)".
Все сокращения ключевых слов Visual FoxPro в символьном выражении заменяются полными вариантами.
Все операторы ->, отделяющие псевдонимы от имен полей, заменяются точками.
Проверяется синтаксис команд и функций Visual FoxPro, содержащихся в данном символьном выражении, хотя само выражение не вычисляется. Если синтаксис неверен, Visual FoxPro генерирует ошибку синтаксиса. Функция NORMALIZE( ) не проверяет существование полей, таблиц, переменных памяти, пользовательских функций или других элементов, указываемых в символьном выражении.
Пусть пользователь в конструкторе выражений ввел выражение индекса наподобие следующего:

UPPE(cust->lname) + UPPE(cust->fname)

Хотя это выражение допустимо в качестве ключа индекса Visual FoxPro, его будет трудно сравнивать со значениями, возвращаемыми такими функциями Visual FoxPro, как KEY( ). Функция NORMALIZE( ) возвращает для этого выражения следующую символьную строку:

UPPER(CUST.LNAME) + UPPER(CUST.FNAME)

Вот это уже можно легко сравнивать со значением, возвращаемым функцией KEY() например, можно определить, существует ли в действительности индекс или тег индекса для выражения индекса, заданного пользователем.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 13.03.2003