Преобразует (конвертирует) символьное выражение, заданное Пользователем, в стандартную форму символьного выражения, однозначно обрабытываемую системой Visual FoxPro.
NORMALIZE(cExpression) |
Параметры
- cExpression
-
Определяет некоторое символьное выражение, которое должно быть Нормализовано (приведено к Стандартному виду).
Возвращаемое значение
Символьного типа (Character)
Комментарии
NORMALIZE( ) возвращает символьную строку, которая соответствует заданному символьному выражению cExpression, которое может быть конвертировано по следующим Правилам преобразования:
-
Символьное выражение преобразуется в Верхний регистр. Тем не именее, остальные, неключевые символы не преобразуются в верхний регистр (не изменяются). Например, исходное символьное выражение"left('Hello',1)" - преобразуется к следующему виду "LEFT('Hello',1)" (неключевое слово 'Hello' - не преобразуется).
-
Зарезервированные ключевые слова системы Visual FoxPro, заданные в виде аббревиатур (четырех символов), расширяются до полной своей длины (полное название команды, функции).
-
Допустимый оператор - разделитель алиаса Таблицы и имени Поля (->) преобразуется в стандартный разделитель - (.) точка.
-
Проверяются синтаксические конструкции Команд и Функций системы Visual FoxPro, содержащиеся в заданном символьном выражении, однако сами команды и функции не Оцениваются. Если Синтаксис Не верен, то Visual FoxPro генерирует сообщение о синтаксической Ошибке. NORMALIZE( ) не выполняет проверку наличия и доступности указанных Полей, Таблиц, переменных памяти, пользовательских функций и других именных сылок в заданном символьном выражении.
Например, если Пользователь ввел следующее индексное выражение, в соответствующем Построителе Выражений (Expression Builder):
Копировать Код | |
---|---|
UPPE(cust->lname) + UPPE(cust->fname) |
Для однозначного соответствия указанного индексного выражения, при использовании стандартной функции системы Visual FoxPro KEY() функция NORMALIZE( ) преобразует указанное выше символьное выражение к следующему виду:
Копировать Код | |
---|---|
UPPER(CUST.LNAME) + UPPER(CUST.FNAME) |
Данное преобразование позволяет вам достаточно просто использовать указанную функцию KEY( ) для определения существования уже построенных индексных выражений, избегать, тем самым, Ошибочных ситуаций повторного определения уже имеющихся индесных выражений. Рассматриваемая функция позволяет некоторым образом Стандартизовать некоторые процессы программирования.
См. также
Описание
EVALUATE( ), функцияISUPPER( ), функция
PROPER( ), функция
UPPER( ), функция