Sintaxis
EXIT
Propósito
El comando EXIT genera la salida de un ciclo de repetición WHILE ... ENDDO o FOR ... NEXT, transferencia de un flujo de ejecución del programa a la primera línea de instrucción inmediatamente después del ENDDO o NEXT.
Argumentos
Ninguno.
Utilización
El comando EXIT se utiliza para forzar la finalización de una estructura de repetición WHILE ... ENDDO o FOR ... NEXT, incluso considerando que la condición de repetición del WHILE aún permanezca verdadera o el contador del FOR ... NEXT aún no haya alcanzado su límite.
Ejemplos
En la siguiente función, la ejecución se finaliza cuando el segundo elemento del array aAlmox esté completado con "N", considerando incluso cuando las condiciones aún sean verdaderas.
// Función de cálculo
FUNCTION CalcGrao(nSacas, aAlmox)
LOCAL nPos := 0
LOCAL nReserva := 0
LOCAL nSoma := 0
WHILE nPos < LEN(aAlmox) .AND. nReserva < nSacas
nPos++
IF aAlmox[nPos, 2] == "N"
EXIT
ENDIF
nSoma := nReserva + aAlmox[nPos]
IF nSoma <= nSacas
nReserva := nSoma
ELSE
nReserva := nSacas
ENDIF
ENDDO
RETURN nReserva
Así como en la función anterior, basada en el WHILE, la ejecución de la siguiente función se finaliza cuando el segundo elemento del array aAlmox esté completada con "N" o cuando la cantidad reservada sea igual a la cantidad de sacas solicitadas, considerando incluso que aún no se alcanzó el límite de elementos del array.
// Función de cálculo
FUNCTION CalcGrao(nSacas, aAlmox)
LOCAL nPos := 0
LOCAL nReserva := 0
LOCAL nSoma := 0
FOR nPos := 1 TO LEN(aAlmox)
IF nReserva == nSacas .OR. aAlmox[nPos, 2] == "N"
EXIT
ENDIF
nSoma := nReserva + aAlmox[nPos, 1]
IF nSoma <= nSacas
nReserva := nSoma
ELSE
nReserva := nSacas
ENDIF
NEXT nPos
RETURN nReserva