- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Оператор If...Then
Оператор If...Then
Назначение:
Условное выполнение той или иной группы операторов.
Синтаксис:
If if_condition Then if_statement_list
[ ElseIf elseif_condition Then elseif_statement_list ]
[ ElseIf... ] [ Else
else_statement_list ]
End If
где
condition – выражение, результат которого есть логическая величина (TRUE или FALSE); statement_list – группа операторов, количество которых может быть нулевым.
Предупреждение:
Вы не можете использовать оператор If... Then в окне MapBasic.
Описание:
Оператор If... Then позволяет выбрать, какую группу операторов выполнить при удовлетворении определенных условий, задаваемых выражениями if_condition и elseif_condition.
Возможна простая форма оператора If, оператор без предложений ElseIf и Else...
If if_condition Then if_statement_list
End If
В этом случае вычисляется значение выражения if_condition. Если выражение равно логическому значению TRUE, то MapBasic выполнит операторы if_statement_list. Иначе MapBasic пропустит группу операторов statement_list и передаст управление программой следующему оператору после
End If.
Второй вариант формы If включает конструкцию Else:
If if_condition Then if_statement_list
Else
else_statement_list
End If
Здесь вычисляется значение выражения if_condition. Если выражение равно логическому значению TRUE, то MapBasic выполнит операторы if_statement_list и передаст управление программой следующему оператору после End If. Иначе MapBasic пропустит группу операторов statement_list и
выполнит else_statement_list.
Третий вариант формы If включает предложение ElseIf, и потом предложение Else (хотя это не обязательно):
If if_condition Then if_statement_list
ElseIf elseif_condition Then elseif_statement_list
262 |
Справочник MapBasic |
Оператор If...Then
Else
else_statement_list
End If
В этом случае также сначала вычисляется значение выражения if_condition. Если выражение равно логическому значению TRUE, то MapBasic выполнит операторы if_statement_list и передаст управление программой следующему оператору после End If. Иначе MapBasic будет проверять выражения elseif_condition и, если оно истинно, выполняются операторы elseif_statement_list и управление программой передается следующему оператору после End If. Если выражение elseif_condition ложно, будут выполнены операторы, определенные конструкцией Else.
Оператор If может содержать несколько конструкций ElseIf, позволяющих Вам рассматривать любое количество возможных состояний. Но если Вы хотите, чтобы программа была написана в хорошем стиле, используйте оператор Do Case, а не оператор If с несколькими предложениями ElseIf.... .
Пример:
Проверим, не является ли сегодняшний день праздничным (Новый год, Рождество или Татьянин день), и выведем соответствующее поздравление. Если день не является праздником, будет выведено сообщение "Добрый день."
Dim today As Date
Dim today_mon, today_day, yearcount As Integer
today = CurDate( ) |
|
' чтение текущей даты |
|||
today_mon |
= Month(today) |
' |
чтение |
текущего |
месяца |
today_day |
= Day(today) |
' |
чтение |
текущего |
числа (1 31) |
If today_mon = 1 And today_day = 1 Then
Note "С Новым Годом!"
yearcount = yearcount + 1
ElseIf today_mon = 1 And today_day = 7 Then
Note "С Рождеством!"
ElseIf today_mon = 1 And today_day = 25 Then
Note "С днем ангела, Танечка!"
Else
Note "Добрый день."
End If
Смотрите также:
Do Case
Справочник MapBasic |
263 |
Оператор Import
Оператор Import
Назначение:
Создает новую таблицу MapInfo из данных текстового файла.
Синтаксис (вариант 1 U для файлов формата MIF/MID, PICT и файлов MapInfoверсии DOS):
Import file_name [ Type file_type ] [ Into table_name ] [ Overwrite ]
Синтаксис 2 (для DXFUфайлов):
Import file_name
[ Type “DXF” ]
[ Into table_name ] [ Overwrite ]
[ Warnings { On | Off } ] [ Preserve
[ AttributeData ] [ Preserve ] [ Blocks As MultiPolygonRgns ] ] [ CoordSys . . . ]
[ Autoflip ]
[ Transform
(DXF_x1, DXF_y1 ) (DXF_x2, DXF_y2 ) (MI_x1, MI_y1 ) (MI_x2, MI_y2 ) ]
[ Read
[ Integer As Decimal ] [ Read ] [ Float As Decimal ] ] [ Store [ Handles ] [ Elevation ] [ VisibleOnly ] ]
[ Layer DXF_layer_name [ Into table_name ] [ Preserve
[ AttributeData ] [ Preserve ] [ Blocks As MultiPolygonRgns ] ]
]
[ Layer . . . ]
где
file_name – имя импортируемого файла, включая DOSLмаршрут;
file_type – формат импортируемого файла (MIF, MBI, MMI, DXF, IMG или PICT); new_table – имя результирующей таблицы, включая маршрут;
DXF_x1, DXF_y1 и т. п. – численные величины, представляющие координаты в DXFLфайле; MI_x1, MI_y1 и т. п. – численные величины, представляющие координаты в таблице MapInfo; DXF_layer_name – строковая величина, имя слоя в DXFLфайле.
Описание:
Оператор Import используется для создания новой таблицы MapInfo путем импорта данных из другого файла. Для создания таблиц MapInfo из таблиц других программ или из баз данных используйте оператор Register Table.
Параметр new_table из предложения Into задает имя файла для новой таблицы и расположение его на диске. Если предложение Into отсутствует в операторе, то таблица будет создана в каталоге оригинала и с таким же именем. Например, в среде Windows, если импортируемый файл называется WORLD.MIF, то новая таблица по умолчанию будет называться WORLD.TAB.
264 |
Справочник MapBasic |
Оператор Import
Предложение Type может задавать формат файла, из которого импортируются данные. Параметр file type должен принимать одно из следующих строковых значений:
Предложение Type |
Формат файла |
Type ”DXF” |
DXF (формат, поддерживаемый CADLпрограммами, такими как AutoL |
|
CAD). |
Type ”MIF” |
MIF / MID (файлы в этом формате содаются экспортом таблицы MapL |
|
Info). |
Type ”PICT” |
PICT (используется только в Macintosh). |
Type ”MBI” |
MapInfo Boundary Interchange (формат используется MapInfo версии |
|
для DOS). |
Type ”MMI” |
MapInfo Map Interchange (формат используется MapInfo версии для |
|
DOS). |
Type ”IMG” |
MapInfo Image file (формат используется MapInfo версии для DOS). |
Если предложение Type в операторе не участвует, MapInfo пытается определить формат по расширению в имени файла. Например, имя “PARCELS.DXF” предполагает формат DXF.
Если таблица с заданным именем уже существует, MapInfo создаст таблицу, записав ее поверх старой, только когда в Import используется слово Overwrite. Если слово Overwrite опущено и таблица с заданным именем уже есть на диске, MapInfo не будет переписывать ее.
Режимы импорта файлов формата DXF
Для импорта данных из DXFLфайла, используется второй вариант синтаксиса оператора Import, который может включать нижеописанные специфические для формата DXF предложения и ключевые слова. Заметим, что следует обратить внимание на важность порядка следования предложений в операторе. Изменение этого порядка может привести к ошибке компилирования.
Warnings On или Warnings Off
Управляет показом предупреждающего диалогового окна, которое сопровождает операцию импорта. По умолчанию режим выключен.
Preserve AttributeData
Это предложение используется для импорта атрибутов из DXFLфайла.
Preserve Blocks As MultiPolygonRgns
Использование этого предложения приводит к тому, что MapInfo импортирует в сложные области (состоящие из нескольких полигонов) блоки формата DXF. Если предложение не используется, то каждый многоугольник DXF будет соответствовать полигону MapInfo.
CoordSys
Управляет проекцией и координатной системой таблицы. Предложение CoordSys детально описано в этом Справочнике отдельно.
Autoflip
Включает режим, при котором в результате импорта зеркально изменятся XLкоординаты относительно вертикальной оси симметрии, расположенной в середине Карты. Данный режим
Справочник MapBasic |
265 |
Оператор Import
используется только с таблицами, имеющими проекцию плана.
Transform
Предложение задает координатное искажение. Вы задаете минимальные и максимальные координаты по оси X и Y в импортируемом файле и, соответствующие им, минимальные и максимальные координатные пары для будущей таблицы MapInfo.
Read Integer As Decimal
Переводит численные данные DXF целого типа в колонку таблицы десятичного (Decimal) типа. Это предложение используется только вместе с предложением Preserve AttributeData.
Read Float As Decimal
Переводит численные данные DXF с плавающей запятой в колонку таблицы десятичного (Decimal) типа. Это предложение используется только вместе с предложением Preserve AttributeData.
Store [ Handles ] [ Elevation ] [ VisibleOnly ]
Если используется ключевое слово Handles, то MapInfo помещает в колонку под именем “_DXFHandle” уникальные IDLномера графических объектов. Ключевое слово Elevation позволяет хранить в таблице MapInfo колонку со значениями высоты “_DXFElevation”. (Для линий MapInfo сохраняет высоту средней точки линии; для областей MapInfo сохраняет среднее значение высоты.) Если используется слово VisibleOnly, то MapInfo игнорирует невидимые объекты.
Layer ...
Если это предложение не используется, то все объекты из DXFLфайла будут импортированы в одну таблицу MapInfo. Если оператор включает одно или несколько предложений Layer, то тот DXFLслой, который будет Вами назван, импортируется в отдельную таблицу MapInfo.
Если DXFLфайл содержит несколько слоев и, если оператор Import содержит один или несколько предложений Layer, то MapInfo импортирует только те слои, которые будут названы параметром DXF_layer_name. Например, предполжим, что DXFLфайл содержит четыре слоя (слой 0, 1, 2 и 3). Следующий оператор Import импортирует все четыре слоя в одну таблицу MapInfo:
Import ”FLOORS.DXF”
Into ”FLOORS.TAB”
Preserve AttributeData
Следующий оператор импортирует только слои 1 и 3, но не импортирует слои 0 и 2:
Import ”FLOORS.DXF”
Layer ”1”
Into ”FLOOR_1.TAB”
Preserve AttributeData
Layer ”3”
Into ”FLOOR_3.TAB”
Preserve AttributeData
Пример:
Следущий пример импортирует файл формата MIF (MapInfo Interchange Format):
Import ”WORLD.MIF”
Type ”MIF”
Into ”world_2.tab”
Map From world_2
Смотрите также:
Export
266 |
Справочник MapBasic |