создание кнопок

MapInfo, MapBasic
Ответить
arslanKZN
Интересующийся
Сообщения: 19
Зарегистрирован: 15 апр 2010, 09:14
Репутация: 0

создание кнопок

Сообщение arslanKZN » 21 янв 2011, 11:39

Здравствуйте!
Возможно ли создать на Мапинфо,например,кнопку,которая связана с SQL-запросом,по нажатию которой выделяются определнные области.
Спасибо!

Аватара пользователя
asgs
Участник
Сообщения: 89
Зарегистрирован: 04 авг 2010, 06:35
Репутация: 1
Контактная информация:

Re: создание кнопок

Сообщение asgs » 21 янв 2011, 12:42

Разумеется, можно. В обработчике нажатия кнопки пишете тот самый нужный запрос, и будет всем щастье ;)
Злобный йожег

arslanKZN
Интересующийся
Сообщения: 19
Зарегистрирован: 15 апр 2010, 09:14
Репутация: 0

Re: создание кнопок

Сообщение arslanKZN » 21 янв 2011, 13:35

asgs писал(а):Разумеется, можно. В обработчике нажатия кнопки пишете тот самый нужный запрос, и будет всем щастье ;)
Это нужно проделывать с помощью MapBasic?
Спрашиваю,т.к. не имел с ней дело..
...............
нужно создать пользовательский интерфейс типа этого:
Изображение

но только попроще.Просто кнопка(для начала)

Аватара пользователя
asgs
Участник
Сообщения: 89
Зарегистрирован: 04 авг 2010, 06:35
Репутация: 1
Контактная информация:

Re: создание кнопок

Сообщение asgs » 21 янв 2011, 14:25

Да, MapBasic. Картинок в диалоге не обещаю, а остальные стандартные элементы управления там есть.
Злобный йожег

arslanKZN
Интересующийся
Сообщения: 19
Зарегистрирован: 15 апр 2010, 09:14
Репутация: 0

Re: создание кнопок

Сообщение arslanKZN » 21 янв 2011, 14:53

Так..Нашел несколько программ,с пом. которых можно легко рисовать диалоговые окна:
Изображение
Вопрос следующий: как связать нажатие кнопки ок с sql запросом?

Andrew
Активный участник
Сообщения: 134
Зарегистрирован: 01 окт 2009, 08:52
Репутация: 3
Откуда: Москва

Re: создание кнопок

Сообщение Andrew » 21 янв 2011, 14:58

arslanKZN писал(а):Вопрос следующий: как связать нажатие кнопки ок с sql запросом?
Sub Dialog

Dialog

Title "***"

Control StaticText
Title "Запрос"
Position 5, 10

' Ваш функционал

Control OKButton
Control CancelButton

If commandInfo(CMD_INFO_DLG_OK) Then
Call OOO

End If
End Sub

Sub OOO
'текст запроса
End Sub

arslanKZN
Интересующийся
Сообщения: 19
Зарегистрирован: 15 апр 2010, 09:14
Репутация: 0

Re: создание кнопок

Сообщение arslanKZN » 21 янв 2011, 20:31

В каком виде mb понимает запросы:в виде select * from table where ID > 10 ?
И как сделать открытие файла .qry
выдает ошибку

Код: Выделить всё

(window3.mb:3) No prototype declared for Sub procedure or Function Dialog.
(window3.mb:19) Invalid Sub procedure name: OOO. 
(window3.mb:24) No prototype declared for Sub procedure or Function OOO.  

arslanKZN
Интересующийся
Сообщения: 19
Зарегистрирован: 15 апр 2010, 09:14
Репутация: 0

Re: создание кнопок

Сообщение arslanKZN » 22 янв 2011, 13:20

Ошибка выходила,т.к. не подключал mapbasic.def :D
Решил проблему свою,пока такой простой вариант.Думаю,сделать с поиском по названию клада,с радокнопками,флажками и прочей лобудой

Код: Выделить всё

Include "mapbasic.def"
Declare Sub Main
Declare Sub zapros
	Global tip_klada As SmallInt
Sub Main 
Dialog 
        Title "Окно"
        Width  175
        Height 83

        Control OkButton
                Width  35
                Height 11
                Position 41, 36
        Control CancelButton
                Width  37
                Height 12
                Position 86, 36
        Control StaticText
                Title "Выберите тип монет"
                Width  67
                Height 8
                Position 5, 8
        Control PopupMenu
                Title "Новгородские;Киевские"
                Width  58
                Height 10
                Position 96, 8
	  ID 20
	 Into tip_klada
If CommandInfo(CMD_INFO_DLG_OK) Then
Call zapros
End If
End Sub

Sub zapros
If tip_klada=1 Then
Select * from клады_общая where Губерния_область_старое = "Новгородская губерния" into Selection
End If
If tip_klada=2 Then
Select * from клады_общая where Губерния_область_старое = "Киевская губерния" into Selection
End If
Browse * From Selection
End Sub

arslanKZN
Интересующийся
Сообщения: 19
Зарегистрирован: 15 апр 2010, 09:14
Репутация: 0

Re: создание кнопок

Сообщение arslanKZN » 24 янв 2011, 13:29

У меня вопрос:
как получить идентификатор карты?Пример:если в mapBasic прописать код
Set Map Window 160792968 Layer 2 Display Graphic
то все ок,работает.А вот если перезапустить программу Мапинфо,то уже код получается другой.

сделал так:
Set Map Layer 4 Display Global Global Symbol MakeSymbol(56,BLACK,9)
теперь встала проблема такая:
Заранее пределяю глоб переменную тип symbol.При выборе значка из SymbolPicker сохраняю ее в мою переменную.Как применить ее?Если писать

Код: Выделить всё

...Display Global Global Symbol my_symbol
выходит ошибка,что нельзя использовать неинициализированну переменную my_symbol.

arslanKZN
Интересующийся
Сообщения: 19
Зарегистрирован: 15 апр 2010, 09:14
Репутация: 0

Re: создание кнопок

Сообщение arslanKZN » 06 мар 2011, 18:54

Не стал плодить темы,возможно ли конвертировать полученные программы в exe?

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: создание кнопок

Сообщение Boris » 06 мар 2011, 19:20

arslanKZN писал(а):Не стал плодить темы,возможно ли конвертировать полученные программы в exe?
и да, и нет.
нет - на прямую формат MBX в EXE не превращается.
да - через любой язык программирования можно посылать те же самые команды MAPBASIC'а работающей копии MapInfo.
Исключения - операторы циклов и ветвления ( if и т.п.)

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя