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
  • Sintaxis 1: Navegación por los elementos array
  • Sintaxis 2: Navegar por los valores de los elementos "Key" que se encuentran en la array
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
FOR EACH se utiliza para realizar diferentes tipos de operaciones de navegación en el arrays asociativo:
  • Navegando por los elementos de la array asociativa .
  • Navegando por los valores de los elementos que se encuentran en el asociativo array.
Observación: Se aceptan las frases PARA TODOS, PARA CADA UNO .. En esta documentación se utilizará la sentencia FOR EACH , pero puede sustituirse por FOR ALL.
La instrucción FOR EACH también se puede utilizar para navegar por los objetos.net que implementan la interfaz IEnumerable.
Ejemplo
// Declare an associative array of integers
// Array indexed on strings and without duplicates
aaIDPerCustomer is associative array of int
aaIDPerCustomer["A"] = 55 // Add the identifier of customer "A"
aaIDPerCustomer["B"] = 321 // Add the identifier of customer "B"
aaIDPerCustomer["A"] = 56 // Modify the identifier of customer "A"
// Browse all the identifiers (syntax 1)
// 56
// 321
FOR EACH nIdentifier OF aaIDPerCustomer
Trace(nIdentifier)
END
// Declare an associative array of integers
// This array is indexed on strings with duplicates
// Ignores the case and the accented characters
aaIDPerCustomer is associative array (WithDuplicates + ccIgnoreCasse + ccIgnoreAccent) of integers
aaIDPerCustomer["E"] = 55  // add the identifier of customer "E"
aaIDPerCustomer["B"] = 321 // add the identifier of customer "B"
aaIDPerCustomer["e"] = 8   // add the identifier of customer "e"
aaIDPerCustomer["é"] = 127 // add the identifier of customer "é"
// Browse all the identifiers of customers "E" (Syntax 2)
// 55
// 8
// 127
FOR EACH nIdentifier OF aaIDPerCustomer = "E"
Trace(nIdentifier)
END
Sintaxis

Navegación por los elementos array Ocultar los detalles

FOR EACH [ELEMENT] <Variable> [, <Key> [, <Counter>]] OF <Array> [WHERE <Condition>] [<Direction>]
    ...
END
<FOR EACH [ELEMENT]>:
Marca el inicio del bloque de declaraciones. La palabra clave ELEMENT es opcional.
<Variable>:
Variable cuyo tipo es idéntico al tipo de los elementos de array. Para el arrays de las clases, el Variable debe ser un Variable de clase dinámica. No hay necesidad de declarar este Variable.
Nota: Esta variable es un reference al valor array. Una modificación de esta Variable en PARA CADA UNO modificará también el valor en la array asociativa.
<Key>:
Clave del elemento navegado. No hay necesidad de declarar este Variable.
<Counter>:
El entero Variable que contiene el número de iteraciones. No hay necesidad de declarar este Variable.
<Array>:
Array para navegar.
<Condition>:
WEBDEV - Código Servidor Condición para indicar que se debe filtrar la navegación. Sólo se navegarán los elementos array correspondientes al filtro.
<Direction>:
Indicador opcional para la dirección de navegación.
FromBeginning
(valor predeterminado)
Navegue por la array en el orden de las adiciones en la array.
FromEndNavegue por la array en el orden inverso de las adiciones en la array.

Navegar por los valores de los elementos "Key" que se encuentran en la array Ocultar los detalles

FOR EACH [ELEMENT] <Variable> OF <Array> = <Key> [WHERE <Condition>] [<Direction>]
    ...
END
<FOR EACH ELEMENT>:
Marca el inicio del bloque de declaraciones. La palabra clave ELEMENT es opcional.
<Variable>:
Variable cuyo tipo es idéntico al tipo de los elementos de array. Para el arrays de las clases, el Variable debe ser un Variable de clase dinámica. No hay necesidad de declarar este Variable.
Nota: Esta variable es un reference al valor array. Una modificación de esta Variable en PARA CADA UNO modificará también el valor en la array asociativa.
<Array>:
Array para navegar.
<Key>:
Valor de la clave por la que se deben navegar los elementos de array. Para una array asociativa sin duplicados, se buscará 0 o 1 elemento. Para una array asociativa con duplicados, se buscará 0 o N elementos.
<Condition>:
WEBDEV - Código Servidor Condición para indicar que se debe filtrar la navegación. Sólo se navegarán los elementos array correspondientes al filtro.
<Direction>:
Indicador opcional para la dirección de navegación.
FromBeginning
(valor predeterminado)
Navegue por la array en el orden de las adiciones en la array.
FromEndNavegue por la array en el orden inverso de las adiciones en la array.
Observaciones

Sintaxis 1: Navegación por los elementos array

Para cada iteración, <Variable> se refiere directamente al elemento actual en el array. Si se modifica el valor de <Variable>, se modifica el elemento actual del array.
Al salir del bucle (salida estándar o mediante la sentencia BREAK), el valor del último elemento leído se asigna a <Variable> pero <Variable> ya no se refiere directamente al elemento array.
Ejemplo:
// Declare an associative array of integers
// Array indexed on strings and without duplicates
aaIDPerCustomer is associative array of int
aaIDPerCustomer["A"] = 55 // Add the identifier of customer "A"
aaIDPerCustomer["B"] = 321 // Add the identifier of customer "B"
aaIDPerCustomer["A"] = 56 // Modify the identifier of customer "A"
// Browse all the identifiers
// 56
// 321
FOR EACH nIdentifier OF aaIDPerCustomer
Trace(nIdentifier)
END

Sintaxis 2: Navegar por los valores de los elementos "Key" que se encuentran en la array

Esta sintaxis explora todos los elementos de array con el valor <Key> especificado.. Para cada iteración, <Variable> se refiere directamente al elemento actual en el array. Si se modifica el valor de <Variable>, se modifica el elemento actual del array.
Esta sintaxis es useful cuando se navega por la asociación arrays con duplicados. En una array asociativa sin duplicados, el número de elementos navegados puede ser 0 o 1. En una array asociativa con duplicados, el número de elementos navegados puede ser 0 o N.
Los elementos array se navegan en el orden de las adiciones (sin opción de dirección).
Al salir del bucle (salida estándar o mediante la sentencia BREAK), el valor del último elemento leído se asigna a <Variable> pero <Variable> ya no se refiere directamente al elemento array.
Ejemplo:
// Declare an associative array of integers
// This array is indexed on strings with duplicates
// Ignores the case and the accented characters
aaIDPerCustomer is associative array (WithDuplicates + ccIgnoreCasse + ccIgnoreAccent) of integers
aaIDPerCustomer["E"] = 55  // add the identifier of customer "E"
aaIDPerCustomer["B"] = 321 // add the identifier of customer "B"
aaIDPerCustomer["e"] = 8   // add the identifier of customer "e"
aaIDPerCustomer["é"] = 127 // add the identifier of customer "é"
// Browse all the identifiers of customers "E"
// 55
// 8
// 127
FOR EACH nIdentifier OF aaIDPerCustomer = "E"
Trace(nIdentifier)
END
Versión mínima requerida
  • Versión 11
Esta página también está disponible para…
Comentarios
Example Full
https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/3133-winformatica-example-hexecutesqlquery-with-break-and-filter-custom/read.awp
BOLLER
29 03 2019

Última modificación: 27/05/2022

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