DBconvertToCoordinates |
Top Previous Next |
Einen Eingabetext in eine Koordinate umwandeln. Diese Routine erhält als Eingabe einen Text und eine Datenbank und liefert als Ausgabe die Koordinaten eines Punktes und die Verbindungsinformation. Die Koordinaten werden dabei auf das mit Grid angelegte Gitter gerundet, wenn ein solches definiert ist. Wenn ein Konversionsfehler auftritt, es sich also bei dem Text nicht um eine Koordinate handelt, dann liefert die Funktion einen Wert ungleich ERROR_OK ansonsten eben ERROR_OK. Parameter root (PROOT) [IN] Das Handle der Datenbank. text (char *) [IN] Dies ist der umzuwandelnde Text. Er liegt in der Form #<link> <x> <y> vor, wobei link eine der Zeichenketten „P“, „L“, „C“, „R“, „CON“, „RPT“, „CLS“ und „EBD“ ist. x und y sind Fließkommazahlen. taste (int *) [(IN)/OUT] Hier wird die Verbindungsinformation abgespeichert. LINK_P bei #P LINK_L bei #L LINK_R bei #R LINK_C bei #C LINK_CON bei #CON oder #N LINK_CLS bei #CLS oder #S LINK_EBD bei #EBD oder #E LINK_RPT bei #RPT oder #T 0 bei einem Konversionsfehler. x (double *) [(IN)/OUT] y (double *) [(IN)/OUT] Hier wird die Position abgelegt. cp (PCOORDINATE_PARAMETER) [IN/OUT] cp darf NULL sein. Ist cp ungleich NULL, wird es zur Rückgabe der z-Koordinate und der Nummer des Detailfensters verwendet, soweit der Text sie enthält. cp->valid muss vor dem Aufruf mit 0 initialisiert werden, cp->len mit der Länge des structs. Enthält der Text eine z-Koordinate, dann wird ihr Wert in cp->z zurückgegeben und (cp->valid & COORDINATE_PARAMETER_VALID_Z) ist TRUE. Enthält der Text eine Fensternummer - z.B. WNR/2 -, dann wird ihr Wert in cp->windowNr zurückgegeben, und folgender Ausdruck ist TRUE: (cp->valid & COORDINATE_PARAMETER_VALID_WINDOW_NR) Ergebnis (int) [OUT] ERROR_OK (0), wenn alles gutgegangen ist. ungleich 0 sonst. Deklaration #include "database.h"
int DLLENTRY DBconvertToCoordinates( PROOT root, char * text, int * taste, double * x, double * y, PCOORDINATE_PARAMETER cp );
|