IntersectPoints2Net [IPN]

Top  Previous  Next

Symbol- und Textelemente innerhalb geschlossener Stringelemente erhalten deren Attribute.

Zur Vereinfachung werden die Symbol- und Textelemente im weiteren Elemente und die geschlossenen Stringelemente Maschen genannt.

Erst bestimmt IPN die Lage der Elemente in Bezug auf die Maschen. Die auf dem Rand der Masche liegenden Elemente gelten als innerhalb der Masche liegend. Elemente, die innerhalb der Schnittfläche mehrerer Maschen liegen, werden kommentarlos einer von ihnen zugeordnet. Zu außerhalb aller Maschen liegenden Elementen erfolgen Warnungen.

Dann erhalten die Objekte der innerhalb der Maschen liegenden Elemente Attribute. Sind alle Attribute zu kopieren, so werden die Attribute des Objekts der Masche kopiert. Im Falle einer Auswahl zu kopierender Attribute dürfen sie auch Pseudoattribute enthalten, z.B. $dky für den Zeichenschlüssel der Masche oder $up.$key.1 für den Primärschlüssel des Objekts der Masche (siehe Moskito Tabellenreferenz). Bei der Auswahl wird das Attribut zuerst an der Masche gesucht. Nur wenn sie das Attribut nicht besitzt, dann wird es an ihrem Objekt gesucht. Enthält keiner von beiden das Attribut, dann wird ein leeres Attribut erzeugt.

Als Default werden die selektierten Stringelemente verwendet, alternativ können mit dem Parameter NET Stringelementhandles übergeben werden.




image5_37

Die Beispielgrafik enthält auf der linken Seite ein schwarzes Stringelement mit dem Attribut POS des Wertes ‚links‘, rechts daneben ein schwarzes Stringelement ebenfalls mit dem Attribut POS, aber mit dem Wert ‚rechts‘, ein violettes Textelement „Text“ innerhalb des linken Stringelements liegend, ein violettes Symbolelement S1 innerhalb des rechten Stringelements liegend, und ein violettes Symbolelement S2 außerhalb der beiden Stringelemente liegend. Die Attribute sind rot und stehen über ihren zugehörigen Elementen.




image5_38

Nach dem Aufruf von IPN mit dem Parameter QTX/* und den Handles des Textelements und der beiden Symbolelemente besitzt das Objekt des Textelements das Attribut POS mit dem Inhalt ‚links‘ und das Objekt des Symbolelements S1 das Attribut POS mit dem Inhalt ‚rechts‘.

Voraussetzung

Die Maschen müssen geschlossen sein.

Parameter

/COPY

Die Objekte der Elemente werden in den geöffneten Plan kopiert, und nur die Kopien erhalten die Attribute.

AUTOPLAN/nnn

Die Objekte werden bei /COPY nicht in den geöffneten Plan kopiert, sondern in die Ebene nnn.

POINTS/PTR_nn,PTR_nn,...

Die Handles der Elemente. Dabei sind wirklich die Elementhandles und keinesfalls ihre Objekthandles gemeint.

QTX/*

Alle Attribute kopieren.

QTX/ea1=ma1,ea2=ma2,...

Eine Auswahl von Attributen kopieren. Der Parameter QTX enthält Paare von Attributnamen. Zwischen den beiden Namen eines Paares steht ein Gleichheitszeichen. Die Paare werden durch Kommata voneinander getrennt. Der erste Name eines Paares ist der Attributname am Objekt des Elements, der zweite der Attributname an derMasche bzw. an ihrem Objekt.

NET/PTR_nn,PTR_nn,...

Die Handles der Maschen. Als Default werden die selektierten Stringelemente verwendet.

Rückgabewert

Wert

Beschreibung

0

Aufruf wurde erfolgreich durchgeführt

sonst

Fehler aufgetreten

Dialog

Der Inhalt ... des Parameters QTX läßt sich nicht auswerten.

Der Wert des QTX Parameters entspricht nicht der vorgegebenen Syntax.

Der Inhalt ... des Parameters POINTS läßt sich nicht auswerten.

Der Wert des POINTS Parameters entspricht nicht der vorgegebenen Syntax.

Der Inhalt ... des Parameters NET läßt sich nicht auswerten.

Der Wert des NET Parameters entspricht nicht der vorgegebenen Syntax.

Fehler: Es sind keine Stringelemente selektiert.

Die Selektionsmenge ist leer oder enthält keine Stringelemente oder beim Parameter NET wurde kein einziges Handle angegeben.

Fehler: Die Elementhandles fehlen.

Der Parameter POINTS fehlt oder enthält kein einziges Handle.

Fehler: Die Attribute fehlen.

Der Parameter QTX fehlt oder enthält keine Attributnamen.

Fehler: ... ist kein Symbol- oder Texthandle.

Ein Handle beim Parameter POINT ist kein Symbol- oder Textelement.

Fehler: .. ist kein Stringhandle.

Ein Handle beim Parameter NET ist kein Stringelement.

Warnung: Symbol ... Objekt ... Plan ... Blatttyp ... : Das Element liegt außerhalb aller Stringelemente.

Das angegebene Element liegt nicht innerhalb eines der Stringelemente.

Attribut ... konnte nicht gesetzt werden.

Beim Setzen eines Attributs ist ein Fehler aufgetreten.

Fehler bei der Positionsbestimmung aufgetreten.

Die Position eines Elements – ob innerhalb oder außerhalb eines Stringelements – konnte nicht bestimmt werden.

Segement ... kann nicht angelegt werden.

Die mit dem Parameter AUTOPLAN ausgewählte Ebene existiert nicht und kann nicht angelegt werden.

Beispiel

IntersectPoints2Net QTX/* s_concat( "POINTS/" s_concatComma( DBquery( $pointer FROM SYMBOL  /NOQUOTE ) ) )

Wegen QTX/* werden alle Attribute kopiert. Es sind keine Stringelementhandles angegeben, deshalb werden die selektierten Stringelemente verwendet. Dbquery() liefert die Handles aller Symbolelemente in der Selektionsmenge, die dann mit s_concatComma() durch Kommata voneinander getrennt werden, bevor s_concat() sie direkt an den POINTS/-Parameter hängt. Aus der Auswertung der DBquery() und der concat-Funktionen resultiert ein Funktionsaufruf der Form

IntersectPoints2Net QTX/*          "POINTS/PTR_112edec,PTR_112de2c,PTR_8d86cc,PTR_8d875c"

IntersectPoints2Net "QTX/que=que,obk=$key.1" s_concat( "POINTS/" s_concatComma( DBquery( $pointer FROM SYMBOL  /NOQUOTE ) DBquery( $pointer FROM TEXT /NOQUOTE ) ) ) s_concat( "NET/" s_concatComma( DBquery( $pointer FROM STRING KEY 800 /NOQUOTE )) )

Der Inhalt des Attributs que wird übernommen, das Attribut obk erhält den ersten Objektschlüssel des Objekts des Stringelements. Es werden alle Symbol- und Textelemente in der Selektionsmenge bearbeitet. Es werden die Stringelemente verwendet, bei deren Objekt ein/der Schlüssel gleich 800 ist.

Bemerkung

Wenn bei den Parametern POINTS oder NET ein ungültiger Handle verwendet wird, der nicht auf ein Element verweist, dann kann dies zu einem Absturz des Programms führen. Eine dementsprechende Sorgfalt muß bei der Erzeugung der Handles angewendet werden.

Siehe auch

DBquery

s_concat

s_concatComma