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

Оператор Set Command Info

Оператор Set Command Info

Назначение:

Помещает в память значения, которые могут быть прочитаны функцией CommandInfo( ) из другой процедуры.

Синтаксис:

Set Command Info attribute To new_value

где

attribute – один из кодов, используемых функцией CommandInfo( ) (такой как CMD_INFO_ROWID);

new_value – новая величина, тип которой должен соответствовать значению кода attribute (например, если используется код CMD_INFO_ROWID, то параметр new_value должен быть положительным целым числом типа Integer).

Описание:

Обычно функция CommandInfo( ) возвращает значения, описывающие системные события. Оператор Set Command Info помещает свои значения в память, так что следующий за этим вызов функции CommandInfo( ) возвращает заданные значения, вместо тех, которые несут информацию о системных событиях.

Пример:

Допустим, что Ваша программа имеет процедуру-обработчик SelChangedHandler. Из ее тела следующая функция определяет идентификатор строки, которая была выбрана или исключена из выбора:

CommandInfo(CMD_INFO_ROWID)

Когда MapInfo вызывает SelChangedHandler автоматически, то устанавливаются данные для чтения функцией CommandInfo( ). Теперь допустим, что для отладки Вы хотите вызвать процедуру SelChangedHandler оператором Call. Перед оператором Call должен быть оператор, посылающий значение для функции:

Set Command Info CMD_INFO_ROWID To 1

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

CommandInfo( ), Set Handler

Справочник MapBasic

521

Оператор Set CoordSys

Оператор Set CoordSys

Назначение:

Назначает координатную систему, в дальнейшем используемую прикладной программой MapBasic.

Синтаксис:

Set CoordSys...

где

CoordSys – слово, с которого начинается стандартное предложение оператора для определения координатной системы.

Описание:

Оператор Set CoordSys устанавливает координатную систему, которая в дальнейшем будет использоваться прикладной программой MapBasic. По умолчанию, MapBasic использует долготу и широту. Данная установка влияет на возвращаемые значения географическими функциями, такими как CentroidX( ) и ObjectNodeX( ).

MapBasic-программа может выполнить собственный оператор Set CoordSys, вследствие чего значения, возвращаемые географическими функциями, будут автоматически отражать новую координатную систему. При этом координатная система в MapInfo может оставаться прежней.

Оператор Set CoordSys может использовать подпредложения Table или Window для установки координатной системы, такой же, как в таблице, или такой же, как в окне.

Смотрите описание предложения CoordSys для более полной информации.

Пример:

Установим непроецированную координатную систему Земли:

Set CoordSys Earth

Следующий оператор Set CoordSys устанавливает в качестве координатной системы равноплощадную проекцию Алберса.

Set CoordSys Earth

Projection 9,7,"m", 96.0,23.0,20.0, 60.0, 0.0, 0.0

В окне Отчета координатная система определяется оператором Set CoordSys. Перед работой с объектами Отчета Вы должны определить координатную систему на странице.

Следующий оператор готовит MapBasic к работе с объектами в окнах Отчета. Вы должны использовать координатную систему Отчета перед тем, как создавать и обрабатывать объекты Отчета.

Set CoordSys Layout Units "in"

Выполнив оператор Set CoordSys Layout, MapBasic продолжает использовать координатную систему Отчета до тех пор, пока Вы не переопределите ее. Аналогично, если Вы хотите работать с объектами на проецированной Карте, выполните оператор Set CoordSys Earth.

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

CoordSys, Set Area Units, Set Distance Units, Set Paper Units

522

Справочник MapBasic

Оператор Set Date Window

Оператор Set Date Window

Назначение

Отображает окно даты, которое переводит двузначный год в четырехзначный. В нем можно поменять стандартную настройку.

Синтаксис

Set Date Window { nYear | Off }

nYear - это короткое целое, от 0 до 99, которое определяет число, значения превышающие это число будут отнесены к 20-му столетию, а числа, меньшие заданного, будут отнесены к 21-му столетию.

Off - отключает окно даты. Двузначные годы будут конвертироваться в текущее столетие (по системному календарю и времени).

Описание

Запуск команды Set Date Window из окна MapBasic изменит поведение дат, но не изменит системные настройки даты в MIPro.

При запуске команды Set Date Window из программы MapBasic, поведение дат изменится только локально, настройки дат в системе не изменятся.

Внимание: Все атрибуты переменных, связанных с датами в версиях, ранее MapBasic 5.5 являются действующими. Здесь берутся двузначные значения года и используется окно даты для определения того, какое столетие использовать. Эти переменные: Year(date_expr), StringToDate(datestring), FormatDate$(date_expr)

