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
  • Salir de un bucle
  • Ejecutar la siguiente iteración
  • Lazo sin final
  • Variable externa en un bucle
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
El bloque de instrucciones se repite sin parar. 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>:
Se utiliza para salir del bloque de instrucciones.
<END>:
Marca el final del bloque de declaraciones.

Bucle con salida según una condición de "MIENTRAS". Ocultar los detalles

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

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 declaraciones.
Observaciones

Código a ejecutar

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

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).
  • BREAK: Salga del bucle y ejecute el resto del actual Process.
Cerrar se utiliza para salir del bucle y cerrar la ventana actual.
Atención: RETURN y RETURN no pueden utilizarse en el mismo process.

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

Lazo sin final

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

Variable externa en un bucle

Un Variable declarado por EXTERN no puede ser utilizado 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: 27/05/2022

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