Ronan,

If you are using one of the later versions of MapInfo/MapBasic, you can either 
use the Offset() or OffsetXY() functions:

- Offset(object, angle, distance, units)
- OffsetXY(object, xoffset, yoffset, units)

HTH,

Peter Horsbøll Møller
GIS Developer, MTM
Geographical Information & IT
 
COWI A/S
Odensevej 95
DK-5260 Odense S.
Denmark
 
Tel     +45 6311 4900
Direct  +45 6311 4908
Mob     +45 5156 1045
Fax     +45 6311 4949
E-mail  [EMAIL PROTECTED]
http://www.cowi.dk/gis


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ronan Moriarty
Sent: Tuesday, December 20, 2005 5:34 PM
To: Mapinfo-l
Subject: [MI-L] [Spam] Moving Text Objects


Hi Everyone,

 

Sorry to be a pain. I feel really stupid asking this, but I've been banging my 
head off a brick wall for a few hours now, and nothing works. I've got a number 
of objects in a table that I want to move. I want to move them, relative to 
their current position, by (dx, dy). I don't know in advance what objects are 
going to be in the table, so I iterate through all the rows in the table, and 
use Do Case based on the current object type.  There are points, regions, lines 
and text. I have no problem moving points, regions or lines, using the Alter 
Object statement. However, there doesn't seem to be any constants concerning 
text object positions. I've tried to move the text objects using other 
constants, as shown below, but none of them worked. 

 

I've tried.

 

Alter Object obj Geography OBJ_GEO_TEXTLINEX, ObjectGeography(obj,
OBJ_GEO_TEXTLINEX) + dx

Alter Object obj Geography OBJ_GEO_TEXTLINEY, ObjectGeography(obj,
OBJ_GEO_TEXTLINEY) + dy

 

As well as trying.

 

Alter Object obj Geography OBJ_GEO_POINTX, ObjectGeography(obj,
OBJ_GEO_POINTX) + dx

Alter Object obj Geography OBJ_GEO_POINTY, ObjectGeography(obj,
OBJ_GEO_POINTY) + dy

 

As well as trying.

 

Alter Object obj Geography OBJ_GEO_LINEBEGX, ObjectGeography(obj,
OBJ_GEO_LINEBEGX) + dx

Alter Object obj Geography OBJ_GEO_LINEBEGY, ObjectGeography(obj,
OBJ_GEO_LINEBEGY) + dy

Alter Object obj Geography OBJ_GEO_LINEENDX, ObjectGeography(obj,
OBJ_GEO_LINEENDX) + dx

Alter Object obj Geography OBJ_GEO_LINEENDY, ObjectGeography(obj,
OBJ_GEO_LINEENDY) + dy

 

As well as trying.

 

Alter Object obj Geography OBJ_GEO_MINX, ObjectGeography(obj, OBJ_GEO_MINX)
+ dx

Alter Object obj Geography OBJ_GEO_MINY, ObjectGeography(obj, OBJ_GEO_MINY)
+ dy

Alter Object obj Geography OBJ_GEO_MAXX, ObjectGeography(obj, OBJ_GEO_MAXX)
+ dx

Alter Object obj Geography OBJ_GEO_MAXY, ObjectGeography(obj, OBJ_GEO_MAXY)
+ dy

 

Does anyone have any ideas? I could try to copy all the details of the text 
object, delete it, and recreate it in a new position, but it sounds like a very 
tedious way of doing it. Plus, as it was so easy to do for other objects, it 
seems unusual that I can't use the same statement with different constants for 
text objects. Thanks in advance,

 

Ronan Moriarty.

 

_______________________________________________
MapInfo-L mailing list
[email protected] 
http://www.directionsmag.com/mailman/listinfo/mapinfo-l



_______________________________________________
MapInfo-L mailing list
[email protected]
http://www.directionsmag.com/mailman/listinfo/mapinfo-l

Reply via email to