- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Функция Labelinfo( )
Функция Labelinfo( )
Назначение:
Возвращает информацию о подписи на Карте.
Синтаксис:
Labelinfo( map_window_id , layer_number , attribute )
map_window_id – целочисленный индекс окна id, определяющий окно Карты; layer_number – номер слоя в текущем окне Карты (например, 1 для верхнего слоя); attribute – код, указывающий тип возвращаемой информации, см. таблицу ниже.
Величина, полученная в результате:
Тип результата зависит от значения параметра attribute.
Описание:
Функция Labelinfo( ) возвращает информацию о подписи в окне Карты. Обратите внимание на то, что подписи отличаются от текстовых объектов. Для запроса текстовых объектов используйте функции ObjectInfo( ) или ObjectGeography( ).
Перед вызовом Labelinfo( ) Вы должны инициализировать внутренний указатель подписей MapBaL sic, используя функции LabelFindFirst( ), LabelFindNext( ) или LabelFindByID( ). Смотрите пример ниже.
Параметр attribute должен быть одним из кодов, которые приведены в следующей таблице; коды определены в MAPBASIC.DEF.
коды attribute |
Величина, полученная в результате действия |
|
Labelinfo( ) |
|
|
LABEL_INFO_ANCHORX |
Величина типа Float, указывает XLкоординату места |
|
привязки подписи. |
LABEL_INFO_ANCHORY |
Величина типа Float, указывает YLкоординату места |
|
привязки подписи. |
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) если стиль линии |
|
указки изменился. |
280 |
Справочник MapBasic |
Функция 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 |
Строковая величина, представляющая имя таблицы, в |
|
которой находится данная подпись. Используется при |
|
работе с сшитой таблицей, в том случае, если Вам надо |
|
узнать в какой из составляющих ее таблиц находится |
|
данная подпись. |
Справочник MapBasic |
281 |
Функция 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( )
282 |
Справочник MapBasic |
Функция 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.
Справочник MapBasic |
283 |
Функция LayerInfo( )
Значение attribute
LAYER_INFO_NAME
LAYER_INFO_EDITABLE
LAYER_INFO_SELECTABLE
LAYER_INFO_PATH
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
284
Результат
Строка (тип String), содержащая имя таблицы, данные которой представлены на этом слое. Если слой Косметический, то строка будет "Cosmetic1". Имя может быть использовано в следующих операторах (например, Select).
Логическая величина (тип Logical), показывающая, изменяем ли слой или нет.
Логическая величина (тип Logical), показывающая, доступен ли слой или нет.
Строка (тип String), содержащая DOSLмаршрут, по которому находится файл таблицы, данные которой представлены на этом слое.
Логическая величина (тип Logical), показывающая, применяется ли масштабный эффект для данного слоя.
Число (тип Float), минимальный порог для масштабного эффекта (в текущих в MapBasic единицах измерения расстояний). Для установки единиц измерения расстояний используется оператор Set Dis4 tance Units.
Число (тип Float), максимальный порог для масштабного эффекта.
Логическая величина (тип Logical). "Да" (TRUE), если данный слой косметический.
Целочисленный код (тип SmallInt), говорящий, как показывается слой: LAYER_INFO_DISPLAY_OFF LAYER_INFO_DISPLAY_GRAPHIC LAYER_INFO_DISPLAY_GLOBAL LAYER_INFO_DISPLAY_VALUE
Стиль линии, используемый для отображения линейных объектов.
Стиль линии, используемый для отображения контуров объектов, имеющих площадь.
Стиль штриха, используемый для отображения объектов, имеющих площадь.
Справочник MapBasic
Функция LayerInfo( )
LAYER_INFO_OVR_SYMBOL
LAYER_INFO_OVR_FONT
LAYER_INFO_LBL_CURFONT
LAYER_INFO_LBL_FONT
LAYER_INFO_LBL_EXPR LAYER_INFO_LBL_LT
LAYER_INFO_LBL_PARALLEL
LAYER_INFO_LBL_POS
Стиль символа, используемый для отображения точечных объектов.
Стиль шрифта, используемый для отображения текстовых объектов.
Логическая величина.
Вприложениях, откомпилированных с MapBasic версии 4.0 результат всегда будет “Нет”.
Вприложениях, откомпилированных с MapBasic версии 3.x, результатом будет:
"Да" (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
Справочник MapBasic |
285 |
Функция LayerInfo( )
LAYER_INFO_LBL_VISIBILITY
LAYER_INFO_LBL_ZOOM_MIN
LAYER_INFO_LBL_ZOOM_MAX
LAYER_INFO_LBL_AUTODISPLAY
LAYER_INFO_LBL_OVERLAP
LAYER_INFO_LBL_DUPLICATES
LAYER_INFO_LBL_OFFSET
LAYER_INFO_LBL_MAX
LAYER_INFO_ARROWS
LAYER_INFO_NODES
LAYER_INFO_CENTROIDS
286
Целочисленная величина, типа Smallint, соответствующая режиму показа подписей на слое (смотрите предложение Visibility оператора Set Map). Результатом будет один из следующих кодов: LAYER_INFO_LBL_VIS_ON, если подписи на слое видимы;
LAYER_INFO_LBL_VIS_OFF, если подписи на слое невидимы;
LAYER_INFO_LBL_VIS_ZOOM, если подписи видимы в результате масштабного эффекта.
Действительная величина (тип Float), минимальное значение показа подписей при масштабном эффекте.
Действительная величина (тип Float), максимальное значение показа подписей при масштабном эффекте.
Логическая величина: TRUE, если слой подписывается автоматически. Смотрите предложение Auto оператора
Set Map.
Логическая величина: "Да" (TRUE), если позволяется пересечение подписей.
Логическая величина: "Да" (TRUE), если позволяется дублирование подписей.
Целочисленная величина типа Smallint о 0 до 50, смещение от подписи до центроида подписываемого объекта в точках.
Целочисленная величина типа Integer, максимальное число подписей, разрешенное для этого слоя. Если такое число не назначено, то возвращается число 2 147 483 647.
Логическая величина: "Да" (TRUE), если в линейных объектах используется стрелка.
Логическая величина: "Да" (TRUE), если показываются узлы объектов слоя.
Логическая величина: "Да" (TRUE), если показываются центроиды объектов слоя.
Справочник MapBasic
Функция LayerInfo( )
LAYER_INFO_TYPE
Пример:
Целочисленный код (тип SmallInt), показывающий тип слоя:
LAYER_INFO_TYPE_NORMAL, если слой нормальный; LAYER_INFO_TYPE_COSMETIC, если слой Косметический;
LAYER_INFO_TYPE_IMAGE, если слой растровый; LAYER_INFO_TYPE_THEMATIC, если слой тематический.
Многие коды из приведенных выше не применимы к Косметическому слою, тематическому слою и слою с растровым изображением. Функцию LayerInfo( ) с аргументом LAYER_INFO_TYPE используют для определения, каким является слой. Например:
i_lay_type = LayerInfo( map_id, layer_num, LAYER_INFO_TYPE)
If i_lay_type = LAYER_INFO_TYPE_NORMAL Then
'
' ... то это "нормальный" слой
'
End If
Смотрите также:
MapperInfo( )
Справочник MapBasic |
287 |