Страница 1 из 1
					
				MapBasic
				Добавлено: 29 май 2010, 22:16
				 Avista
				Здравствуйте.
Имеется карта со списком (ID_rex.tab). На карте-символы, в списке-разная инфа о символах (в том числе колонка "Angle", где сидят значения в долях градуса).
Подскажите, пожалуйста, как написать программу в MapBasic, чтобы повернуть объекты на угол, равный значению из колонки "Angle".
Спасибо.
			 
			
					
				Re: MapBasic
				Добавлено: 30 май 2010, 19:48
				 Alexey
				Понимаю, что вопрос про Mapbasic, но может быть вам для решения задачи поможет стандартная программа "Rotate Symbols" (загружаем в  Tools - Tools Manager)
Там есть возможность повернуть символы на значение в одной из колонок таблицы.
А если вам нужно это сделать именно в коде Mapbasic - см. подробнее про функцию: Rotate(object, angle)
			 
			
					
				Re: MapBasic
				Добавлено: 31 май 2010, 16:28
				 Avista
				Спасибо за ответ.
Но в примере этой функции RotateObject = rotate(selection.obj, 45), где angle=45, т.е. фиксированное значение.
А мне необходимо повернуть один символ на 45,09766655, второй на 67,3487456, итд, причем значения углов есть
в колонке "Angle"!!!
			 
			
					
				Re: MapBasic
				Добавлено: 31 май 2010, 19:56
				 Alexey
				Получилось ли вам попробовать стандартную программу  "Rotate Symbols"?
В чем не хватает ее функционала?
			 
			
					
				Re: MapBasic
				Добавлено: 31 май 2010, 21:14
				 Avista
				Программа хороша, и может помоч,  Но помимо этой задачи у меня выполняются и другие. Хотелось бы
все объединить в один  "*.mbx" (для автомотизации).
			 
			
					
				Re: MapBasic
				Добавлено: 24 авг 2012, 20:25
				 Вячеслав-1
				Здравствуйте!
Приходилось ли вам использовать в логических конструкциях логические функции? Может вы мне поможете найти ошибку в 
несложной конструкции:
' Объявляем логическую фнкцию
Declare Function narisovan as Logical
'--------------------------------------
' Потом описываем логическую функцию
Function narisovan as Logical
...................
if ....... then
   narisovan=true
else
  narisovan=false
end if
................................
end Function 
'--------------------------------------
' Затем применяем логическую функцию в одной из процедур
Sub Find_objects
........................
     if narisovan then goto t2 end if
........................
End Sub 'Find_objects
'--------------------------------------
При этом программа транслируется без ошибок, начинает выполняться и выдаёт ошибку на строчке:
     if narisovan then goto t2 end if
с сообщением "Не определена переменная или поле narisovan.
Почему здесь возникает ошибка?
Заранее благодарю за ответ. С уважением, Ярков Вячеслав.
			 
			
					
				Re: MapBasic
				Добавлено: 24 авг 2012, 20:36
				 Slinger
				Потому что в понимании mapbasic'a "narisovan" это необъявленная переменная. А если это функция и в данном случае без аргументов, то должны быть скобки. То есть:
И соответственно:
 
			
					
				Re: MapBasic
				Добавлено: 25 авг 2012, 19:40
				 Вячеслав-1
				Спасибо за помощь. Но со скобками у меня не работает. А если ещё и описать, как глобальную переменную narisovan, тогда всё работает без ошибок.