|
|
|
|
- Otras sentencias utilizadas para salir de un bucle
- Ejemplo de uso de la etiqueta "BREAK:".
- Declaración "BREAK:".: Caso de bucles anidados
Declaración BREAK/etiqueta "BREAK:".
La palabra clave BREAK puede corresponder: - a la instrucción BREAK:
La instrucción BREAK se usa para salir de un bloque de instrucción y ejecutar el resto del Process actual. La instrucción BREAK se puede utilizar en los siguientes tipos de bucles: Observación: La declaración BREAK no se puede usar para salir de un Procedure. Utilice las palabras clave RETURN y RESULTADO. - al BREAK: etiqueta:
La etiqueta "BREAK:" se utiliza para declarar un código en un bucle. - Este código se ejecutará al salir del bucle con una sentencia "BREAK.
- Este código nunca se ejecutará para cada iteración del bucle.
Sintaxis
La declaración BREAK utilizada en una declaración FOR
FOR <Control variable> = <Initial value> TO <Final value> [STEP <x>] ... IF <Condition> THEN BREAK ... END <Rest of process>
La declaración de BREAK usada en una declaración de FOR EACH
FOR EACH <File> ON <Key item> ... IF <Condition> THEN BREAK ... END <Rest of process>
La declaración BREAK utilizada en una declaración LOOP
LOOP ... IF <Condition> THEN BREAK ... END <Rest of process>
La declaración de BREAK utilizada en una declaración de WHILE
WHILE <Condition> ... IF <Condition> THEN BREAK ... END <Rest of process>
The following operations are performed if <Condition> is True: - Exit statement block. - Run the rest of the current process.
Observaciones Otras sentencias utilizadas para salir de un bucle Hay varias declaraciones disponibles: - RETURN: Salir del bucle y de la Process actual (o Procedure).
- RETURN: Devuelva un estado reporte al llamado Process. Salir del bucle y de la Process actual (o Procedure).
Cerrar se utiliza para salir del bucle y cerrar la ventana actual. Atención: RETURN y RETURN no pueden utilizarse en el mismo Process. Ejemplo de uso de la etiqueta "BREAK:". En este ejemplo, se visualiza el total que representa la suma de las últimas 10 facturas.. NbInvoices is int TotalOfInvoices is currency NbInvoices = 0 // Iterate over invoices starting from last invoice HReadLast(ORDER, OrderNumber) WHILE NOT HOut() IF NbInvoices >= 10 THEN BREAK // Jump directly to the BREAK: label // Adds the invoices TotalOfInvoices += ORDER.TotalInclTax NbInvoice ++ HReadPrevious(ORDER, OrderNumber) BREAK: // Exits from the loop after 10 iterations Info("The total for the last 10 invoices is: ", TotalOfInvoices) END Declaración "BREAK:".: Caso de bucles anidados Cuando hay varios bucles anidados, es posible que tenga que salir de una iteración para volver al nivel anterior o incluso a un nivel superior. Para ello, la sentencia BREAK acepta un parámetro que indica el número de niveles a subir para la salida. La sintaxis es la siguiente: BREAK(<Number of levels>) donde es un número entero entre 1 y N, N representa el número de niveles anidados para el bucle.Por ejemplo: x, y, z are int
FOR x = 1 TO 15 // Loop 1 FOR y = 1 TO 25 // Loop 2 FOR z = 1 TO 50 // Loop 3 IF <My condition is checked> THEN BREAK(2) // Exits from loop 3 and loop 2 // and goes to the next iteration in loop 1 END END END END
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|