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