Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit Hilfe von For-Schleifen können Sie eine Abfolge von Anweisungen mehrere Male auswerten lassen. Durch diese Funktionsweise unterscheiden sich For-Schleifen von If- und Select-Ausdrücken, bei denen während der Auswertung der Formel jeder Ausdruck vom Programm höchstens einmal durchlaufen wird.
For-Schleifen sind am einfachsten zu verwenden, wenn Sie im Voraus genau wissen, wie oft die Anweisungen ausgewertet werden müssen.
Verwenden einer For-Schleife
Sie möchten die Zeichenfolge im Feld {Kunde.Kundenname} umkehren. Dadurch würde beispielsweise der Firmenname "City Cyclists" zu "stsilcyC ytiC" umgewandelt werden.
Local StringVar str := "";
Local NumberVar strLen :=
Length ({Customer.Customer Name});
Local NumberVar i;
For i := 1 To strLen Do
(
Local NumberVar charPos := strLen - i + 1;
str := str + {Customer.Customer Name}[charPos]
);
str
Jetzt werden wir untersuchen, wie diese Formel arbeitet, indem wir davon ausgehen, dass im Feld {Kunde.Kundenname} zurzeit der Firmenname "Clean Air" enthalten ist. Der Variablen Textlänge wird die Länge der Zeichenfolge "Clean Air", also die Zahl 9, zugewiesen. Die Variable i wird auch als "For-Zähler" bezeichnet, da sich ihr Wert mit jedem Durchlaufen der For-Schleife ändert. Sie dient also dazu, mitzuzählen, wie oft die Schleife durchlaufen wird. Die For-Schleife wird neunmal wiederholt; beim ersten Mal ist nun i 1, dann ist i 2, dann 3 und so weiter, bis schließlich i gleich 9 ist. Beim ersten Durchlauf wird das 9. Zeichen von {Kunde.Kundenname} an den Wert der noch leeren Zeichenfolgevariablen str angefügt. Nach dem ersten Durchlauf enthält diese also den Buchstaben "r ". Beim zweiten Durchlauf wird das 8. Zeichen von {Kunde.Kundenname} an angefügt, wonach die Variable die Zeichenfolge "ri" enthält. Dies wird fortgesetzt, bis nach dem neunten Durchlauf in der Variablen die Zeichenfolge "riA naelC", also die umgekehrte Zeichenfolge, enthalten ist.
Verwenden einer For-Schleife und einer Step-Klausel
Es folgt eine einfachere Ausführung der oben stehenden Formel, in der eine Step-Klausel mit dem negativen Step-Wert -1 verwendet wird. Wenn wir als Beispiel wieder den Firmennamen "Clean Air" verwenden, dann hat i beim ersten Durchlauf den Wert 9, beim zweiten den Wert 8, beim dritten den Wert 7, und so weiter bis zum letzten Durchlauf, bei dem i den Wert 1 erhält.
Local StringVar str := "";
Local NumberVar strLen :=
Length ({Customer.Customer Name});
Local NumberVar i;
For i := strLen To 1 Step -1 Do
(
str := str + {Customer.Customer Name}[i]
);
str
Verwenden von StrReverse
In der einfachsten Version wird die integrierte Funktion StrReverse verwendet:
StrReverse ({Customer.Customer Name})
Mit den integrierten Zeichenfolgefunktionen von Crystal Reports können viele der Aufgaben zum Verarbeiten von Zeichenfolgen durchgeführt werden, die bisher mithilfe einer For-Schleife oder eines anderen Schleifentyps gelöst wurden. Allerdings sind For-Schleifen beim Verarbeiten von Zeichenfolgen am vielseitigsten verwendbar und auch beim Verarbeiten von Arrays am leistungsfähigsten, was ausschlaggebend sein kann, wenn die geplante Verarbeitungsweise von den integrierten Funktionen nicht geleistet werden kann.