With : EndWith
DescriptionWith <expression> ... EndWith
Le bloc With : EndWith permet de réduire la quantité de code à saisir et améliore sa lisibilité quand beaucoup de champs d'une structure doivent être renseignés. L'<expression> spécifiée sera automatiquement insérée avant chaque caractère anti-slash '\' qui suit un espace ou un opérateur. C'est une directive de compilateur qui fonctionne de la même manière qu'une macro: la ligne complète est recréée lors de la compilation, puis elle est traitée. Les blocs With : EndWith ne peuvent pas être imbriqués, car cela pourrait générer des bugs difficiles à résoudre.
Exemple
Structure Personne
Nom$
Age.l
Taille.l
EndStructure
Ami.Personne
With Ami
\Nom$ = "Yann"
\Age = 30
\Taille = 196
Debug \Taille+\Taille
EndWith
Exemple
Structure Corps
Poids.l
Couleur.l
Texture.l
EndStructure
Structure Personne
Nom$
Age.l
Corps.Corps[10]
EndStructure
Ami.Personne
For k = 0 To 9
With Ami\Corps[k]
\Poids = 50
\Couleur = 30
\Texture = \Couleur*k
Debug \Texture
EndWith
Next