- •Оператор Add Column
- •Оператор Add Map
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter Cartographic Frame
- •Оператор Alter Control
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Bar
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор AutoLabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Функция ButtonPadInfo( )
- •Оператор Call
- •Функция•CartesianArea( )
- •Функция CartesianBuffer( )
- •Функция CartesianDistance ( )
- •Функция CartesianObjectLen( )
- •Функция CartesianPerimeter( )
- •Функция Centroid( )
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Функция CommandInfo()
- •Оператор Commit Table
- •Оператор Continue
- •Предложения Control Button / OKButton / CancelButton
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложения Control ListBox / MultiListBox
- •Предложение Control PopupMenu
- •Предложение Control RadioGroup
- •Предложение Control StaticText
- •Функция ConvexHull( )
- •Предложение CoordSys
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Функция CreateCircle( )
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create Object
- •Оператор Create Pline
- •Оператор Create Point
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Функция CreateText( )
- •Функция DateWindow( )
- •Оператор 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
- •Оператор For...Next
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Global
- •Оператор Goto
- •Оператор Graph
- •Оператор If...Then
- •Оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция Int( )
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Функция LabelFindByID( )
- •Функция LabelFindNext( )
- •Функция Labelinfo( )
- •Оператор Layout
- •Функция LegendFrameInfo( )
- •Функция LegendInfo( )
- •Функция LegendStyleInfo( )
- •Оператор Line Input
- •Процедура Main
- •Функция MakeCustomSymbol( )
- •Функция MakeFontSymbol( )
- •Оператор Map
- •Функция Map3dInfo( )
- •Оператор Menu Bar
- •Функция MenuitemInfoByID( )
- •Оператор Metadata
- •Оператор Note
- •Функция NumAllWindows( )
- •Оператор Objects Check
- •Оператор Objects Combine
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Report
- •Оператор Open Table
- •Оператор Open Window
- •Оператор Pack Table
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор Print #
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Remove Cartographic Frame
- •Оператор Remove Map
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Window
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Функция Server_ColumnInfo( )
- •Оператор Server Commit
- •Функция Server_Connect( )
- •Оператор Server Create Map
- •Оператор Server Disconnect
- •Функция Server_DriverInfo( )
- •Функция Server_EOT( )
- •Функция Server_Execute( )
- •Оператор Server Fetch
- •Функция Server_GetodbcHConn( )
- •Функция Server_GetodbcHStmt( )
- •Оператор Server Link Table
- •Функция Server_NumCols( )
- •Функция Server_NumDrivers( )
- •Оператор 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 ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Style
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Функция StyleAttr( )
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Функция UnitAbbr$( )
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Write #
- •Приложение A: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Оператор Run Command
Оператор Run Command
Назначение:
Выполняет оператор MapBasic, заданный строкой.
Синтаксис:
Run Command command
где
command – символьная строка, представляющая оператор MapBasic.
Описание:
Оператор Run Command интерпретирует строку command в оператор MapBasic и выполняет его.
Оператор имеет некоторые ограничения, обусловленные тем, что интерпретация происходит уже из откомпилированной программы. Имена переменных не могут быть заданы в строке command, т. к. может не произойти подстановки их значений. Например, следующая группа операторов не будет работать, так как указание на переменные x и y попадает в строку, ограниченную кавычками:
Dim |
cmd_string As String |
' Этот пример НЕ РАБОТАЕТ |
Dim |
x, y As Float |
|
...
cmd_string = " x = Abs(y) "
Run Command cmd_string
Оператор позволяет конструировать командную строку из строковых величин, используя строковые переменные, если конфликта с кавычками можно избежать:
Dim cmd_string As String |
' Этот пример будет работать |
Dim map_it, browse_it As Logical
Open Table "world"
If map_it Then
cmd_string = "Map From "
Run Command cmd_string + "world"
End If
If browse_it Then
cmd_string = "Browse * From "
Run Command cmd_string + "world"
End If
Пример 1:
Оператор Run Command представляет гибкий путь выполнения операторов, аргументы которых представляются списками переменной длины. Так, оператор Map From может включать в себя имя одной таблицы или список имен таблиц через запятую. Программа может интерпретировать оператор во время выполнения, чтобы определить (используя данные, введенные пользователем), сколько таблиц включить в карту. Оператор Run Command позволяет на ходу сконструировать и выполнить оператор Map From.
Dim cmd_text As String
Dim cities_wanted, counties_wanted As Logical
416 |
Справочник MapBasic |
Оператор Run Command
Open Table "states.tab"
Open Table "cities.tab"
Open Table "counties.tab"
cmd_text = "states" ' всегда будет включен слой STATES
If counties_wanted Then
cmd_text = "counties, " + cmd_text End If
If cities_wanted Then
cmd_text = "cities, " + cmd_text End If
cmd_text = "Map from " + cmd_text
Run Command cmd_text
Пример 2:
Следующий пример показывает как можно дублировать окно Карты с помощью функции WindowInfo( ) и оператора Run Command.
Dim i_map_id As Integer
’Сначала, определим идентификатор окна Карты
’(предполагая, что оно активно):
i_map_id = FrontWindow()
’ Теперь дублируем это окно:
Run Command WindowInfo(i_map_id, WIN_INFO_CLONEWINDOW)
Смотрите также:
Run Application, Run Menu Command, Run Program
Справочник MapBasic |
417 |
Оператор Run Menu Command
Оператор Run Menu Command
Назначение:
Позволяет вызвать стандартную команду MapInfo так, как если бы Вы указали на ее имя в списке меню.
Синтаксис:
Run Menu Command { command_code | ID command_ID }
где
command_code – целочисленный код из файла MENU.DEF, соответствующий коду команды из действующей системы меню MapInfo или кнопке;
command_ID – число, представляющее созданный элемент меню или кнопку.
Описание:
Если Ваша программа включает в себя файл стандартных определений MENU.DEF, то можно использовать в операторе Run Menu Command имена кодов, которые определены в вышеупомянутом файле при помощи оператора Define. Например, для вызова команды ФАЙЛ > НОВАЯТАБЛИЦА применяется следующий оператор:
Run Menu Command M_FILE_NEW
Файл MENU.DEF содержит также определения кодов для инструментов Пенала. Например, код M_TOOLS_RULER соответствует инструменту Линейка. Если подставить значение кода в оператор, то он будет производить выбор инструмента так, как если бы пользователь указал на его картинку в Пенале. Например, следующий оператор выбирает инструмент Циркуль:
Run Menu Command M_TOOLS_SEARCH_RADIUS
Для выбора созданных кнопки или команды в меню (то есть кнопка или элемент меню, созданные и обрабатываемые программой MapBasic), используется предложение ID. Например, если Ваша программа создала кнопку инструмента и выполнила следующий оператор:
Alter ButtonPad ID 1 Add
ToolButton
Calling sub_procedure_name
ID 23
Icon MI_ICON_CROSSHAIR
то следовательно кнопка инструмента имеет идентификатор 23. Следующий оператор выбирает эту кнопку:
Run Menu Command ID 23
В MapInfo диалог “Режимы” – это специальный случай. Этот диалог имеет несколько кнопок, которые вызывают другие поддиалоги. Оператор Run Menu Command позволяет вызвать отдельно один из этих диалогов. Например, следующий оператор показывает поддиалог “Режимы окна Карты”:
Run Menu Command M_EDIT_PREFERENCES_MAP
Смотрите также:
Run Application, Run Program
418 |
Справочник MapBasic |
Оператор Run Program
Оператор Run Program
Назначение:
Загружает другие программы.
Синтаксис:
Run Program program_spec
где
program_spec – командная строка, задающая имя программы и, если необходимо, список аргументов.
Описание:
Параметр program_spec задает некоторую командную строку. В Windows командная строка задается так же, как в окошке "Command Line" диалога команды FILE > PROPERTIES в программе Windows Program Manager.
Использование оператора в среде Windows
Если программа, заданная строкой program_spec, не является программой для Windows, то MapL Basic сначала создаст копию командного процессора (DOS shell), а потом будет загружена DOSL программа в его среде. Если параметр program_spec имеет значение "COMMAND.COM", MapL Basic только откроет окно командного процессора. Если из прикладной программы была запущена программа для DOS, то для возвращения в MapInfo надо ввести команду "Exit".
Даже если Вы запустили DOSLпрограмму оператором Run Program, Windows продолжает управлять компьютером: то есть может параллельно поддерживать другие WindowsLпрограммы и даже саму MapBasic программу в многозадачном режиме. Возникающие в этой ситуации конфликты Ваша прикладная программа обычно не может разрешить.
Поэтому в программе должны быть предприняты меры предосторожности, чтобы избежать конфликтов многозадачности при выполнении оператора Run Program. Например, оператор Run Program можно поместить в конце программы или группы операторов, которые могли бы конфликтовать с вызываемой программой. Например, Вы создаете элемент меню, который вызывает обработчик, в котором в самом конце используется оператор Run Program.
Пример:
Оператор Run Program загружает текстовый редактор Windows, который называется "Notepad",
иоткрывает в нем текстовый файл "THINGS.2DO".
Run Program "notepad.exe things.2do"
Смотрите также:
Run Application, Run Command, Run Menu Command
Справочник MapBasic |
419 |