- •Add Cartographic Frame
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор Autolabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Оператор Call
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Оператор Commit Table
- •Оператор Continue
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложение Control RadioGroup
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Оператор Create Collection
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create MultiPoint
- •Оператор Create Point
- •Оператор Create PrismMap
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Graph
- •оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Оператор Line Input
- •Процедура Main
- •Оператор Map
- •Оператор Menu Bar
- •Оператор Metadata
- •Оператор Note
- •Оператор Objects Check
- •Оператор Objects Clean
- •Оператор Objects Combine
- •Оператор Objects Disaggregate
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Snap
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Table
- •Оператор Open Window
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Оператор Server Commit
- •Оператор Server Create Map
- •Оператор Server Create Table
- •Оператор Server Create Style
- •Оператор Server Disconnect
- •Оператор Server Fetch
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File TimeOut
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set PrismMap
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Objects Move
- •Оператор Objects Offset
- •Функция Offset()
- •Функция SphericalOffset()
- •Функция SphericalOffsetXY()
- •Функция CartesianOffsetXY()
- •Функция LayerInfo( )
- •Оператор Register
- •Оператор Server Create Map
- •Функция TableInfo( )
Оператор Reload Symbols
Оператор Reload Symbols
Назначение:
Открывает и перезагружает файл символов MapInfo и тем самым меняет набор символов, используемый MapInfo и показываемый в диалоге НАСТРОЙКИ > СТИЛЬ СИМВОЛА.
Синтаксис (версия для символов MapInfo 3.0):
Reload Symbols
Синтаксис (только для растровых символов):
Reload Custom Symbols From directory
где
directory – строка с маршрутом.
Описание:
Оператор используется в утилите SYMBOL.MBX, которая дает пользователю возможность создавать свои символы.
Справочник MapBasic |
433 |
Процедура RemoteMapGenHandler
Процедура RemoteMapGenHandler
Назначение:
Имя специальной процедуры, вызываемой тогда, когда клиент OLE Automation вызывает метод MapGenHandler Automation.
Синтаксис:
Declare Sub RemoteMapGenHandler Sub RemoteMapGenHandler statement_list
End Sub
statement_list – список операторов MapBasic, выполняемых когда клиент OLE Automation вызывает метод MapGenHandler.
Описание:
RemoteMapGenHandler это имя процедуры MapBasic специального назначения, которая вызывается через OLE Automation. Если Вы используете OLE Automation для управления MapInfo, и вызываете метод MapGenHandler, MapInfo вызывает процедуру RemoteMapGenHandlers любого работающего приложения MapBasic. Метод MapGenHandler – это компонента механизма MapGen Automation, представленного в MapInfo 4.1.
Метод MapGenHandler Automation берет один аргумент: строку. Внутри процедуры RemoteMapGen
Handler Вы можете восстановить строковый аргумент с помощью вызова следующей функции ...
CommandInfo(CMD_INFO_MSG)
... и присвоить результат строковой переменной.
Приложения MapInfo ProServer
MapInfo ProServer – это специальная версия MapInfo, которая поддерживает приложения MapInfo в среде Internet/Intranet. Процедура RemoteMapGenHandler обычно используется, если Вы разрабатываете приложения с использованием MapInfo ProServer, и Вам необходимо контролировать элементы MapInfo, которые Вы не можете контролировать используя метод OLE Automation.
1.В Вашей программе .MB, создайте процедуру, вызывающую RemoteMapGenHandler.
2.В процедуре RemoteMapGenHandler перечисляются операторы MapBasic, которые должны будут выполняться в Вашем ProServer-приложении.
3.Откомпилируйте приложение MapBasic (MBX-файл).
4.Сконфигурируйте ProServer-приложение так, чтобы ваш MBX-файл предназначался для сеанса.
5.В ProServer-приложении, вызовите метод OLE Automation MapGenHandler. Когда Вы вызываете этот метод, MapInfo вызовет процедуру RemoteMapGenHandler в MBX-файле.
Более подробная информация о MapInfo ProServer содержится в документаци о ProServer.
Пример:
В качестве примера использования RemoteMapGenHandler, смотрите программу MAPSRVR.MB, которая поставляется как компонента MapInfo ProServer.
434 |
Справочник MapBasic |
Процедура RemoteMsgHandler
Процедура RemoteMsgHandler
Назначение:
Процедура, автоматически выполняющаяся при получении командного сообщения из другой программы.
Синтаксис:
Declare Sub RemoteMsgHandler Sub RemoteMsgHandler
statement_list
End Sub
где
statement_list – список операторов процедуры-обработчика.
Описание:
RemoteMsgHandler – зарезервированное имя процедуры MapBasic, предназначенной для обслуживания связи между прикладными программами и другими программами. В среде Windows для связи между программами используется DDE (Dynamic Data Exchange), в Macintosh используется Apple Events. Однако основные принципы связи для всех платформ, где может работать программа MapInfo, одинаковы.
Если Вы запустили программу, которая имеет процедуру RemoteMsgHandler, то MapInfo автоматически вызовет процедуру RemoteMsgHandler, как только другая программа (например, работающая с базами данных) пошлет "выполняемую" команду ("DoScript" в системе Macintosh). Для получения "послания" в виде строки в процедуре RemoteMsgHandler используется функция
CommandInfo( ).
Для завершения программы в теле процедуры RemoteMsgHandler используется оператор End Pro gram. При этом полностью освобождается оперативное пространство, занимаемое прикладной программой, и связь с ним будет уже невозможно установить.
Связь между программами в среде Windows
Для налаживания связи между программами сначала создается один канал DDE-связи (динамического обмена данных) и ему назначается номер. Этот канал связи позволяет соединить две программы, работающие в среде Microsoft Windows, для пересылки информации.
Прикладная программа может быть как "клиентом" DDE-связи в пределах одного канала, так и "сервером" для другого канала, используя в последнем случае процедуру RemoteMsgHandler. Когда пользователь запускает программу, в которой есть такая процедура, программа не завершается после того, как выполнятся все операторы процедуры Main и других процедур, вызванных из нее. Прикладная программа будет пребывать в режиме ожидания до тех пор, пока "клиент" (какая-нибудь другая программа в Windows) не обратится к "серверу".
Впроцедуре обработчика DDE-связи для прочтения сообщения в строковом представлении используется функция CommandInfo(CMD_INFO_MSG).
Вдинамическом обмене данных имя программы, выступающей в роли сервера (например, "C:\MAPBASIC\DISPATCH.MBX") должно использоваться как объект (topic) обмена.
Связь между программами в среде Macintosh
В Macintosh связь между программами поддерживается через Apple Events. При этом внешняя программа является "клиентом" (активная роль), а прикладная программа MapBasic – "сервером"
Справочник MapBasic |
435 |
Процедура RemoteMsgHandler
(пассивная роль).
"Клиент" связи Apple Event должен посылать имя прикладной программы, находящейся в состоянии ожидания (например, "AE_Handler.MBX"), заключенной в кавычки, как первую часть послания DoScript event или же использовать ключевое слово "kobj" как тип объекта.
MapInfo автоматически вызывает RemoteMsgHandler процедуру всякий раз, когда клиент связи Apple Event выполняет оператор Do Script. Для прочтения послания в процедуре используется вызов функции:
CommandInfo(CMD_INFO_MSG)
Смотрите также:
DDEExecute, DDEInitiate( ), SelChangedHandler, ToolHandler, WinChangedHandler, Win
ClosedHandler
436 |
Справочник MapBasic |
Функция RemoteQueryHandler( )
Функция RemoteQueryHandler( )
Назначение:
Функция, которая вызывается, когда MapBasic-программа работает DDE-сервером и получает от DDE-клиента внешний “считывающий” запрос.
Синтаксис:
Declare Function RemoteQueryHandler( ) As String
Function RemoteQueryHandler( ) As String statement_list
End Function
где
statement_list – группа операторов, которую нужно выполнить при получении “считывающего” запроса.
Описание:
Функция RemoteQueryHandler( ) работает с механизмом DDE (Dynamic Data Exchange). Подробнее механизм DDE описан в главе 11 Руководства пользователя MapBasic.
Внешняя программа может начать сеанс DDE-связи с Вашей MapBasic-программой. При инициации связи внешняя программа использует значение “MapInfo” как имя DDE-программы и имя Вашей MapBasic-программы как DDE-тему (topic). Как только связь установится, клиент (внешняя программа) может посылать считывающие запросы к MapBasic-программе (серверу).
Для обарботки таких запросов в Вашу MapBasic-программу нужно включать обработчик RemoteQueryHandler( ). Как только от клиента поступает считывающий запрос, MapInfo автоматически вызывает функцию RemoteQueryHandler( ). Следующие считывающие запросы ожидают своей очереди, т.е. выполняются после того, как RemoteQueryHandler( ) вернет значение.
Внимание: DDE-клиент может считывать значения глобальных переменных MapBasic-программы без помощи RemoteQueryHandler( ). Если клиент выдаст считывающий запрос к глобальной переменной MapBasic, MapInfo автоматически возвратит требуемое значение вместо того, чтобы обратиться к RemoteQueryHandler( ).
Пример:
В следующем примере вызывается функция CommandInfo( ), чтобы определить, какой объект требует DDE-клиент. Если объект называется “code1”, то действия продолжаются по одному сценарию, если нет, то по другому.
Function RemoteQueryHandler() As String Dim s_item_name As String
s_item_name = CommandInfo(CMD_INFO_MSG) If s_item_name = ”code1” Then
RemoteQueryHandler = custom_function_1() Else
RemoteQueryHandler = custom_function_2() End If
End Function
Смотрите также:
DDEInitiate( ), RemoteMsgHandler
Справочник MapBasic |
437 |
Оператор Remove Cartographic Frame
Оператор Remove Cartographic Frame
Назначение:
Оператор Remove Cartographic Frame позволяет Вам удалять разделы из существующей картографической легенды, созданной оператором Create Cartographic Legend.
Синтаксис:
Cartographic Frame
[ Window legend_window_id ]
Id frame_id, frame_id, frame_id, ...
legend_window_id- это целое, соответствующее идентификатору окна, которое Вы можете получить при вызове функций FrontWindow() и WindowId( ).
frame_id это индекс ID раздела легенды. Вы не можете использовать имя слоя. Например, три раздела легенды вполне могут иметь индексыID 1,2 и 3.
Смотрите также:
DDEddexref Create Cartographic Legend, Set Cartographic Legend, Add Cartographic Frame, Alter Cartographic Frame
438 |
Справочник MapBasic |
Оператор Remove Map
Оператор Remove Map
Назначение:
Удаляет один или более слоев из окна Карты.
Синтаксис:
Remove Map [ Window window_id ]
Layer map_layer [, map_layer ... ] [ Interactive ]
где
window_id – идентификатор окна Карты, целое число; его можно получить функциями FrontWin dow( ) или WindowID( ).
map_layer – задает слой Карты.
Описание:
Оператор Remove Map удаляет один или более слоев из окна Карты. Если оператор не содержит предложения Window window_id, оператор будет работать с тем окном, которое является окном Карты и лежит выше остальных.
Параметр map_layer может быть либо целым числом, большим нуля, либо строкой с именем таблицы, либо ключевым словом Animate, как показано в следующих примерах.
Примеры |
Описание примера |
Remove Map Layer 1 |
Единица обозначает самый верхний некосметический слой. |
|
Данный оператор удаляет из Карты слой, идущий сразу за |
|
Косметическим слоем. Если параметр map_layer был бы “1, 2”, |
|
то были бы удалены два верхних некосметических слоя. |
Remove Map Layer ”Zones” |
Оператор удаляет слой Zones (то есть тот, который в списке |
|
слоев обозначен именем “Zones”). |
Remove Map Layer ”Zones(1)” |
Оператор удаляет первый тематический слой, построенный |
|
на основе слоя Zones. |
Remove Map Layer Animate |
Оператор удаляет анимационный слой. Информация об |
|
анимационных слоях содержится в описании оператора Add |
|
Map. |
Если используется ключевое слово Interactive и если удаление слоя ведет к потере подписей или тематических объектов, то MapInfo выведет на экран диалог, который позволит сохранить пользователю Рабочий Набор перед удалением слоя. Если ключевое слово в операторе Interactive опущено, то пользователь не предупреждается о потере.
Удаляя слой, который отображает данные некоторой открытой таблицы, оператор Remove Map не закрывает ее.
Один оператор Remove Map может убрать несколько слоев. Для этого задайте номера слоев, которые хотите удалить из окна, списком через запятую.
Если оператор удаляет последний некосметический слой, то MapInfo автоматически закрывает окно Карты.
Смотрите также:
Add Map, Map, Set Map
Справочник MapBasic |
439 |