With : EndWith


Syntax
With <expression>
  ...
EndWith
Description
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