DBaddStringExisting

Top  Previous  Next

Hinzufügen eines neuen Linienelementes zum Objekt.

Jedes Objekt kann eine beliebige Anzahl von Linienzügen enthalten. Ein Linienzug ist nicht unbedingt zusammenhängend. Er besteht vielmehr aus einer Folge von Linien, Kreisausschnitten und Splintes, die als gemeinsame Eigenschaften einen Zeichenschlüssel und eine Schraffur besitzen. Der Zeichenschlüssel gibt die Art der umrandenden Linienzüge an. Die Schraffur gibt die Füllung der Innenflächen an. Wenn die Schraffur 0 ist, handelt es sich nicht um eine Fläche, sondern um einen Linienzug. Mit DBaddStringExisting wird ein leerer Linienzug an das übergebene Objekt angehängt. Die Funktion liefert das Handle des Linienzugs als Ergebnis. Mit der Funktion DBaddPoint kann dem Linienzug dann Punkte hinzugefügt werden.

Parameter

object (POBJECT)                                     [IN]

Hiermit wird das Objekt bestimmt, in dem das neue Linienelement eingefügt wird.

formt (int)                                                     [IN]

Gibt an, ob es sich bei diesem Element um eines mit 2-dimensionalen oder 3-dimensionalen Koordinaten handelt. Es gibt vordefinierte Konstanten: FORMAT_2D und FORMAT_3D. Es können aber auch die Werte 0 für 2-dimensionale und 1 für 3-dimensionale Koordinaten angegeben werden.

Zeichenschlüssel (int)                                 [IN]

Mit diesem Wert wird das Aussehen der Umrandung der Fläche, bzw. des Linienzuges bestimmt. Der Wert dient als Index in der Tabelle der Zeichenschlüssel, sodass alle Linienzüge mit demselben Zeichenschlüssel durch Ändern dieser Tabelle ein neues Aussehen erhalten können.

schraffur (int)                                               [IN]

Wie der Zeichenschlüssel die Umrandung bestimmt, so wird mit der Schraffur das Innere des Linienzuges bestimmt. Als Sonderfall dient hierbei der Wert 0. Ist der Zeichenschlüssel eines Strings 0, so handelt es sich um einen Linienzug. Ist er von 0 verschieden, so handelt es sich um eine Fläche. Bei Flächen wird das Füllmuster und die Art der Füllung ebenfalls durch eine Tabelle festgelegt. schraffur ist der Index in dieser Tabelle

id (ULONG)                                                 [IN]

sysId (ULONG)                                           [IN]

ID des neuen Linienelementes. Diese sind normalerweise nicht bekannt und können mit 0 angegeben werden. Der Aufruf entspricht dann der Funktion DBaddString.

Ergebnis

(PSTRING_ELEMENT)                         [OUT]

Bei fehlerfreier Ausführung wird ein Handle auf das neue Linienelement zurückgeliefert, ansonsten NULL.

Deklaration

#include "database.h"

 

PSTRING_ELEMENT DLLENTRY DBaddStringExisting (

     POBJECT     object,

     int         format,

     int         zeichenschluessel,

     int         schraffur,

     ULONG    id,

     ULONG    sysId

);

Konstanten

STRING_ELEMENT_3D

Verwandte Funktionen

DBaddString

DBaddPointElement

Marker-Element im Objekt erzeugen.

Während Linienzüge mindestens einen Stützpunkt enthalten müssen, lassen sich mit Punktelementen einzelne Punkte in der Datenbank unterbringen. Jedes Punktelement besteht dabei aus einem einzelnen Punkt mit allen Eigenschaften eines Punktes aus einem String. Auf dem Bildschirm erscheinen Punktelemente in einer besonderen Form. Punktelemente mit Punktklassen zwischen 1 und 15 werden entsprechend den Markern von Gradis dargestellt, d.h. als nicht skalierte geometrische Markierungen. Alle anderen Punktelemente werden nicht sichtbar. Dies kann vom Anwender mit Hilfe einer eigenen Zeichenfunktion umdefiniert werden. Alle anderen Eigenschaften des Punktes werden beim Zeichnen nicht berücksichtigt. Sie werden aber unverändert im Punktelement gespeichert.

Parameter

object (POBJECT) [IN]

Das neue Punktelement soll in dieses Objekt eingefügt werden. Wenn das Objekt selektiert ist, wird das neue Element sofort dargestellt.

pbuf[3] (DOUBLE) [IN]

Dieses Feld enthält die Koordinaten des neuen Punktelementes. Wenn als format FORMAT_2D angegeben ist, werden nur die ersten beiden Werte berücksichtigt.

linkage (int) [IN]

Dieser Wert wird als LINK_? in das Punktelement eingetragen, zeigt aber keine Wirkung, da nur ein einzelner Punkt vorhanden ist. Dieser kann schlecht mit einem Vorgänger verbunden werden.

symbol (int) [IN]

Wenn an dieser Stelle eine von 0 verschiedene Zahl steht, wird an der Stelle das entsprechende Symbol statt des Punktelementes gezeichnet.

klasse (int) [IN]

Solange symbol 0 ist, bestimmt klasse das Aussehen des Punktelementes. Für Werte zwischen 1 und 15 wird das aus Gradis bekannte Markiersymbol gezeichnet, sonst bleibt das Punktelement unsichtbar.

format (int) [IN]

Als mögliche Werte sind hier FORMAT_2D und FORMAT_3D vorhanden. Bei FORMAT_2D wird die dritte Koordinate (z-Wert) als 0 angenommen und nicht aus pbuf übernommen.

Ergebnis

(PPOINT_ELEMENT) [OUT]

Das Handle des neu eingefügten Elements. Mit diesem Handle lässt sich das Element abfragen und manipulieren.

Deklaration

#include "database.h"

[****]

PPOINT_ELEMENT DLLENTRY BaddPointElement (

POBJECT object,

DOUBLE pbuf[3],

int linkage,

int symbol,

int klasse,

int format

);

[****]

 

DBreturnStringSettings