AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Sintaxis WLanguage / Instrucciones estructuradas
  • Código a ejecutar
  • Salida de un bucle
  • Ejecutar la siguiente iteración
  • Bucle sin fin
  • Variable externa en un bucle
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
El bloque de instrucciones se repite sin cesar. El número de iteraciones en el bloque de instrucciones no se comprueba, no hay ninguna expresión que evaluar.
Ejemplo
// Exit according to an IF condition
LOOP
	// Read a line in the text file
	ALine = fReadLine(FileNum)
	 IF ALine = EOT THEN BREAK
	ProcessLine(ALine)
END
// Exit according to a WHILE condition
LOOP
	// Read a line in the text file
	ALine = fReadLine(FileNum)
	ProcessLine(ALine)
DO WHILE ALine <> EOT
// Exit according to an iteration
LOOP (10)
	// Read a line in the text file
	ALine = fReadLine(FileNum)
	ProcessLine(ALine)
END
Sintaxis

Bucle con salida según una condición "IF" Ocultar los detalles

LOOP
   ...
   IF <Condition> THEN BREAK
   ...
END
<LOOP>:
Marca el inicio del bloque de instrucciones.
<BREAK>:
Permite salir del bloque de instrucciones.
<END>:
Marca el final del bloque de instrucciones.

Bucle con salida según una condición "WHILE" Ocultar los detalles

LOOP
...
DO WHILE <Condition>
<LOOP>:
Marca el inicio del bloque de instrucciones.
<DO WHILE>:
Marca el final del bloque de instrucciones. Se utiliza para salir del bloque de instrucciones. Se ejecutan las líneas del bucle que se encuentran antes de esta sentencia.

Bucle con salida según el número de iteraciones Ocultar los detalles

LOOP (<Number of iterations>)
...
END
<LOOP>:
Marca el inicio del bloque de instrucciones.
<Number of Iterations>:
Número de iteraciones a realizar. El programa saldrá del bucle cuando se alcance el número de iteraciones.
<END>:
Marca el final del bloque de instrucciones.
Observaciones

Código a ejecutar

El código a ejecutar se sitúa entre las sentencias LOOP y END.

Salida de un bucle

Hay varias declaraciones disponibles:
  • RETURN: Salir del bucle y del proceso (o procedimiento) actual.
  • RETURN: Devuelve un informe de estado al proceso de llamada. Salir del bucle y del proceso (o procedimiento) actual.
  • BREAK: Sale del bucle y ejecuta el resto del proceso actual.
Cerrar se utiliza para salir del bucle y cerrar la ventana actual.

Ejecutar la siguiente iteración

Para ejecutar directamente la siguiente iteración sin terminar el código de la iteración actual, utilice la instrucción CONTINUAR:
LOOP
...
IF <Condition> THEN  CONTINUE // Go back to the LOOP keyword
...
END

Bucle sin fin

Durante la compilación del proyecto, un bucle sin fin (sin BREAK, RETURN o RETURN) se señala mediante una advertencia.

Variable externa en un bucle

Una variable declarada por EXTERN no puede utilizarse en un bucle.
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
LOOP WITH INDIRECTION
PROCEDURE UI_EsconteMostraTodos(bEsconteMostra is boolean)

Botao,NomeMes is string = ""
NumNomeMes, Mes is int

LOOP(12)
NumNomeMes++
IF NumNomeMes = 1 THEN
NomeMes = "JAN"
ELSE IF NumNomeMes = 2 THEN
NomeMes = "FEV"
ELSE IF NumNomeMes = 3 THEN
NomeMes = "MAR"
ELSE IF NumNomeMes = 4 THEN
NomeMes = "ABR"
ELSE IF NumNomeMes = 5 THEN
NomeMes = "MAI"
ELSE IF NumNomeMes = 6 THEN
NomeMes = "JUN"
ELSE IF NumNomeMes = 7 THEN
NomeMes = "JUL"
ELSE IF NumNomeMes = 8 THEN
NomeMes = "AGO"
ELSE IF NumNomeMes = 9 THEN
NomeMes = "SET"
ELSE IF NumNomeMes = 10 THEN
NomeMes = "OUT"
ELSE IF NumNomeMes = 11 THEN
NomeMes = "NOV"
ELSE IF NumNomeMes = 12 THEN
NomeMes = "DEZ"
END
LOOP(12)
Mes ++
Botao = "BTN_"+NomeMes+"_" + NumToString(Mes,"02.00f")
IF bEsconteMostra = True
{Botao,indControl}..Visible = True
ELSE
{Botao,indControl}..Visible = False
END
END
Mes = 0
END
BOLLER
18 04 2019

Última modificación: 16/01/2025

Señalar un error o enviar una sugerencia | Ayuda local