f$Visio: LeseAlleNamen (GetAllNames)
f$Visio: LeseAlleNamen (engl.: GetAllNames)
Auslesen aller Shapes der Zeichnung. Die aktuelle Gesamtanzahl von Shapes in der Zeichnung kann über ShapeAnzahl ermittelt werden.
Diese Funktion kann z.B. verwendet werden, um alle Zeichnungselemente eines bestimmten Typs generell zu überarbeiten (siehe Beispiel).
Die zu lesenden Shapes können auch über einen Filter (Wert einer Visio-Zelle) bestimmt werden. Siehe dazu ShapeListeFilter.
Nach dem Einfügen eines neuen Shapes erhält es den Namen des Mastershapes aus der Schablone. Da der Shapename aber immer eindeutig sein muss, wird er automatisch um einen Punkt und eine ID-Nummer ergänzt, wenn schon ein Shape dieses Namens vorhanden ist (bei dem Shape „Rechteck" z.B. "Rechteck.25").
Bitte beachten: Der Parametername für den Funktionswert, der in FeldName übergeben wird, wird indirekt in einer Zeichenkette übergeben, also in Anführungszeichen eingeschlossen. Außerdem muss er global und als einfach indiziertes Feld ausreichender Größe definiert sein. Die Feldgröße kann ohne Auswirkungen auf die Performance großzügig bemessen werden.
Parameter für f$visio:
Parameter | Wert | Bedeutung |
Kennung | ’Visio’ | Schlüsselwort |
Eigenschaft | ’LeseAlleNamen’ | Schlüsselwort |
Wert | FeldName | Name eines indizierten globalen Parameters vom Typ Zeichenkette, der nach dem Aufruf die Shapenamen enthält; die Angabe erfolgt ohne Index. Das Listenende ist durch einen Parameterwert LEER gekennzeichnet. |
Ergebnis: | Ganzzahl | Status: 0 – alles OK, sonst siehe Rückgabestatus Rückgabewerte der Funktionen (Visio) |
Beispiel: Ändern aller Shapes einer Zeichnung
Ändern aller Maßlinien einer Zeichnung auf die Farbe Rot zur Kennzeichnung einer Sonderkonstruktion (zu diesem Zweck sei zuvor ein entsprechender Linienstil „Bemaßung Rot" angelegt worden).
Ermitteln aller Shapes der Zeichnung und Abarbeiten der Liste:
ET "Sondermasse":
|
| R 01 | SONST |
B 01 |
|
|
|
A 01 | Status = f$visio( ’Visio’, ’LeseAlleNamen’, ’ShapeListe’ ) | x |
|
A 02 | i = 1 | x |
|
A 03 | p$Sondermasse2() | x |
|
Für jedes Shape wird nun geprüft, ob es vom Typ „Bemaßung" ist, d.h. ob der Shapename "Bemaßung.nn" ist („nn" sei die ID-Nummer). Für alle diese Shapes wird das Shape aktiviert und der Linienstil auf „Bemaßung Rot" gesetzt:
ET "Sondermasse2":
|
| R 01 | R 02 | SONST |
B 01 | f$IstLeer(’ShapeListe[i]’) | n | n |
|
B 02 | ShapeListe[i](1:8) = ’Bemaßung’ | j |
|
|
B 03 |
|
|
|
|
A 01 | Status = f$visio( ’Visio’, ’Shape’, ShapeListe[i] ) | x |
|
|
A 02 | Status = f$visio( ’Visio’, ’Linienstil’, ’Bemaßung Rot’ ) | x |
|
|
A 03 | i = i + 1 | x | x |
|
A 04 | p$Sondermasse2() | x | x |
|