¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Importante Es posible que este documento no represente los procedimientos recomendados para el desarrollo actual. Puede que los vínculos a las descargas y otros recursos ya no sean válidos. Encontrará aquí la versión que se recomienda en la actualidad.

Ciclos For (sintaxis Crystal)

Los ciclos For le permiten evaluar una secuencia de expresiones varias veces. Esto es diferente a los enunciados If y Select, donde el programa pasa por cada expresión máximo una vez durante la evaluación de la fórmula.

Los ciclos For funcionan mejor cuando conoce de antemano la cantidad de veces que es necesario evaluar una expresión.

Sintaxis del ciclo For

Ejemplo 1

Suponga que desea invertir la cadena {Cliente.Nombre del cliente}. Por ejemplo, la compañía "City Cyclists" pasa a ser "stsilcyC ytiC".

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

Examine cómo funciona esta fórmula asumiendo que el valor actual del campo {Customer.Customer Name} es "Clean Air". La variable strLen se asigna como longitud de “Clean Air”, es decir, 9. La variable i se conoce como variable de contador ya que su valor cambia con cada iteración del ciclo For. Es decir, se usa para contar las iteraciones del ciclo. El ciclo For se repetirá 9 veces; la primera vez, i es 1, luego, i es 2, después, i es 3 y así sucesivamente hasta que, finalmente, i es 9. Durante la primera repetición, el noveno carácter de {Cliente.Nombre del cliente} se anexa a la variable de cadena str vacía. Por eso, cadena es igual a "r" después de la primera iteración. Durante la segunda iteración, el octavo carácter de {Customer.Customer Name} se anexa a cadena y de este modo cadena es igual a "ri". Esto continúa hasta después de la novena iteración, la cadena es igual a "riA naelC", que es la cadena invertida.

Ejemplo 2

He aquí una versión más simple de la fórmula anterior, que usa una cláusula Step con un valor negativo de Step igual a -1. En el ejemplo de “Clean Air”, i es 9 en la primera repetición, 8 en la segunda, 7 en la tercera y así sucesivamente hasta la repetición final, en la que es 1.

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

Ejemplo 3

La versión más simple es usar la función incorporada StrReverse:

StrReverse ({Customer.Customer Name})

Las funciones de cadena incorporada de Crystal Reports pueden manejar muchas de las aplicaciones de procesamiento de cadenas que tradicionalmente serían manejadas usando un ciclo For o algún otro tipo de ciclo. No obstante, los ciclos For proporcionan la mayor flexibilidad en el procesamiento de cadenas, así como capacidad en el procesamiento de matrices, que pueden ser esenciales si las funciones incorporadas no abarcan el programa que desea usar.

Vea también

Ejemplo de ciclo For (sintaxis Crystal) | Salida de los ciclos For (sintaxis Crystal)

Mostrar:
© 2015 Microsoft