15 mai 2008

Windev : Optimisation des boucles POUR

J'ai remarqué aujourd'hui une nouvelle syntaxe sur les boucles POUR du WLangage.
Qui n'a jamais fait une boucle classique utilisant le nombre de lignes d'une table mémoire, par exemple :
POUR i=1 A TableOccurrence(TABLE1)
// traitement
FIN

Depuis plusieurs versions, vous aviez donc comme moi, une information indiquant que cette syntaxe n'est pas conseillée car il est préférable de ne pas réévaluer à chaque fois le nombre de lignes et donc d'utiliser une variable avant, ce qui me semble judicieux.

Donc, j'ai fait tout comme on me le suggérait :
nLignes est un entier = TableOccurrence(TABLE1)
POUR i=1 A nLignes
// traitement
FIN

et bien, maintenant il est possible de faire beaucoup plus simple en utilisant le mot clé "_A_" dans la boucle (un peu comme les mots clés _ET_ et _OU_) qui permet de faire la même optimisation, donc en économisant la variable temporaire.
POUR i=1 _A_ TableOccurrence(TABLE1)
// traitement
FIN

Mieux non ?

Le ruban on s'y fait et même plutôt vite !

Le ruban, j'étais sceptique (mauvais souvenir de l'apparition du ruban sous Office sûrement), mais après quelques hésitations, surto...