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

);