MBX, скомпилированные до версии5.5 будут конвертировать двузначный год в текущее столетие (поведение версии 5.0 и более ранних). Что бы получить новое поведение отнесения двузначных данных к разным столетиям, перекомпилируйте программу в MapBasic v5.5.

Пример

В следующем примере переменные Date1 = 19890120, Date2 = 20101203 и MyYear = 1990.

DIM Date1, Date2 as Date

DIM MyYear As Integer

Set Format Date ”US”

Set Date Window 75

Date1 = StringToDate(”1/20/89”)

Date2 = StringToDate(”12/3/10”)

MyYear = Year(”12/30/90”)

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

Функция Datewindow( )

Справочник MapBasic

523

Оператор Set Digitizer

Оператор Set Digitizer

Назначение:

Назначает координаты для оцифровки изображения с бумажной карты. А также включает и выключает режим дигитайзера.

Синтаксис (вариант 1):

Set Digitizer

(mapx1, mapy1) (tabletx1, tablety1) [ Label name ] , (mapx2, mapy2) (tabletx2, tablety2) [ Label name ] [, ... ]

CoordSys...

[Units... ]

[ Width tabletwidth]

[Height tabletheight]

[Resolution xresolution, yresolution]

[ Button click_button_num, double_click_button_num ] [ Mode { On | Off } ]

Синтаксис (вариант 2):

Set Digitizer Mode { On | Off } где

mapx# – расположение относительно Запада и Востока на бумажной карте; mapy# – расположение относительно Севера и Юга на бумажной карте; tabletx# – X-координата на планшете, соответствующая mapx#;

tablety# – Y-координата на планшете, соответствующая mapy#; names – имя контрольной точки;

click_button_num – номер кнопки, которая симулирует один щелчок мыши; double_click_button_num – номер кнопки, которая симулирует двойной щелчок мыши.

Слово CoordSys начинает стандартное предложение оператора для определения координатной системы на бумажной карте.

Описание:

Оператор Set Digitizer используется для настройки планшета дигитайзера.

Параметры оператора Set Digitizer соответствуют режимам и данным, которые пользователь MapInfo может задать при помощи диалогового окна команды КАРТА > НАСТРОЙКА ДИГИТАЙЗЕРА. Все измерения проводятся в заданных пользователем единицах измерения бумажной карты. Оператор Set Digitizer не настраивает другие (системные) режимы работы с дигитайзером, такие как порты и скорость связи. Их пользователь должен настроить вне MapBasic и MapInfo.

Программа MapInfo понимает дигитайзер как устройство ввода, которое позволяет пользователю переводить данные с бумажной карты в таблицу MapInfo. Использование дигитайзера предполагает, что перед оцифровкой данных изображения пользователь должен задать, какие точки на карте соответствуют контрольным точкам на плоскости планшета.

524

Справочник MapBasic

Оператор Set Digitizer

Оператор Set Digitizer позволяет задать MapInfo координатную систему, используемую на бумажной карте, а также две или более контрольных точек. Каждая контрольная точка определяет соответствие координатной пары карты (долгота и широта) координатной паре на планшете. Координаты на планшете представляются в единицах измерения дигитайзера, измеряемых от левого верхнего угла планшета.

Предложение CoordSys задает координатную систему для бумажной карты. Оператор Set Digi tizer игнорирует установку Bounds в предложении CoordSys.

MapInfo может сохранять настройку дигитайзера для следующих сеансов работы в файле Рабочего Набора в виде оператора Set Digitizer. Пользователь может поменять планшет, и это может привести к тому, что установка дигитайзера может оказаться неподходящей для нового планшета. Предложения Width, Height и Resolution в операторе Set Digitizer помогают MapInfo определить смену дигитайзера.

Режим оцифровки

Если дигитайзер настроен, пользователь может включать и выключать режим оцифровки, нажимая на клавишу “D”. Этот режим может включать и программа MapBasic оператором

Set Digitizer Mode On

или выключать:

Set Digitizer Mode Off

Для определения включения режима оцифровки используется функция System Info(SYS_INFO_DIG_MODE), которая возвращает “Да” (TRUE), если режим установлен.

При влюченном режиме оцифровки в активном окне Карты помимо указателя мышки появляется также курсор дигитайзера в виде большого креста.

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

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

CoordSys, SystemInfo( )

Справочник MapBasic

525

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