- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Приложение В: Арифметические и географические операторы
Приложение В: Арифметические и географические операторы
Оператор задает определенное арифметическое действие над одной или более величинами или задает отношение, имеющее результат. Операторы могут классифицироваться по типу величин, с которыми они действуют, и по типу результата.
Следующие арифметические операторы работают с числами и имееют численный результат.
Оператор |
Действие |
Пример |
+ |
сложение |
a + b |
L |
вычитание |
a L b |
* |
умножение |
a * b |
/ |
деление |
a / b |
\ |
деление по модулю (без остатка) |
a \ b |
Mod |
остаток деления по модулю |
a Mod b |
^ |
возведение в степень |
a ^ b |
Два первых оператора также используются в другом контексте. Плюс используется как знак слияния (конкатенации строк). Вместо плюса можно использовать амперсанд. Минус может означать отрицательное значение.
Оператор |
Действие |
Пример |
+ |
строковая конкатенация |
a + b |
& |
строковая конкатенация |
a & b |
L |
перемена знака числа |
L a |
Операторы сравнения L это операторы, сравнивающие два элемента одного типа с получением логического результата: TRUE or FALSE. Численные данные немогут сравниваться с нечисленными (например, с строкой), но сравнение возможно между величинами типов Integer, SmallInt и Float. Выражения с операторами сравнения часто используются в операторах, управляющих выполнением программы (например, в операторе If...Then).
Оператор |
TRUE, если |
Пример |
= |
сложение |
a = b |
<> |
вычитание |
a <> b |
Справочник MapBasic |
607 |
Приложение В: Арифметические и географические операторы
< |
умножение |
a < b |
> |
деление |
a > b |
<= |
деление по модулю (без остатка) |
a <= b |
>= |
остаток деления по модулю |
a >= b |
Логические операторы работают с логическими величинами и имеют в результате логическую величину: TRUE или FALSE:
Оператор |
TRUE, если |
Пример |
And |
обе величины TRUE |
a And b |
Or |
хотя бы одна величина TRUE |
a Or b |
Not |
отрицание |
Not a |
Географические операторы работают с объектными величинами и имеют в результате логическую величину: TRUE или FALSE:
Оператор |
TRUE, если |
Пример |
Contains |
если центроид объекта B лежит в |
objectA Contains objectB |
|
границах объектаA |
|
Contains Part |
если границы объекта B частично |
objectA Contains Part objectB |
|
лежат внутри границ объекта A |
|
Contains Entire |
если граница объекта B полностью |
objectA Contains Entire |
|
лежит внутри границ объекта A |
objectB |
Within |
если центроид объекта А лежит в |
objectA Within objectB |
|
границах объекта B |
|
Partly Within |
если границы объекта А частично |
objectA Partly Within objectB |
|
лежат внутри границ объекта B |
|
Entirely Within |
если граница объекта А полностью |
objectA Entirely Within |
|
лежит внутри границ B |
objectB |
Intersects |
если объекты имеют хотя бы одну |
objectA Intersects objectB |
|
общую точку |
|
608 |
Справочник MapBasic |
Приложение В: Арифметические и географические операторы
Приоритет
Скобки являются специальным оператором, который выделяет выражение внутри другого выражения. Использование скобок позволяет задавать порядок вычисления выражения, отличный от порядка, диктуемого приоритетом операторов. Ниже в виде колонки перечисленны операторы в порядке убывания приоритета. Если скобок нет, то оператор, приоритет которого выше приоритета другого, выполняется первым. Операторы из одной строки имеют равный приоритет и в выражениях выполняются слева направо (за исключением степени, она вычисляется справа налево).
Например, выражение 3 + 4 * 2 имеет результат 11 (умножение вычисляется перед сложением). Выражение (3 + 4) * 2 имеет результат 14 (скобки повышают приоритет сложения над умножением).
Порядок приоритетов выполнения операторов MapBasic
(Высокий приоритет)
скобки
возведение в степень
перемена знака
умножение, деление, деление по модулю, остаток от деления по модую
сложение, вычитание
географические операторы
операторы сравнения
Not
And
Or
(Низкий приоритет)
Справочник MapBasic |
609 |
Приложение В: Арифметические и географические операторы
Автоматическое преобразование типов
Если Вы создали выражение с участием данных разных типов и с некоторыми одинаковыми, то MapInfo перед вычислением преобразует типы. Например, если Ваша программа вычитает из величины типа Date другую величину типа Date, MapBasic вычислит результат как целочисленный (разница дней между двумя датами).
В следующей таблице приведены правила автоматического преобразования типов MapBasic.
Оператор |
Комбинации операторов |
Тип результата |
+ |
Величина типа Date + Число |
Date |
|
Число + Величина типа Date |
Date |
|
Величина типа Integer + Величина типа Integer |
Integer |
|
Число + число |
|
|
ЧтоLто + ЧтоLто (все другие комбинации) |
Float |
|
|
String |
|
Величина типа Date L Число |
Date |
|
Величина типа Date L Величина типа Date |
Integer |
|
Величина типа Integer L Величина типа Integer |
|
|
Число L Число |
Integer |
|
|
Float |
* |
Величина типа Integer * Величина типа Integer |
Integer |
|
Число * Число |
|
|
|
Float |
/ (деление) |
Число / Число |
Float |
\ (деление по |
Число \ Число |
Integer |
модулю) |
|
|
MOD |
Число MOD Число |
Integer |
(остаток |
|
|
деления по |
|
|
модулю) |
|
|
^ (степень) |
Число ^ Число |
Float |
610 |
Справочник MapBasic |
Приложение В: Арифметические и географические операторы
Приложение С: Техническая поддержка
Перевод программного пакета MapInfo/MapBasic Professional выполнен фирмой ЭСТИ МАП.
Все права на русскую версию MapInfo и MapBasic принадлежат фирме ЭСТИМАП, РФ, Москва, 121019, пер. Сивцев Вражек, 29/16, тел./факс (095) 2415732.
ESTI LM@.IBRAE.AC.RU
Техническая поддержка осуществляется специалистами ЭСТИ МАП и включает в себя следующее:
Консультирование пользователей MapInfo и MapBasic.
Информация о новейших разработках.
Сведения о новых версиях компонентов пакетов MapInfo и MapBasic.
Описание наиболее важных приемов работы.
Рассылка маркетинговой и технической информации.
Справочник MapBasic |
611 |
Приложение В: Арифметические и географические операторы
612 |
Справочник MapBasic |