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

NORMALIZE(cExpression)

Параметры

cExpression

Определяет некоторое символьное выражение, которое должно быть Нормализовано (приведено к Стандартному виду).

Expand imageВозвращаемое значение

Символьного типа (Character)

Expand imageКомментарии

NORMALIZE( ) возвращает символьную строку, которая соответствует заданному символьному выражению cExpression, которое может быть конвертировано по следующим Правилам преобразования:

  • Символьное выражение преобразуется в Верхний регистр. Тем не именее, остальные, неключевые символы не преобразуются в верхний регистр (не изменяются). Например, исходное символьное выражение"left('Hello',1)" - преобразуется к следующему виду "LEFT('Hello',1)" (неключевое слово 'Hello' - не преобразуется).

  • Зарезервированные ключевые слова системы Visual FoxPro, заданные в виде аббревиатур (четырех символов),  расширяются до полной своей длины (полное название команды, функции).

  • Допустимый оператор - разделитель алиаса Таблицы и имени Поля (->) преобразуется в стандартный разделитель  - (.) точка.

  • Проверяются синтаксические конструкции Команд и Функций системы Visual FoxPro, содержащиеся в заданном символьном выражении, однако сами команды и функции не Оцениваются. Если Синтаксис Не верен, то  Visual FoxPro генерирует сообщение о синтаксической Ошибке. NORMALIZE( ) не выполняет проверку наличия и доступности указанных Полей, Таблиц, переменных памяти, пользовательских функций и других именных сылок в заданном символьном выражении.

Например, если Пользователь ввел следующее индексное выражение, в соответствующем Построителе Выражений (Expression Builder):

  CopyCode imageКопировать Код
UPPE(cust->lname) + UPPE(cust->fname)

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

  CopyCode imageКопировать Код
UPPER(CUST.LNAME) + UPPER(CUST.FNAME)

Данное преобразование позволяет вам достаточно просто использовать указанную функцию KEY( ) для определения существования уже построенных индексных выражений, избегать, тем самым, Ошибочных ситуаций повторного определения уже имеющихся индесных выражений. Рассматриваемая функция позволяет некоторым образом Стандартизовать некоторые процессы программирования.

Expand imageСм. также