Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
agentbond007
Зарегистрирован: 08.12.2009 Сообщения: 56
|
Добавлено: Чт Авг 19, 2010 7:28 am Заголовок сообщения: Как управлять окном Отчёта? |
|
|
Здравствуйте!
Задача звучит так:
Есть векторный слой с полигонами и окном отчёта с картинкой. Требуется автоматически (при нажатии на кнопку) заполнить поля выделенного объекта в отчёте:
1) Название полигона
2) Площадь полигона
3) Масштаб.
вся информация берётся из атрибутивки векторного слоя.
Может ли мапинфо динамически сама менять значения в окне отчёта как реализовано в программе ArcGis?
Предполагаю что нет, поэтому планирую сделать так -
- Создать MapBasic прогу
- Выделить объект
- Нажать на кнопку, прога дёргает данные из атрибутивки и вставляет в окно отчёта в заданные позиции.
Но как программно обратиться к окну отчёта и вставить туда данные я не знаю, прошу помощи! |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Пн Авг 23, 2010 7:23 am Заголовок сообщения: |
|
|
По-моему, никак. |
|
Вернуться к началу |
|
|
agentbond007
Зарегистрирован: 08.12.2009 Сообщения: 56
|
Добавлено: Пн Авг 23, 2010 7:49 am Заголовок сообщения: |
|
|
Проштудировал букварь по MapBasic 7.0 нашел описание таблицы LayoutN. Select * From Layout1 - выбирает все элементы на отчёте. LayoutN - это таблица с записями, непонятно с какими. Создал отчёт кинул на него рамку с картой несколько текстовых элементов. Запросил колличество записей в таблице LayoutN - результат 0. Может у кого есть соображения? |
|
Вернуться к началу |
|
|
reasonat
Зарегистрирован: 01.07.2009 Сообщения: 224 Откуда: Екатеринбург
|
Добавлено: Вт Авг 24, 2010 1:20 pm Заголовок сообщения: |
|
|
можно пройтись по записям этой скрытой таблицы перебирая row_id
...
Fetch First From layout_name
Select * From layout_name Where RowID = row_id into sel_layout_name
...
тут будут работать и
ObjectInfo( sel_layout_name.obj, OBJ_INFO_TEXTSTRING )
и
Alter Object sel_obj Info OBJ_INFO_TEXTSTRING, "другое значение"
(для замены текста в текстовых объектах, если в них в шаблоне прописать некоторые псевдонимы для замены, или просто для записи текста в текстовые объекты по порядку, если их там заданное количество в заданном порядке) |
|
Вернуться к началу |
|
|
agentbond007
Зарегистрирован: 08.12.2009 Сообщения: 56
|
Добавлено: Вт Авг 31, 2010 3:50 am Заголовок сообщения: |
|
|
Приведённые выше методы отлично работают, но дают лиш информацию и ничего не делают с объектами на отчёте.
А как заменить определённое текстовое значение на отчёте?
Я так понял по имени поля, в таблице Layout, значение не получишь так как там имён нет и как тогда обращаться к полю?
|
|
Вернуться к началу |
|
|
agentbond007
Зарегистрирован: 08.12.2009 Сообщения: 56
|
Добавлено: Пт Мар 11, 2011 4:17 am Заголовок сообщения: |
|
|
Каким оператором можно выставить масштаб рамки в окне отчёта? Как автоматизировать действие: двойной клик на рамке отчёта/Настройка масштаба карты? |
|
Вернуться к началу |
|
|
FedorinoFF
Зарегистрирован: 01.02.2007 Сообщения: 272 Откуда: Санкт-Петербург
|
Добавлено: Пт Мар 11, 2011 11:30 am Заголовок сообщения: |
|
|
похоже кто-то плохо штудировал доку ;-)
1. Layout
2. Create Frame
и где-то еще было написано как высчитывать масштаб для фрагмента карты в окне отчета.
P.S. Всегда можно действовать простым способом: создал в mapinfo все необходимые окна, сохранил рабочий набор и, вуаля, куча кода Mapbasic у тебя в руках... Остается самое тяжелое - напряч мозг и RTFM-GOOGLE-RTFM-... и т.д. пока задача не будет решена. |
|
Вернуться к началу |
|
|
agentbond007
Зарегистрирован: 08.12.2009 Сообщения: 56
|
Добавлено: Сб Мар 12, 2011 4:52 am Заголовок сообщения: |
|
|
Спасибо, так и сделал сохранил 2 рабочих набора с разным масштабом в рамке отчёта, нарыл различие в них:
---
Set Map
---
Zoom 1846 Units "m" - 1:10 000
---
Zoom 4615 Units "m" - 1:25 000 (183.2 - масштаб в окне карты)
---
Я так понимаю нужно высчитывать масштаб в окне "Карта" так чтобы в окне отчёта получился желаемый масштаб? |
|
Вернуться к началу |
|
|
Arhara
Зарегистрирован: 18.02.2009 Сообщения: 400 Откуда: Moscow, RF
|
Добавлено: Вс Мар 13, 2011 1:36 am Заголовок сообщения: |
|
|
полагаете правильно. Архаизм мапинфо. Реальный масштаб связан с размерами окна в единицах экрана или отчета. |
|
Вернуться к началу |
|
|
agentbond007
Зарегистрирован: 08.12.2009 Сообщения: 56
|
Добавлено: Пн Ноя 07, 2011 7:11 am Заголовок сообщения: |
|
|
Может кто подскажет как высчитывать масштаб для фрагмента карты в окне отчета? |
|
Вернуться к началу |
|
|
|