IOgetCoordinates

Top  Previous  Next

Eingabe in Koordinaten umwandeln.

IOgetCoordinates liest eine Eingabezeile und versucht, diese als Koordinatenposition zu interpretieren. Das Ergebnis wird in den Variablen für x und y gespeichert, die Taste wird als Ergebniswert der Prozedur zurückgeliefert. Wenn ein Fehler aufgetreten ist, dann wird 0 als Ergebnis geliefert. Wenn der Parameter doEcho TRUE (nicht 0) ist, dann wird die Eingabezeile wiederholt, ansonsten wird die Eingabe ohne Echo vorgenommen. Koordinatenzeilen haben eine der folgenden Formen:

<CR>                      Wird als CON betrachtet.

#<Taste> <x> <y>   Die Zeile stellt eine Digitalisiereingabe mit der Taste „Taste“ und der Position (x,y) dar. Taste kann ein Wert aus L, P, C, R, CON, RPT, EBD und CLS sein.

Parameter

root (PROOT)                                             [IN]

Handle auf die geöffnete Datenbank.

x (double *)                                              [OUT]

Die x-Koordinate der digitalisierten Position wird in dieser Variable gespeichert.

y (double *)                                              [OUT]

Die y-Koordinate der digitalisierten Position wird in dieser Variable gespeichert.

doEcho (int)                                                 [IN]

Wenn dieser Wert 0 ist, dann erfolgt die Koordinatenwandlung stumm, der Eingabestring wird also nicht sichtbar, wenn dieser Wert von 0 verschieden ist, dann wird die Eingabezeile im Ausgabefenster wiederholt, die digitalisierte Koordinate ist also sichtbar. Dies kann zu Verwirrung führen, wenn die Koordinate zum Identifizieren verwendet wird, da die angezeigte Koordinate die Position beim Digitalisieren ist, nicht jedoch die Koordinate des identifizierten Punktes.

cp (PCOORDINATE_PARAMETER) [IN/OUT]

Die Struktur COORDINATE_PARAMETER enthält zusätzlich noch die Koordinate für die z-Achse. Ist eine gültige z-Koordinate vorhanden, steht im Flag valid die Konstante COORDINATE_PARAMETER_VALID_Z. Die Struktur ist in der Include-Datei basic.h beschrieben.

Ergebnis

(int)                                                           [OUT]

Ein Wert größer als 0 gibt den Tastencode an, also LINK_P, usw.

Der Wert 0 gibt an, dass keine Koordinaten vorhanden sind.

Deklaration

#include "ausgabe.h"

 

int DLLENTRY IOgetCoordinates (

     PROOT                root,

     double *             x,

     double *             y,

     int                     doEcho

     PCOORDINATE_PARAMETER         cp

);

Bemerkungen

Der Unterschied zur Routine DBgetCoordinates ist der, dass bei DBgetCoordinates die Koordinaten auf ein vorhandenes Gitter gerundet werden.