- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Оператор Objects Split
Оператор Objects Split
Назначение:
Разделяет изменяемые объекты на части, используя форму выбранных объектов как "ластик". Оператор соответствует команде ОБ ЕКТЫ > РАЗРЕЗАТЬ.
Синтаксис:
Objects Split Into Target
[ Data column_name = expression ]
[ , column_name = expression ... ] ]
где
column_name – имя колонки в таблице.
Описание:
Оператор Objects Split разрезает каждый изменяемый объект на несколько. Оператор Objects Split соответствует команде MapInfo ОБ ЕКТЫ > РАЗРЕЗАТЬ. Если Вы в MapInfo выполните команду и при этом будет открыто окно MapBasic, то в протоколе выполненных действий будет использован оператор Objects Split. Описание выполняющейся операции смотрите в описании команды в
Справочнике MapInfo.
Перед выполнением оператора Objects Split, должен быть выбран изменяемый объект (или объекты) и один или более замкнутых объектов (типа "область ", "прямоугольник", "скругленный прямоугольник" или "эллипс"), играющих роль "ластика". Изменяемый объект может быть назначен командой в MapInfo ОБ ЕКТЫ > ВЫБРАТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ или оператором Set Target из прикладной программы.
Предложение Data управляет обобщением данных. За ключевым словом Data должен следовать список определений через запятую. Каждое определение является выражением, по которому будет изменено значение из определенной колонки в записи изменяемого объекта. Вычисления или изменения должны производиться в соответствии с типом колонки (численным, строковым и т. п.) Следующая таблица приводит некоторые варианты определений для колонки:
Выражение |
|
Эффект |
col_name = col_name |
|
Содержимое колонки не меняется. Каждый объект, |
|
||
|
|
полученный в результате, в своей записи имеет то |
|
|
же значение, что и объект, из которого он был |
|
|
получен. |
col_name = value |
|
MapBasic помещает значение value в поле записи |
|
|
объекта. Если тип колонки символьный, то value |
|
|
должно быть строкой. Если тип колонки |
|
|
численный, то value должно быть числом. |
col_name = Proportion(col_name)
Используется только для численных колонок. MapBasic пропорционально размерам объектов разделяет значение в колонке col_name между записями с объектами, полученными в результате.
Список Data может состоять из определений для всех колонок таблицы. Если в списке определены не все колонки, то MapBasic разместит пустые значения в неописанные поля новой записи.
356 |
Справочник MapBasic |
Оператор Objects Split
Если в операторе не используется предложение Data, то MapBasic заполнит все поля записи объектов нулевыми и пустыми значениями.
Примеры:
В результате следующего оператора Objects Split, который не использует предложение Data, все записи, к которым присоединены объекты, получают пустые или нулевые значения.
Objects Split Into Target
Следующий оператор Objects Split имеет предложение Data, которое задает выражения для трех колонок ("State_Name", "Pop_1990" и "Med_Inc_80"). Первая часть предложения Data присваивает строку "подразделение" колонке "State_Name"; то есть строка "подразделение" будет помещена в колонку "State_Name" для каждого объекта, являющегося результатом разрезания. Далее в предложении Data определяется, что население из колонки "Pop_1990" пропорционально разделяется между результатами разрезания, а значение "Med_Inc_80" сохраняется для всех объектов.
Objects Split Into Target
Data
State_Name = "подразделение",
Pop_1990 = Proportion( Pop_1990 ),
Med_Inc_80 = Med_Inc_80
Справочник MapBasic |
357 |
Оператор OnError
Оператор OnError
Назначение:
Объявляет процедуру обработчика ошибок.
Синтаксис:
OnError Goto {label | 0 }
где
label – метка в тексте некоторой подпрограммы или функции.
Предупреждение:
Вы не можете использовать оператор OnError в окне MapBasic.
Описание:
Оператор OnError используется либо для запуска процедурыLобработчика ошибок, если ошибка имела место, либо для отмены обработки ошибок (форма OnError Goto 0). ПроцедураLобработчик ошибок представляет собой группу операторов, которые выполняются в случае ошибки.
В отличие от стандартных версий BASIC оператор OnError в MapBasic пишется в одно слово.
Оператор OnError Goto label объявляет, что операторы после метки label являются обработчиком ошибок, и, если один из операторов, следующих за OnError Goto label, вернет код ошибки, то MapBaL sic передаст выполнение программы метке label. Предполагается, что операторы должны обработать конфликтную ситуацию, возникшую в результате ошибки, так, чтобы она не повлияла на корректность выполнения программы, или предупредить пользователя о случившейся ошибке, или то и другое.
Заметим, что если Ваша программа имеет обработчик ошибок, то Вы должны перед оператором с меткой label расположить оператор управления выполнением программы (например, Exit Sub или End Program). Это не позволяет программе передать управление процедуреLобработчику без наличия ошибки. Смотрите пример ниже.
Оператор OnError Goto 0 отменяет установленный до этого обработчик ошибок. Если ошибка происходит в программе, где нет обработчика ошибок или он отменен, то MapBasic выводит на экран окно сообщения об ошибке и прекращает выполнение программы.
Операторы обработчика ошибок могут располагаться в отдельной процедуре или функции. Так, subL процедуру обработчика ошибок можно определить следующим оператором:
OnError Goto recover
(при этом подразумевается, что в этой процедуре есть метка "recover"). Если после выполнения такого оператора OnError процедура выполнит оператор Call и перейдет в другую subLпроцедуру, то обработчик с именем "recover" не будет способен реагировать на ошибку, пока действует другая процедура. Это происходит потому, что каждая метка локальна по отношению к процедуре и функции, в которой она задана. Этот прием позволяет каждой функции и каждой процедуре сопоставить собственный обработчик ошибок.
За ошибки, возникшие в процессе обработки других ошибок, отвечает Ваш программист на MapBasic.
Пример:
OnError GoTo no_states
Open Table "states"
358 |
Справочник MapBasic |
Оператор OnError
OnError GoTo no_cities
Open Table "cities"
Map From cities, states
after_mapfrom: OnError GoTo 0
'
' ...
'
End Program
no_states:
Note "Не может быть открыта таблица States...
окно Карты не будет открыто."
Resume after_mapfrom
no_cities:
Note "Данные о расположении городов недоступны..."
Map From states
Resume after_mapfrom
Смотрите также:
Err( ), Error, Error$( ), Resume
Справочник MapBasic |
359 |