- •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( )
Функция IsPenWidthPixels()
Функция IsPenWidthPixels()
Назначение:
Функция IsPenWidthPixels определяет в каких величинах измеряется ширина линии - в пикселах или в пунктах.
Синтаксис:
IsPenWidthPixels ( penwidth )
penwidth - это малое целое, определяющее ширину линии.
Возвращаемое значение:
Истинно, если ширина линии задана в пикселах, ложно, если ширина задана в пунктах.
Описание:
Функция IsPenWidthPixels( ) возвранит истинное значение, если ширина линии задана в пикселах. Ширина линии может быть определена использованием функции StylAttr( ).
Пример:
Include “MAPBASIC.DEF”
Dim CurPen As Pen
Dim Width As Integer
Dim PointSize As Float
CurPen = CurrentPen()
Width = StyleAttr(CurPen, PEN_WIDTH)
If Not IsPenWidthPixels(Width) Then
PointSize = PenWidthToPoints(Width)
End If
Смотрите также:
CurrentPen(), MakePen(),Pen, PenWidthToPoints()
Справочник MapBasic |
293 |
Оператор Kill
Оператор Kill
Назначение:
Удаляет файл с диска.
Синтаксис:
Kill filespec
где
filespec – строка, представляющая имя файла и, если необходимо, DOS-маршрут.
Описание:
Оператор Kill удаляет файл с диска. Действие оператора нельзя отменить потом, поэтому рекомендуется применять его с осторожностью.
Пример:
Kill ”C:\TEMP\JUNK.TXT”
Смотрите также:
Open File
294 |
Справочник MapBasic |
Функция LabelFindByID( )
Функция LabelFindByID( )
Назначение:
Инициализирует внутренний указатель подписи, так что Вы можете запросить подпись из определенной строки в слое Карты.
Синтаксис:
LabelFindByID(map_window_id , layer_number , row_id , table , b_mapper)
map_window_id – целочисленный индекс окна id, определяющий окно Карты;
layer_number – номер слоя в текущем окне Карты (например, 1 для верхнего слоя);
row_id – положительное целочисленное значение, указывающее номер строки, в которой запрашивается подпись;
table – имя таблицы или пустой строки (“”): когда Вы делаете запрос к таблице, входящей в сшитую таблицу, укажите имя такой таблицы, входящей в сшитую; в противном случае, укажите пустую строковую переменную;
b_mapper – логическая величина. “Да” (TRUE) при запросе подписей, которые появляются при активном окне Карты; “Нет” (FALSE) при запросе подписей, которые появляются, когда Карта помещена в Отчет.
Величина, полученная в результате:
Логическая величина: “Да” (TRUE) означает, что подпись существует в определенной строке.
Описание:
Вызывайте LabelFindByID( ) когда Вы хотите запросить подпись из определенной строки в слое Карты. Если величина, полученная в результате – “Да” (TRUE), то подпись существует в строке, и Вы можете запросить подпись вызовом функции Labelinfo( ).
Пример:
Следующий пример изображает карту мира, автоматически ее подписывает и затем определяет, была ли изображена подпись из определенной строки таблицы.
Include ”mapbasic.def”
Dim b_morelabels As Logical
Dim i_mapid As Integer
Dim obj_mytext As Object
Open Table ”World” Interactive As World
Map From World
i_mapid = FrontWindow()
Set Map Window i_mapid Layer 1 Label Auto On
’Убедитесь, что все подписи изображены, перед тем как мы продолжим...
Update Window i_mapid
’Теперь посмотрим, подписана ли автоматически строка # 1
Справочник MapBasic |
295 |
Функция LabelFindByID( )
b_morelabels = LabelFindByID(i_mapid, 1, 1, ””, TRUE)
If b_morelabels Then
’ Объект подписан, теперь запросим его подпись.
obj_mytext = LabelInfo(i_mapid, 1, LABEL_INFO_OBJECT)
’ В этом месте |
Вы можете |
сохранить объект obj_mytext |
|
’ в |
постоянной |
таблице; |
или можете запросить его |
’ с |
помощью функций ObjectInfo() или ObjectGeography(). |
End If
Смотрите также:
LabelFindFirst( ), LabelFindNext( ), Labelinfo( )
296 |
Справочник MapBasic |
Функция LabelFindByID( )
Функция LabelFindFirst( )
Назначение:
Инициализирует внутренний указатель подписи, так что Вы можете запросить первую подпись на слое Карты.
Синтаксис:
LabelFindFirst(map_window_id , layer_number , b_mapper)
map_window_id – целочисленный индекс окна id, определяющий окно Карты;
layer_number – номер слоя в текущем окне Карты (например, 1 для верхнего слоя);
b_mapper – логическая величина. “Да” (TRUE) при запросе подписей, которые появляются при активном окне Карты; “Нет” (FALSE) при запросе подписей, которые появляются, когда Карта помещена в Отчет.
Величина, полученная в результате:
Логическая величина: “Да” (TRUE) означает, что подпись существует в определенном слое (либо подписи видимы в данный момент, либо пользователь их редактировал, либо эти редактированные подписи в данный момент невидимы).
Описание:
Вызовите функцию LabelFindFirst( ) когда Вам понадобится запросить подписи на слое Карты в цикле. Запрос подписей является процессом из двух шагов:
1.Установите внутренний указатель подписи MapBasic’а вызовом одной из следующих функций:
LabelFindFirst( ), LabelFindNext( ) или LabelFindByID( ).
2.Если функция, которую Вы вызвали на шаге 1, не возвращает “Нет” (FALSE), Вы можете запросить текущую подпись вызовом функции Labelinfo( ).
Для продолжения запроса дополнительных подписей, вернитесь к шагу 1.
Пример:
Для примера, смотрите Labelinfo( ).
Смотрите также:
LabelFindByID( ), LabelFindNext( ), Labelinfo( )
Справочник MapBasic |
297 |
Функция LabelFindNext( )
Функция LabelFindNext( )
Назначение:
Перемещает внутренний указатель подписи, так что Вы можете запрашивать следующую подпись на слое Карты.
Синтаксис:
LabelFindNext(map_window_id , layer_number)
map_window_id – целочисленный индекс окна id, определяющий окно Карты;
layer_number – номер слоя в текущем окне Карты (например, 1 для внешнего слоя).
Величина, полученная в результате:
Логическая величина: “Да” (TRUE) означает, что указатель подписи передвинут к следующей подписи; “Нет” (FALSE) означает, что на этом слое более нет подписей.
Описание:
После того, как Вы вызовете LabelFindFirst( ), чтобы начать запрос подписей, можно вызвать функцию LabelFindNext( ), чтобы переместиться к следующей подписи на этом же слое.
Пример:
Для примера смотрите Labelinfo( ).
Смотрите также:
LabelFindByID( ), LabelFindFirst( ), Labelinfo( )
298 |
Справочник MapBasic |
Функция Labelinfo( )
Функция Labelinfo( )
Назначение:
Возвращает информацию о подписи на Карте.
Синтаксис:
Labelinfo( map_window_id , layer_number , attribute )
map_window_id – целочисленный индекс окна id, определяющий окно Карты; layer_number – номер слоя в текущем окне Карты (например, 1 для верхнего слоя); attribute – код, указывающий тип возвращаемой информации, см. таблицу ниже.
Величина, полученная в результате:
Тип результата зависит от значения параметра attribute.
Описание:
Функция Labelinfo( ) возвращает информацию о подписи в окне Карты. Обратите внимание на то, что подписи отличаются от текстовых объектов. Для запроса текстовых объектов используйте функции ObjectInfo( ) или ObjectGeography( ).
Перед вызовом Labelinfo( ) Вы должны инициализировать внутренний указатель подписей MapBasic, используя функции LabelFindFirst( ), LabelFindNext( ) или LabelFindByID( ). Смотрите пример ниже.
Параметр attribute должен быть одним из кодов, которые приведены в следующей таблице; коды определены в MAPBASIC.DEF.
коды attribute |
Величина, полученная в результате действия |
|
Labelinfo( ) |
|
|
LABEL_INFO_ANCHORX |
Величина типа Float, указывает X-координату места |
|
привязки подписи. |
LABEL_INFO_ANCHORY |
Величина типа Float, указывает Y-координату места |
|
привязки подписи. |
LABEL_INFO_DRAWN |
Логическая величина; “Да” (TRUE) если подпись в |
|
текущий момент видима. |
LABEL_INFO_EDIT |
Логическая величина; “Да” (TRUE) если подпись |
|
редактировалась. |
LABEL_INFO_EDIT_ANCHOR |
Логическая величина; “Да” (TRUE) если подпись |
|
переместилась. |
LABEL_INFO_EDIT_ANGLE |
Логическая величина; “Да” (TRUE) если угол наклона |
|
подписи изменился. |
LABEL_INFO_EDIT_FONT |
Логическая величина; “Да” (TRUE) если шрифт |
|
подписи изменился. |
LABEL_INFO_EDIT_OFFSET |
Логическая величина; “Да” (TRUE) если растояние в |
|
точках от подписи до места прикрепления изменилось. |
LABEL_INFO_EDIT_PEN |
Логическая величина; “Да” (TRUE) если стиль линии |
|
указки изменился. |
Справочник MapBasic |
299 |
Функция Labelinfo( )
LABEL_INFO_EDIT_POSITION |
Логическая величина; “Да” (TRUE) если позиция |
|
подписи (относительно места прикрепления) |
|
изменилась. |
LABEL_INFO_EDIT_TEXT |
Логическая величина; “Да” (TRUE) если текст |
|
подписи изменился. |
LABEL_INFO_EDIT_TEXTARROW |
Логическая величина; “Да” (TRUE) если стрелка |
|
указки подписи изменилась. |
LABEL_INFO_EDIT_TEXTLINE |
Логическая величина; “Да” TRUE если указка |
|
переместилась. |
LABEL_INFO_EDIT_VISIBILITY |
Логическая величина; “Да” (TRUE) если видимость |
|
подписи установлена на “Скрыть” (OFF). |
LABEL_INFO_OBJECT |
Возвращает текстовый объект, который практически |
|
является подписью. Эта функция позволяет |
|
конвертировать подпись в текстовый объект, который |
|
Вы можете сохранить в постоянной таблице. |
LABEL_INFO_OFFSET |
Целочисленное значение от 0 до 50, показывающее |
|
расстояние (в точках) от подписи до места |
|
прикрепления. |
LABEL_INFO_POSITION |
Целочисленное значение от 0 до 8, показывающее |
|
положение подписи относительно места |
|
прикрепления. Величина, полученная в результате |
|
соответствует одному из следующих кодов: |
|
LAYER_INFO_LBL_POS_CC (0), |
|
LAYER_INFO_LBL_POS_TL (1), |
|
LAYER_INFO_LBL_POS_TC (2), |
|
LAYER_INFO_LBL_POS_TR (3), |
|
LAYER_INFO_LBL_POS_CL (4), |
|
LAYER_INFO_LBL_POS_CR (5), |
|
LAYER_INFO_LBL_POS_BL (6), |
|
LAYER_INFO_LBL_POS_BC (7), |
|
LAYER_INFO_LBL_POS_BR (8). |
|
Наример, если подпись ниже и правее места |
|
прикрепления, ее позиция обозначается кодом 8; если |
|
подпись располагается выше и левее места |
|
прикрепления, ее код будет 1. |
LABEL_INFO_ROWID |
Целочисленное значение, представляющее индекс ID |
|
строки, в которой расположена подпись; возвращает 0, |
|
если подписи не существует. |
LABEL_INFO_SELECT |
Логическая величина; “Да”(TRUE) если подпись |
|
выбрана. |
LABEL_INFO_TABLE |
Строковая величина, представляющая имя таблицы, в |
|
которой находится данная подпись. Используется при |
|
работе с сшитой таблицей, в том случае, если Вам надо |
|
узнать в какой из составляющих ее таблиц находится |
|
данная подпись. |
300 |
Справочник MapBasic |
Функция Labelinfo( )
Пример:
Следующий пример показывает, как в цикле идет поиск подписи среди других подписей в определенной строке, используя функцию Labelinfo( ), запрашивающую каждую подпись.
Dim b_morelabels As Logical
Dim i_mapid, i_layernum As Integer
Dim obj_mytext As Object
’ В этом месте Вы присваиваете окну Карты ID индекс i_mapid,
’ и присваиваете слою номер i_layernum.
b_morelabels = LabelFindFirst(i_mapid, i_layernum, TRUE)
Do While b_morelabels
obj_mytext = LabelInfo(i_mapid, i_layernum, LABEL_INFO_OBJECT)
’ В |
этом месте |
Вы можете |
сохранить объект obj_mytext |
|
’ в |
постоянной |
таблице; |
или можете запросить его, |
|
’ вызывая функции ObjectInfo() или |
ObjectGeography(). |
|||
b_morelabels = |
LabelFindNext(i_mapid, |
i_layernum) |
Loop
Смотрите также:
LabelFindByID( ), LabelFindFirst( ), LabelFindNext( )
Справочник MapBasic |
301 |
Функция LayerInfo( )
Функция LayerInfo( )
Назначение:
Возвращает информацию о слое в окне Карты.
Синтаксис:
LayerInfo(mapper_window_id, layer_number, attribute )
где
mapper_window_id – идентификатор окна Карты;
layer_number – номер слоя (1 – самый верхний слой); чтобы определить номер слоя в окне Карты, обратитесь к функции MapperInfo( ).
attribute – целочисленный код.
Величина, полученная в результате:
Тип величины зависит от значения attribute.
Предупреждение:
Многие коды в функции LayerInfo( ) используются только для "нормальных" слоев Карты, то есть функция не всегда применима к Косметическому слою, тематическому слою (слою, содержащему результат условного выделения) и слою с растровыми изображениями.
Описание:
Функция LayerInfo( ) возвращает информацию об определенном слое в окне Карты mapper_window_id. Параметр layer_number задает слой на карте (0 – Косметический слой, 1 – самый верхний слой, и т. д.). Параметр attribute должен принимать значения целочисленного кода, управляющего типом возвращаемой функцией информации. В следующей таблице в первой колонке приводятся для этих кодов имена, которые установлены в файле стандартных определений MapBasic MAPBASIC.DEF. Отсюда также можно запросить настройки Hotlink, используя аттрибуты Layer_Hotlink.
attribute code |
LayerInfo( ) Возвращаемое значение |
LAYER_INFO_NAME |
Строка (тип String), содержащая имя таблицы, |
|
данные которой представлены на этом слое. Если |
|
слой Косметический, то строка будет |
|
"Cosmetic1". Имя может быть использовано в |
|
следующих операторах (например, Select). |
LAYER_INFO_EDITABLE |
Логическая величина (тип Logical), |
|
показывающая, изменяем ли слой или нет; |
|
TRUE если слой изменяемый. |
LAYER_INFO_LBL_PARTIALSEGS |
Логическая величина; TRUE если флажок Label |
|
Partial Objects установлен для этого слоя. |
LAYER_INFO_SELECTABLE |
Логическая величина (тип Logical), |
|
показывающая, доступен ли слой или нет; TRUE |
|
если слой изменяемый. |
LAYER_INFO_PATH |
Строка (тип String), содержащая DOS0маршрут, |
|
по которому находится файл таблицы, данные |
|
которой представлены на этом слое. |
302 |
Справочник MapBasic |
Функция LayerInfo( )
LAYER_INFO_ZOOM_LAYERED
LAYER_INFO_ZOOM_MIN
LAYER_INFO_ZOOM_MAX
LAYER_INFO_COSMETIC
LAYER_INFO_DISPLAY
LAYER_INFO_OVR_LINE
LAYER_INFO_OVR_PEN
LAYER_INFO_OVR_BRUSH
LAYER_INFO_OVR_SYMBOL
LAYER_INFO_OVR_FONT
LAYER_INFO_LBL_CURFONT
Логическая величина (тип Logical), показывающая, применяется ли масштабный эффект для данного слоя; TRUE если масштабный эффект применяется.
Число (тип Float), минимальный порог для масштабного эффекта (в текущих в MapBasic единицах измерения расстояний). Для установки единиц измерения расстояний используется оператор Set Distance Units.
Число (тип Float), максимальный порог для масштабного эффекта.
Логическая величина (тип Logical). "Да" (TRUE), если данный слой косметический.
Целочисленный код (тип SmallInt), говорящий, как показывается слой:
LAYER_INFO_DISPLAY_OFF (слой не отображается);
LAYER_INFO_DISPLAY_GRAPHIC (объекты слоя появляются в “стандартном” стиле—стили хранятся в таблице);
LAYER_INFO_DISPLAY_GLOBAL (объекты слоя появляются в “измененном” стиле, определенном в диалоге Управление слоями);
LAYER_INFO_DISPLAY_VALUE (объекты в этом слое появляются в тематической раскраске)
Стиль линии, используемый для отображения линейных объектов.
Стиль линии, используемый для отображения контуров площадных объектов.
Стиль штриха, используемый для отображения объектов, имеющих площадь.
Стиль символа, используемый для отображения точечных объектов.
Стиль шрифта, используемый для отображения текстовых объектов.
Логическая величина.
Вприложениях, откомпилированных с MapBasic версии 4.0 или позднее результат всегда будет “Нет”.
Вприложениях, откомпилированных с MapBasic версии 3.x, результатом будет:
Справочник MapBasic |
303 |
Функция LayerInfo( )
LAYER_INFO_LBL_FONT
LAYER_INFO_LBL_EXPR
LAYER_INFO_LBL_LT
LAYER_INFO_LBL_PARALLEL
LAYER_INFO_LBL_POS
LAYER_INFO_LBL_VISIBILITY
304
"Да" (TRUE), если слой использует текущую установку для стиля шрифта, или "Нет" (FALSE), если слой использует специальную установку для стиля шрифта (смотрите
LAYER_INFO_LBL_FONT).
Стиль шрифта для подписей.
Строка с текстом подписи.
Целочисленный код (тип SmallInt), показывающий, какой тип указки используется:
LAYER_INFO_LBL_LT_NONE (если нет указки)
LAYER_INFO_LBL_LT_SIMPLE (если указка является простой линией)
LAYER_INFO_LBL_LT_ARROW (если указка является линией со стрелкой)
Логическая величина: "Да" (TRUE), если на слое разрешено поворачивать подписи.
Целочисленный код (тип SmallInt), показывающий ориентацию подписи (литера T обозначает верх, литера B – низ, C – центр, R – право, L – лево):
LAYER_INFO_LBL_POS_TL
LAYER_INFO_LBL_POS_TC
LAYER_INFO_LBL_POS_TR
LAYER_INFO_LBL_POS_CL
LAYER_INFO_LBL_POS_CC
LAYER_INFO_LBL_POS_CR
LAYER_INFO_LBL_POS_BL
LAYER_INFO_LBL_POS_BC
LAYER_INFO_LBL_POS_BR
Целочисленная величина, типа Smallint, соответствующая режиму показа подписей на слое (смотрите предложение Visibility оператора Set Map). Результатом будет один из следующих кодов:
LAYER_INFO_LBL_VIS_ON (если подписи на слое видимы)
LAYER_INFO_LBL_VIS_OFF (если подписи на слое невидимы)
Справочник MapBasic
|
Функция LayerInfo( ) |
|
|
|
LAYER_INFO_LBL_VIS_ZOOM (если подписи |
|
видимы в результате масштабного эффекта) |
LAYER_INFO_LBL_ZOOM_MIN |
Действительная величина (тип Float), |
|
минимальное значение показа подписей при |
|
масштабном эффекте. |
LAYER_INFO_LBL_ZOOM_MAX |
Действительная величина (тип Float), |
|
максимальное значение показа подписей при |
|
масштабном эффекте. |
LAYER_INFO_LBL_AUTODISPLAY Логическая величина: TRUE, если слой |
|
|
подписывается автоматически. Смотрите |
|
предложение Auto оператора Set Map. |
LAYER_INFO_LBL_OVERLAP |
Логическая величина: "Да" (TRUE), если |
|
позволяется пересечение подписей. |
LAYER_INFO_LBL_DUPLICATES |
Логическая величина: "Да" (TRUE), если |
|
позволяется дублирование подписей. |
LAYER_INFO_LBL_OFFSET |
Целочисленная величина типа Smallint о 0 до 50, |
|
смещение от подписи до центроида |
|
подписываемого объекта в точках. |
LAYER_INFO_LBL_MAX |
Целочисленная величина типа Integer, |
|
максимальное число подписей, разрешенное для |
|
этого слоя. Если такое число не назначено, то |
|
возвращается число 2 147 483 647. |
LAYER_INFO_LBL_PARTIALSEGS |
Логическая величина: "Да" (TRUE), если |
|
флажок Label Partial Segments для этого слоя |
|
установлен. |
LAYER_INFO_ARROWS |
Логическая величина: "Да" (TRUE), если в |
|
линейных объектах используется стрелка. |
LAYER_INFO_NODES |
Логическая величина: "Да" (TRUE), если |
|
показываются узлы объектов слоя. |
LAYER_INFO_CENTROIDS |
Логическая величина: "Да" (TRUE), если |
|
показываются центроиды объектов слоя. |
LAYER_INFO_SELECTABLE |
Логическая величина: "Да" (TRUE), если слой |
|
изменяемый. |
LAYER_INFO_PATH |
Строка, полный путь к таблице, |
|
ассоциированной со слоем карты. |
LAYER_INFO_TYPE |
Короткое целое, показывающее тип слоя: |
|
LAYER_INFO_TYPE_NORMAL для обычного |
|
слоя; |
|
LAYER_INFO_TYPE_COSMETIC для |
|
Косметического слоя; |
|
LAYER_INFO_TYPE_IMAGE для растрового |
|
слоя; |
Справочник MapBasic |
305 |
Функция LayerInfo( )
|
LAYER_INFO_TYPE_THEMATIC для |
|
тематического слоя. |
|
LAYER_INFO_TYPE_GRID для грида. |
LAYER_HOTLINK_EXPR |
Возвращает выражение имени файла для |
|
Hotlink. |
LAYER_HOTLINK_MODE |
Возвращает режим Нotlink для слоя, одно из |
|
следующих предопределенных значений: |
|
HOTLINK_MODE_LABEL |
|
HOTLINK_MODE_OBJ |
|
HOTLINK_MODE_BOTH |
LAYER_HOTLINK_RELATIVE |
Возвращает "ДА" (True), если указан |
|
относительный адрес. |
Пример
Многие коды из приведенных выше не применимы к Косметическому слою, тематическому
слою и слою с растровым изображением. Функцию LayerInfo( ) с аргументом LAYER_INFO_TYPE используют для определения, каким является слой. Например:
i_lay_type = LayerInfo( map_id, layer_num, LAYER_INFO_TYPE)
If i_lay_type = LAYER_INFO_TYPE_NORMAL Then
’
’ ... then this is a ”normal” layer
’
End If
Смотрите также
MapperInfo( )
306 |
Справочник MapBasic |
Оператор Layout
Оператор Layout
Назначение:
Открывает новое окно Отчета.
Синтаксис:
Layout
[ Position (x, y) [ Units paperunits ] ]
[ Width window_width [ Units paperunits ] ] [ Height window_height [ Units paperunits ] ] [ { Min | Max } ]
где
paperunits – имя единицы измерения (например, "in" – дюйм);
x, y – координаты левого верхнего угла окна Отчета в определенных единицах измерения; window_width – ширина окна;
window_height – высота окна.
Описание:
Оператор Layout создает новое пустое окно Отчета.
Ключевые слова Max и Min используются для открытия окна Отчета на все рабочее окно MapInfo или свертывания в иконку. В системе Macintosh окно не может быть свернуто, поэтому ключ Min игнорируется.
Предложения Width и Height определяют ширину и высоту окна Отчета. Но эти характеристики не влияют на размеры страницы макета. Для назначения размеров страниц и их количества используйте оператор Set Layout.
MapInfo организовывает для каждого окна Отчета специальную, скрытую таблицу, которой дается имя Layoutn. Первому открытому окну Отчета дается имя Layout1 и так далее. Программа, написанная на MapBasic, может создавать, выбирать или изменять объекты в окне Отчета, обращаясь к нему по этому имени. Например, следующий оператор выбирает все объекты в окне Отчета:
Select * From Layout1
Пример:
В следующем примере создается окно Отчета в два дюйма шириной и четыре высотой. Верхний левый угол окна располагается в верхнем левом углу рабочей области MapInfo.
Layout Position (0,0) Width 2 Height 4
Справочник MapBasic |
307 |
Функция LCase$( )
Функция LCase$( )
Назначение:
Возвращает строку, преобразуя все прописные буквы в строчные.
Синтаксис:
LCase$(string_expr)
где
string_expr – строковое выражение.
Величина, полученная в результате:
Строка. Величина типа String.
Описание:
Функция LCase$( ) возвращает строку, полученную из строки, представленной выражением string_expr, преобразованием всех заглавных букв в строчные.
Преобразованию подвергаются только буквы: латинские – от A до Z, и русские – от А до Я. Цифры и другие текстовые символы не преобразуются. Например, функция LCase$("A#12a") равна "a#12a".
Пример:
Dim regular, lower_case As String
regular = "Вышний Волочек"
lower_case = Lcase$(regular)
'
' Первый элемент массива равен строке "вышний волочек",
'
Смотрите также:
Proper$( ), UCase$( )
308 |
Справочник MapBasic |
Функция Left$( )
Функция Left$( )
Назначение:
Возвращает левую часть строки, выделяя определенное количество символов из исходной.
Синтаксис:
Left$(string_expr, num_expr)
где
string_expr – строковое выражение;
num_expr – численное выражение, результат которого ноль или более.
Величина, полученная в результате:
Строка. Величина типа String.
Описание:
Функция Left$( ) возвращает строковую величину, полученную из исходной строки, представленной выражением string_expr, путем выделения первых символов. Количество символов задается вторым параметром num_expr.
В результате вычисления выражения num_expr должно получаться целое положительное число, не равное нулю. Если численный параметр меньше единицы, то функция Left$( ) вернет пустую строку. Если численный параметр num_expr больше, чем число символов в строке string_expr, результат функции Left$( ) будет равен строке, представленной выражением string_expr.
Пример:
Dim whole, partial As String
whole = "Казахстан" partial = Left$(whole, 5)
'
' переменная partial теперь равна строке "Казах"
'
Смотрите также:
Mid$( ), Right$( )
Справочник MapBasic |
309 |
Функция LegendFrameInfo( )
Функция LegendFrameInfo( )
Назначение
Возврашает информацию о разделе в легенде.
Синтаксис
LegendFrameInfo( window_id, frame_id, attribute )
window_id - число, указывающее какое окно легенды Вы хотите опросить.
frame_id - число, указывающее какой раздел в окне легенды Вы хотите опросить. Разделы пронумерованы от 1 до n где n это номер в легенде.
attribute - это целочисленный код, указывающий какой тип информации возвращается.
Возвращаемое значение
Оно зависит от параметра атрибутов.
Коды атрибута
FRAME_INFO_TYPE
FRAME_INFO_MAP_LAYER_ID FRAME_INFO_REFRESHABLE
FRAME_INFO_POS_X
FRAME_INFO_POS_Y
FRAME_INFO_WIDTH FRAME_INFO_HEIGHT FRAME_INFO_TITLE FRAME_INFO_TITLE_FONT
FRAME_INFO_SUBTITLE FRAME_INFO_SUBTITLE_FONT FRAME_INFO_BORDER_PEN FRAME_INFO_NUM_STYLES FRAME_INFO_VISIBLE
Возвращает одно из следующих предопределенных констант, определяющих тип раздела:
FRAME_TYPE_STYLE
FRAME_TYPE_THEME
Возвращает индекс id слоя, с которым соотносится раздел.
Возвращает true если раздел был создан без ключевого слова Norefresh. Всегда возвращает true для тематических разделов.
Возвращает расстояние от верхнего левого угла раздела до левого края канвы легенды (в бумажных единицах).
Возвращает расстояние от верхнего левого угла раздела до верхнего края канвы легенды (в бумажных единицах).
Возвращает ширину раздела (в бумажных единицах).
Возвращает высоту раздела (в бумажных единицах).
Возвращает заголовок раздела или тематического раздела.
Возвращает шрифт заголовка раздела. Возвращает стандартный шрифт заголовка, если раздел не имеет заголовка или это тематический раздел.
Возвращает подзаголовок раздела.
Шрифт подзаголовка раздела.
Возвращает параметры линии, использованной для рамки.
Возвращает число типа раздела. Ноль для тематического раздела.
Возвращает true если раздел видимый (тематические разделы могут быть невидимыми).
310 |
Справочник MapBasic |
|
|
Функция LegendFrameInfo( ) |
|
|
|
FRAME_INFO_COLUMN |
Возвращает атрибуты имени колонки для легенды в виде строки. |
|
|
|
Возвращает пустую строку, если раздел тематический. |
FRAME_INFO_LABEL |
Возвращает выражение подписи в виде строки. Возвращает пустую |
|
|
|
строку для тематического раздела. |
Справочник MapBasic |
311 |
Функция LegendInfo( )
Функция LegendInfo( )
Назначение
Возвращает информацию о легенде.
Синтаксис
LegendInfo( window_id, attribute )
window_id - это число, указывающее, какое окно легенды Вы опрашиваете.
attribute - это целочисленный код, указывающий, какой тип информации возвращается.
Возвращаемое значение
Зависит от атрибута параметра. |
|
Код атрибута |
Описание |
LEGEND_INFO_MAP_ID |
Возвращает id материнского окна карты (можно так |
|
же получить это значение из WindowInfo() с кодом |
|
WIN_INFO_TABLE). |
LEGEND_INFO_ORIENTATION |
Возвращает предопределенное значение, |
|
характеризующее ориентацию легенды: |
ORIENTATION_PORTRAIT ORIENTATION_LANDSCAPE ORIENTATION_CUSTOM LEGEND_INFO_NUM_FRAMES
Возвращает ориентацию бумаги
Возвращает ориентацию бумаги
Возвращает ориентацию бумаги
Возвращает число разделов в легенде.
Смотрите также:
Функция LegendStyleInfo( )
312 |
Справочник MapBasic |
Функция LegendStyleInfo( )
Функция LegendStyleInfo( )
Назначение
Возвращает информацию о стиле, используемом в разделе легенды.
Синтаксис
LegendInfo( window_id,, frame_id, style_id, attribute )
window_id - это число, указывающее, какое окно легенды Вы хотите опросить.
frame_id это число, определяющее, какой раздел в легенде Вы хотите опросить. Разделы пронумерованы от 1 до n где n это число всех разделов в легенде.
style_id это число, определяющее, какой стиль внутри раздела Вы хотите опросить. Стили пронумерованы от 1 до n где n это число стилей в разделе.
attribute - это целочисленный код, показывающий, какой тип информации врозвращается.
Возвращение
Код атрибутаОписание
LEGEND_STYLE_INFO_TEXTВозвращает текст стиля. LEGEND_STYLE_INFO_FONTВозвращает шрифт стиля. LEGEND_STYLE_INFO_OBJВозвращает объект стиля.
Сообщение об ошибке
Генерируется сообщение об ошибке, когда раздел не имеет стилей (тематический раздел).
Смотрите также
LegendInfo( )
Справочник MapBasic |
313 |
Функция Len( )
Функция Len( )
Назначение:
Возвращает количество символов в строке или число байтов в переменной.
Синтаксис:
Len(expr)
где expr – выражение (не используются типы Pen, Brush, Symbol, Font и Alias).
Величина, полученная в результате:
Короткое целое число. Величина типа SmallInt.
Описание:
Информация, которую несет величина, возвращаемая функцией Len( ), зависит от параметра expr.
Если выражение expr является строкой, то функция Len( ) вернет количество символов в строке.
Если expr – переменная MapBasic, то результат функции Len( ) будет размером переменной в байтах. Так, если тип переменной был объявлен как Integer (целое число), то функция Len( ) возвращает 4 (четыре), т. к. переменной типа Integer отводится 4 байта. Для переменной типа SmallInt (короткое целое число), результатом будет двойка, т. к. переменной типа SmallInt отводится 2 байта.
Пример:
Dim name_length As SmallInt
name_length = Len("Москва")
' переменная name_length равна 6
Смотрите также:
ObjectLen( )
314 |
Справочник MapBasic |
Функция Like( )
Функция Like( )
Назначение:
Возвращает TRUE или FALSE, сравнивая строку с шаблоном.
Синтаксис:
Like(string, pattern_string, escape_char)
где
string – строка;
pattern_string – шаблон для сравнения, который является строкой, состоящей из регулярных и специальных символов;
escape_char – строковое выражение, задающее символ (например, "/"), отменяющий специальный символ, если он явно должен использоваться в шаблоне. Если отменяющий символ не назначается, то используется пустая строка (“”).
Величина, полученная в результате:
Логическая. Величина типа Logical.
Описание:
Функция Like( ) определяет, подходит ли строка string под шаблон pattern_string. Шаблон представляет собой строку из регулярных символов и специальных. При сравнении регулярные символы должны совпадать с соответствующими символами в строке string, причем строчные и прописные буквы различаются. Специальные символы задают неопределенное совпадение:
_ (знак подчеркивания) |
соответствует одному символу; |
% (percent) |
соответствует нескольким символам или не одному. |
Для явного задания знаков подчеркивания и процента они используются вместе с символом escape_char перед специальным. Примеры приведены в следующей таблице:
Критерий совпадения |
|
Вызов функции |
Начало с "South" |
|
Like( string_var, "South%", "" ) |
|
||
Окончание "America" |
|
Like( string_var, "%America", "" ) |
Используется "ing" в любом месте |
|
Like( string_var, "%ing%", "" ) |
Начало с подчеркивания |
|
Like( string_var, "\_%", "\") |
Справочник MapBasic |
315 |