Freigeben über


NORMALIZE( )-Funktion

Konvertiert einen von einem Benutzer gelieferten Zeichenausdruck in ein Format, das mit Visual FoxPro-Funktionsrückgabewerten verglichen werden kann.

NORMALIZE(cExpression)

Rückgabewerte

Zeichen

Parameter

  • cExpression
    Gibt den zu normalisierenden Zeichenausdruck an.

Hinweise

NORMALIZE( ) gibt aus dem Zeichenausdruck cExpression eine Zeichenfolge mit den folgenden Änderungen zurück:

  • Der Zeichenausdruck wird in Großbuchstaben umgewandelt. Eingebettete Zeichenfolgen werden jedoch nicht geändert. "Hallo" im Zeichenausdruck "LEFT('Hallo',1)" ist ein Beispiel für eine eingebettete Zeichenfolge.
  • Abgekürzte Visual FoxPro-Schlüsselwörter im Zeichenausdruck werden auf ihre volle Länge erweitert.
  • Operatoren (->), die Alias- von Feldnamen trennen, werden in Punkte umgewandelt.
  • Die Syntax von Visual FoxPro-Befehlen oder -Funktionen im Zeichenausdruck wird überprüft, der Ausdruck wird jedoch nicht ausgewertet. Wenn die Syntax falsch ist, generiert Visual FoxPro einen Syntaxfehler. NORMALIZE( ) überprüft nicht, ob Felder, Tabellen, Speichervariablen, benutzerdefinierte Funktionen oder andere Verweise im Zeichenausdruck vorhanden sind.

Ein Benutzer könnte beispielsweise folgenden Indexausdruck in den Ausdrucks-Generator eingeben:

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

Obwohl es sich dabei um einen zulässigen Visual FoxPro-Indexschlüsselausdruck handelt, ist es schwierig, diesen Ausdruck mit den Rückgabewerten aus einer Visual FoxPro-Funktion, wie z. B. KEY( ), zu vergleichen. NORMALIZE( ) gibt für den oben genannten Ausdruck die folgende Zeichenfolge zurück:

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

Diese kann auf einfache Weise mit dem Rückgabewert aus einer Funktion, wie z. B. KEY( ), verglichen werden, und Sie können mit diesem Beispiel ermitteln, ob ein Index oder Indexschlüssel mit dem vom Benutzer bereitgestellten Indexausdruck bereits vorhanden ist.

Siehe auch

EVALUATE( ) | ISUPPER( ) | PROPER( ) | UPPER( )