www.map-info.ru :: Просмотр темы - Помогите разобраться с alter object.
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
nikomuro



Зарегистрирован: 28.12.2013
Сообщения: 8

СообщениеДобавлено: Сб Дек 28, 2013 7:50 am    Заголовок сообщения: Помогите разобраться с alter object. Добавить ответ со ссылкой на данный текст

имеется таблица points.tab. в ней расположены только точечные объекты. Необходимо средствами mapbasic написать команду с помощью которой заменялся бы стиль ВЫБРАННОГО точечного объекта или нескольких точечных объектов на другой (другой стиль определить так же в команде). Прошу написать самый простенький код. стиль точки можно применить для примера любой. Заранее всех благодарю
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
thegeo



Зарегистрирован: 17.01.2012
Сообщения: 119

СообщениеДобавлено: Сб Дек 28, 2013 11:45 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Ответил в письме.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Light007



Зарегистрирован: 15.10.2014
Сообщения: 1

СообщениеДобавлено: Ср Окт 15, 2014 8:10 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Тоже интересуюсь данным вопросом.

Для замены символа сделал так (см.ниже), вроде работает, но как-то громоздко.
Правильно ли я делаю, или есть более простой способ?


MI.Do('Dim Obj1 As Object');
MI.Do('Dim ch As Symbol');

i:=0;
MI.Do('Fetch First From Table1');
S:=MI.Eval('EOT(Table1)');
While not((S='T') or (S='t')) do begin
Inc(i);

MI.Do('Obj1=Table1.obj');
MI.Do('ch = ObjectInfo(obj1, 2)');

code:=MI.Eval('StyleAttr(ch,1)');
color:=MI.Eval('StyleAttr(ch,2)');
size:=MI.Eval('StyleAttr(ch,3)');

MI.Do(Format('ch = MakeSymbol(%d,%d,%d)',[code+1,color,size]));
MI.Do('Alter Object obj1 Info 2, ch');
MI.Do('update Table1 set obj=obj1 where rowid=Table1.rowid');

MI.Do('Fetch Next From ExcelPS');
S:=MI.Eval('EOT(ExcelPS)');
end;
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru