DBgdvInsertLayer

Top  Previous  Next

Fügt eine neue Ebene in die Planverwaltung ein.

Die Pläne der Planverwaltung sind in Ebenen gegliedert. Jede Ebene hat durchgängige Merkmale und solche, die für jeden Plan unterschiedlich sind. Eines der durchgängigen Merkmale ist die Auflösung, ein spezifisches ist die Position. Jeder Plan gehört einer Ebene an, wobei die Ebene nicht unbedingt vor dem Einfügen des Plans definiert werden muss. DBgdvInsertLayer fügt eine neue Ebene in die Planverwaltung ein und definiert deren Parameter. Weiterhin sammelt die Prozedur alle Pläne ein, die zu dieser Ebene gehören und stellt einen Index her, mit dessen Hilfe Pläne einer Ebene nach ihrer Position gefunden werden können.

Parameter

root (PROOT)                                             [IN]

Das Handle der Datenbank, in der die Planverwaltung geöffnet ist.

layer (int)                                                      [IN]

Jede Ebene hat eine Nummer, die als eindeutiger Schlüssel diese Ebene identifiziert. Es wird als Fehler abgewiesen, wenn eine Ebene angelegt werden soll, deren Nummer schon in der Planverwaltung vorhanden ist.

massstab (ULONG)                                    [IN]

Dies ist der Text- und Symbolmaßstab. Er gibt an, bei welchem Maßstab die Größe der Texte und Symbol, die im 1/100 mm angegeben wird, stimmt. Für andere Auflösungen muss diese Größe entsprechend umgerechnet werden.

aufloesung (DOUBLE)                               [IN]

Da die Koordinaten als Fixkommazahlen gespeichert werden, muss eine Basiseinheit für diese Zahlen festgelegt werden. Dies ist das Raster aller Daten in der Datenbank. Nach außen tritt dieses Raster nicht auf, da alle Daten als Fließkommawerte angegeben werden und erst intern umgerechnet werden.

plantyp (const char *)                                  [IN]

Hier wird der Plantyp der späteren Pläne festgelegt. Er lässt sich aber für jeden Plan einzeln festlegen. Der Plantyp stellt im Normalfall gleichzeitig das Verzeichnis dar, in dem die Pläne aufgefunden werden können.

version (int)                                                  [IN]

Der Parameter wird nur in die Datenbank übernommen und nicht ausgewertet.

art (char)                                                      [IN]

‘A’ bewirkt eine Speicherung der Koordinaten als Absolutwerte,

‘R’ bewirkt eine Speicherung der Koordinaten als Relativwerte zur linken unteren Ecke.

stellen (int)                                                   [IN]

Dieser Parameter darf eine ‘7’ oder eine ‘9’ enthalten und gibt an, wie die Daten in der Datenbank gespeichert werden. Der Parameter wird von Moskito nicht ausgewertet, da die Speicherung immer in einem festen Format erfolgt.

ersatzplan (int)                                             [IN]

Keine Ahnung, suche noch einen Experten, der mich über diesen Parameter aufklärt.

privileg (char)                                               [IN]

Ein Layer kann in einer Planverwaltung eine Schreibberechtigung besitzen oder schreibgeschützt sein. Wenn in privileg ein ‘W’ steht, dann darf der Anwender, der den Plan über diese Planverwaltung anspricht, ändern und sichern. Wenn statt dessen ‘R’ vermerkt ist, dann sind alle Pläne schreibgeschützt und Änderungen werden verhindert.

suchebene (int)                                           [IN]

 

loader (const char *)                                   [IN]

 

gdvName (const char *)                              [IN]

Der Name der Planverwaltung. Ist gdvName = NULL, wird die geöffnete Planverwaltung benutzt.

Ergebnis

(T_ERROR)                                            [OUT]

Wenn die neue Ebene erfolgreich angelegt werden konnte liefert die Prozedur ERROR_OK zurück. Ansonsten wird eine der Fehlermeldungen aus error.h als Ergebnis geliefert. Wichtige Ursachen sind, dass die Ebene schon existiert oder die Planverwaltung nicht geöffnet ist.

Deklaration

#include "database.h"

 

T_ERROR DLLENTRY DBgdvInsertLayer (

     PROOT          root,

     int               layer,

     ULONG          massstab,

     DOUBLE            aufloesung,

     const char *      plantyp,

     int               version,

     char           art,

     int               stellen,

     int               ersatzplan,

     char           privileg,

     int               suchebene,

     const char *      loader,

     const char *      gdvName

);