Текстовые объекты

MapInfo, MapBasic
Ответить
MSL
Новоприбывший
Сообщения: 8
Зарегистрирован: 20 июн 2018, 09:08
Репутация: 0
Откуда: С планеты Земля

Текстовые объекты

Сообщение MSL » 20 июн 2018, 09:12

Всем привет!
Как программно присвоить/поменять Текстовому объекту указку на линию или стрелку?

wasposa
Активный участник
Сообщения: 109
Зарегистрирован: 02 май 2017, 13:22
Репутация: 22
Откуда: Москва

Re: Текстовые объекты

Сообщение wasposa » 20 июн 2018, 09:33

Поподробней можно? Что такое "указка на линию"?

wasposa
Активный участник
Сообщения: 109
Зарегистрирован: 02 май 2017, 13:22
Репутация: 22
Откуда: Москва

Re: Текстовые объекты

Сообщение wasposa » 20 июн 2018, 09:55

В понятиях MapInfo текстовый объект и подпись являются разными вещами. Если вы хотите, чтобы подпись к объекту имела указку в виде линии, то вы должны выполнить команду:
Set Map Window FrontWindow() Layer 1 Label Object n Line Simple,
если нужна стрелка:
Set Map Window FrontWindow() Layer 1 Label Object n Line Arrow,
если нужно убрать указку:
Set Map Window FrontWindow() Layer 1 Label Object n Line none.
Где Object n указывает на определенную строку таблицы. n соответствует RowID.

MSL
Новоприбывший
Сообщения: 8
Зарегистрирован: 20 июн 2018, 09:08
Репутация: 0
Откуда: С планеты Земля

Re: Текстовые объекты

Сообщение MSL » 20 июн 2018, 10:25

wasposa,
Подробнее: Создайте текстовый объект - посмотрите {F7} геоинформацию,
там есть интервалы, выравнивание и указка. (таких объектов оч.много)
Вопрос: как программно изменить всем или одному тхт.объекту одну из этих отрибуций
в данном случае указку (и я не путаю подписи с текст.объектами - конкретно написал Текстовому объекту)
---------------------------------------------------
через Alter Object выдает ОШИБКУ!
'myobj = TXT.object
Alter Object myobj info OBJ_INFO_TEXTARROW , 2
пишет ошибку:
ошибка 828
неправильно задан атрибут для Alter Object info
---------------------------------------------------
:roll: у кого какие мысли ...

wasposa
Активный участник
Сообщения: 109
Зарегистрирован: 02 май 2017, 13:22
Репутация: 22
Откуда: Москва

Re: Текстовые объекты

Сообщение wasposa » 20 июн 2018, 10:54

Вот этот код у меня работает без проблем.
Fetch Rec 1 From Untitled
Dim myobject As Object
myobject=Untitled.obj
Alter Object myobject Info 6,2
Update Untitled Set obj = myobject Where Rowid=1

Судя по ошибке он ругается на OBJ_INFO_TEXTARROW. Проверьте есть подключен ли файл определений (Include "Mapbasic.def") или просто замените OBJ_INFO_TEXTARROW на 6

juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 49
Откуда: Нижний Новгород

Re: Текстовые объекты

Сообщение juffin_h » 20 июн 2018, 11:15

У меня 'Alter Object myobj info OBJ_INFO_TEXTARROW , 2' тоже работает нормально.
Мне кажется на OBJ_INFO_TEXTARROW ругался бы по другому.
Вы уверены, что в переменной myobj то, что надо?

wasposa
Активный участник
Сообщения: 109
Зарегистрирован: 02 май 2017, 13:22
Репутация: 22
Откуда: Москва

Re: Текстовые объекты

Сообщение wasposa » 20 июн 2018, 12:02

Если у Вас Alter Object myobj info OBJ_INFO_TEXTARROW , 2 работает, тогда не понятно, что у Вас не работает. Закоментированная строка?

MSL
Новоприбывший
Сообщения: 8
Зарегистрирован: 20 июн 2018, 09:08
Репутация: 0
Откуда: С планеты Земля

Re: Текстовые объекты

Сообщение MSL » 20 июн 2018, 12:37

Спасибо всем :wink: Не знаю что было, но после перезагрузки МАПИНФО ВСЕ заработало (не меняя исходника)

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot] и 7 гостей