Информация о выделенном объекте
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Информация о выделенном объекте
Добрый день,
как сделать так, чтобы при выделении объекта появлялось окошко и в нем информация о значении определенного столбца для этой таблицы. только чтоб не в таблице выделять а на карте.
Элемент выделения можно написать через ToolHander,
через SelectionInfo можно вывести имя таблицы, количество строк.
Мне нужно значение определенного параметра. Как это сделать, подскажите пожалуйста.
Мапинфо и мапбейсик 9.5
как сделать так, чтобы при выделении объекта появлялось окошко и в нем информация о значении определенного столбца для этой таблицы. только чтоб не в таблице выделять а на карте.
Элемент выделения можно написать через ToolHander,
через SelectionInfo можно вывести имя таблицы, количество строк.
Мне нужно значение определенного параметра. Как это сделать, подскажите пожалуйста.
Мапинфо и мапбейсик 9.5
у всех в голове свои тараканы
-
- Активный участник
- Сообщения: 134
- Зарегистрирован: 01 окт 2009, 08:52
- Репутация: 3
- Откуда: Москва
Re: Информация о выделенном объекте
Самое простое - это вывод значения через команду Print. Если перед выводом очищать это окошко, то в нем будет всегда один результат.
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
что через Print я понимаю. Я не понимаю что внутри. Как правильно прописать чтоб выводилось значение конктретного поля.
Таблица.Поле не рабоает.
И я новичок, да
Таблица.Поле не рабоает.
И я новичок, да
у всех в голове свои тараканы
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Информация о выделенном объекте
используйте установку указателя на конкретную строку запроса, который получается при выделении командой
FETCH
после этого можно обращаться к отдельной колонке в формате [имя_таблицы].[имя_колонки]
FETCH
после этого можно обращаться к отдельной колонке в формате [имя_таблицы].[имя_колонки]
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
но тогда же указывыются строки из таблицы.
мне нужно чтоб тыкалось на КАРТУ и появлялось соответствующее значение определенного параметра. урезанное Информация об объекте как бы
мне нужно чтоб тыкалось на КАРТУ и появлялось соответствующее значение определенного параметра. урезанное Информация об объекте как бы
у всех в голове свои тараканы
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Информация о выделенном объекте
а что вы понимаете под параметром? информацию, которая отсутствует в атрибутах таблицы? Геолинк точно не подходит?
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
геолинком не пользовалась и не знаю что это. не стала лезть.
есть карта. на ней есть объекты - полигоны. у полигона есть свои параметры, ну например - площадь, номер, количество населения, количество многоэтажных зданий.
вопрос в том как сделать чтобы при указании на объект выводилось новое окошко с информацией только о количестве населения в этом полигоне.
количество населения в таблице карты указано.
да, наверно это и есть атрибут.
просто я нашла только как можно обращаться к таблице из таблицы. или там Fetch. как из карты обращаться в таблицу непонятно.
про геолинк ушла читать.
есть карта. на ней есть объекты - полигоны. у полигона есть свои параметры, ну например - площадь, номер, количество населения, количество многоэтажных зданий.
вопрос в том как сделать чтобы при указании на объект выводилось новое окошко с информацией только о количестве населения в этом полигоне.
количество населения в таблице карты указано.
да, наверно это и есть атрибут.
просто я нашла только как можно обращаться к таблице из таблицы. или там Fetch. как из карты обращаться в таблицу непонятно.
про геолинк ушла читать.
у всех в голове свои тараканы
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Информация о выделенном объекте
Т.е. после выделения таблицу Select вы знаете как получить? ИЛи проблема нажать и получить кроме Select еще и доступ подпрограмме на MapBasic'е?Radost_ писал(а):Добрый день,
как сделать так, чтобы при выделении объекта появлялось окошко и в нем информация о значении определенного столбца для этой таблицы. только чтоб не в таблице выделять а на карте.
Элемент выделения можно написать через ToolHander,
через SelectionInfo можно вывести имя таблицы, количество строк.
Мне нужно значение определенного параметра. Как это сделать, подскажите пожалуйста.
Мапинфо и мапбейсик 9.5
Я не лез в механизм MapInfo с выделением объектов для их обработки в одно выделение-обработку. Но вот обработку по кнопке выделенного (-ных) объектов написать можно за одну строчку:
а) получаете имя запроса, в который сохранены выделенные объекты - то, что в самой MI называется таблицей (запрсом) Selection. Он всегда имеет имя, которое получается через SelectionInfo
б) через FETCH становитесь на 1-у запись в этой выборке
в) через имя_таблицы.имя_поля получаете данные из конкретного поля ТЕКУЩЕЙ строки в выборке
г) способ отображения этих данных придумываете сами - Print или окном-формой
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
ну вот наверно это то и есть. попробую и отпишусь. спасибо!
у всех в голове свои тараканы
-
- Активный участник
- Сообщения: 134
- Зарегистрирован: 01 окт 2009, 08:52
- Репутация: 3
- Откуда: Москва
Re: Информация о выделенном объекте
Попробуйте воспользоваться процедурой "SelChangedHandler". Как раз срабатывает при изменении выбора хоть в таблице, хоть на карте.
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
спасибо. тогда попробую и так и так и отпишусь
у всех в голове свои тараканы
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
Что-то долго я пробовалаBoris писал(а): Т.е. после выделения таблицу Select вы знаете как получить? ИЛи проблема нажать и получить кроме Select еще и доступ подпрограмме на MapBasic'е?
Я не лез в механизм MapInfo с выделением объектов для их обработки в одно выделение-обработку. Но вот обработку по кнопке выделенного (-ных) объектов написать можно за одну строчку:
а) получаете имя запроса, в который сохранены выделенные объекты - то, что в самой MI называется таблицей (запрсом) Selection. Он всегда имеет имя, которое получается через SelectionInfo
б) через FETCH становитесь на 1-у запись в этой выборке
в) через имя_таблицы.имя_поля получаете данные из конкретного поля ТЕКУЩЕЙ строки в выборке
г) способ отображения этих данных придумываете сами - Print или окном-формой

