With : EndWith
BeschreibungWith <Ausdruck> ... EndWith
With : EndWith Blöcke können mit Struktur-Feldern eingesetzt werden, um die Menge an Programmcode zu reduzieren und seine Lesbarkeit zu verbessern.
Dies ist eine Compiler-Direktive und funktioniert ähnlich wie ein Makro, d.h. der angegebene 'Ausdruck' wird automatisch vor allen Backslash '\'-Zeichen eingefügt, denen kein Leerzeichen oder ein Operator vorangeht. Der Code verhält sich identisch zu seiner erweiterten Version.
With : EndWith Blöcke können nicht verschachtelt werden, da dies zu nur schwer zu findenden Bugs führen kann, wenn es mehrere - mit verschiedenen Werten ersetzte - Anweisungen gibt.
Beispiel
Structure Person
Name$
Age.l
Size.l
EndStructure
Friend.Person
With Friend
\Name$ = "Yann"
\Age = 30
\Size = 196
Debug \Size+\Size
EndWith
Beispiel: Komplexes Beispiel
Structure Body
Weight.l
Color.l
Texture.l
EndStructure
Structure Person
Name$
Age.l
Body.Body[10]
EndStructure
Friend.Person
For k = 0 To 9
With Friend\Body[k]
\Weight = 50
\Color = 30
\Texture = \Color*k
Debug \Texture
EndWith
Next