Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB6REFRU.pdf
Скачиваний:
10
Добавлен:
13.02.2015
Размер:
3.83 Mб
Скачать

Функция 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

276

Справочник MapBasic

Функция 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( )

Справочник MapBasic

277

Функция 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( )

278

Справочник MapBasic

Функция LabelFindNext( )

Функция LabelFindNext( )

Назначение:

Перемещает внутренний указатель подписи, так что Вы можете запрашивать следующую подпись на слое Карты.

Синтаксис:

LabelFindNext(map_window_id , layer_number)

map_window_id – целочисленный индекс окна id, определяющий окно Карты;

layer_number – номер слоя в текущем окне Карты (например, 1 для внешнего слоя).

Величина, полученная в результате:

Логическая величина: “Да” (TRUE) означает, что указатель подписи передвинут к следующей подписи; “Нет” (FALSE) означает, что на этом слое более нет подписей.

Описание:

После того, как Вы вызовете LabelFindFirst( ), чтобы начать запрос подписей, можно вызвать функцию LabelFindNext( ), чтобы переместиться к следующей подписи на этом же слое.

Пример:

Для примера смотрите Labelinfo( ).

Смотрите также:

LabelFindByID( ), LabelFindFirst( ), Labelinfo( )

Справочник MapBasic

279

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]