Пользователь делает один щелчок, данные появляются, пользователь делает второй - данные не обновляются. Подозреваю что это делать нужно закрытием таблицы Selection.
Пока у меня такой код
Include "mapbasic.def"
Declare Sub Main
Declare Sub ToolHandler
Sub Main
Note "пример процедуры "
+ "Выберете кнопочку (+) на панеле инструментов "
+ "затем выделите интересующую область"
End Sub
Sub ToolHandler
Set Map
Layer 1
Label With krsk_kd.p1
Dim s_name As String
Fetch First From Selection
s_name = Selection.p1
If WindowInfo( FrontWindow(),
WIN_INFO_TYPE ) = WIN_MAPPER Then
Print "krsk: " + s_name 'Str$(SelectionInfo(SEL_INFO_TABLENAME))
Print " "
End If
End Sub
у всех в голове свои тараканы
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
Замечание: Процедура SelChangedHandler не может активизировать другие окна. Другими словами, в процедуре SelChangedHandler не могут быть выполнены такие операторы, как Note, Print или Dialog - взято из мануала. поэтому не совсем понимаю как ей пользоватьсяAndrew писал(а):Попробуйте воспользоваться процедурой "SelChangedHandler". Как раз срабатывает при изменении выбора хоть в таблице, хоть на карте.
у всех в голове свои тараканы
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Информация о выделенном объекте
Я позволю себе обратить внимание на два существенных момента.
1) вы описали замену инструменту Info - переключиться в режим нового инструмента и им щелкать. я говорил про использование кнопки или меню, уже после выделения объекта. эта кнопка вызывает РАЗОВЫЙ вывод информации о выделенном объекте, и затем возвращается к инструменту, который был активным до ее нажатия.
2) для того, что бы быть уверенным в использовании верных данных из актуального выделения, надо использовать не
а узнать имя запроса, который в данный момент имеет алиас Selection
1) вы описали замену инструменту Info - переключиться в режим нового инструмента и им щелкать. я говорил про использование кнопки или меню, уже после выделения объекта. эта кнопка вызывает РАЗОВЫЙ вывод информации о выделенном объекте, и затем возвращается к инструменту, который был активным до ее нажатия.
2) для того, что бы быть уверенным в использовании верных данных из актуального выделения, надо использовать не
Код: Выделить всё
Fetch First From Selection
Код: Выделить всё
UnDim q_name
UnDim c_name
print Chr$(12) '' это необязательные строки, они просто позволяют очистить окно print и использовать объявление переменных в примере
Dim q_name As String
Dim c_name As Alias
q_name=SelectionInfo( SEL_INFO_SELNAME ) ' SEL_INFO_SELNAME = 2
Fetch First From q_name
c_name=q_name+".col1"
Print "krsk 1: " + q_name
Print "krsk 2: " + c_name
- Radost_
- Интересующийся
- Сообщения: 15
- Зарегистрирован: 27 фев 2011, 08:11
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Информация о выделенном объекте
Undim q_name - не хочет работать этот оператор.
что-то я разобраться не могу как очищать окно и обнулять запрос.
как в инфо - там же тыкаешь - узнаешь, на другую область тыкаешь - изменяются значения.
что-то я разобраться не могу как очищать окно и обнулять запрос.
как в инфо - там же тыкаешь - узнаешь, на другую область тыкаешь - изменяются значения.
у всех в голове свои тараканы
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей