MapBasic
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 29 май 2010, 22:10
- Репутация: 0
MapBasic
Здравствуйте.
Имеется карта со списком (ID_rex.tab). На карте-символы, в списке-разная инфа о символах (в том числе колонка "Angle", где сидят значения в долях градуса).
Подскажите, пожалуйста, как написать программу в MapBasic, чтобы повернуть объекты на угол, равный значению из колонки "Angle".
Спасибо.
Имеется карта со списком (ID_rex.tab). На карте-символы, в списке-разная инфа о символах (в том числе колонка "Angle", где сидят значения в долях градуса).
Подскажите, пожалуйста, как написать программу в MapBasic, чтобы повернуть объекты на угол, равный значению из колонки "Angle".
Спасибо.
- Alexey
- Участник
- Сообщения: 56
- Зарегистрирован: 21 май 2008, 07:47
- Репутация: 1
Re: MapBasic
Понимаю, что вопрос про Mapbasic, но может быть вам для решения задачи поможет стандартная программа "Rotate Symbols" (загружаем в Tools - Tools Manager)
Там есть возможность повернуть символы на значение в одной из колонок таблицы.
А если вам нужно это сделать именно в коде Mapbasic - см. подробнее про функцию: Rotate(object, angle)
Там есть возможность повернуть символы на значение в одной из колонок таблицы.
А если вам нужно это сделать именно в коде Mapbasic - см. подробнее про функцию: Rotate(object, angle)
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 29 май 2010, 22:10
- Репутация: 0
Re: MapBasic
Спасибо за ответ.
Но в примере этой функции RotateObject = rotate(selection.obj, 45), где angle=45, т.е. фиксированное значение.
А мне необходимо повернуть один символ на 45,09766655, второй на 67,3487456, итд, причем значения углов есть
в колонке "Angle"!!!
Но в примере этой функции RotateObject = rotate(selection.obj, 45), где angle=45, т.е. фиксированное значение.
А мне необходимо повернуть один символ на 45,09766655, второй на 67,3487456, итд, причем значения углов есть
в колонке "Angle"!!!
- Alexey
- Участник
- Сообщения: 56
- Зарегистрирован: 21 май 2008, 07:47
- Репутация: 1
Re: MapBasic
Получилось ли вам попробовать стандартную программу "Rotate Symbols"?
В чем не хватает ее функционала?
В чем не хватает ее функционала?
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 29 май 2010, 22:10
- Репутация: 0
Re: MapBasic
Программа хороша, и может помоч, Но помимо этой задачи у меня выполняются и другие. Хотелось бы
все объединить в один "*.mbx" (для автомотизации).
все объединить в один "*.mbx" (для автомотизации).
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 24 авг 2012, 13:56
- Репутация: 0
Re: MapBasic
Здравствуйте!
Приходилось ли вам использовать в логических конструкциях логические функции? Может вы мне поможете найти ошибку в
несложной конструкции:
' Объявляем логическую фнкцию
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.
Почему здесь возникает ошибка?
Заранее благодарю за ответ. С уважением, Ярков Вячеслав.
Приходилось ли вам использовать в логических конструкциях логические функции? Может вы мне поможете найти ошибку в
несложной конструкции:
' Объявляем логическую фнкцию
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.
Почему здесь возникает ошибка?
Заранее благодарю за ответ. С уважением, Ярков Вячеслав.
-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: MapBasic
Потому что в понимании mapbasic'a "narisovan" это необъявленная переменная. А если это функция и в данном случае без аргументов, то должны быть скобки. То есть:
И соответственно:
Код: Выделить всё
Declare Function narisovan() as Logical
Код: Выделить всё
if narisovan() then goto t2 end if
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 24 авг 2012, 13:56
- Репутация: 0
Re: MapBasic
Спасибо за помощь. Но со скобками у меня не работает. А если ещё и описать, как глобальную переменную narisovan, тогда всё работает без ошибок.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя