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

Оператор Set Target

Оператор Set Target

Назначение:

Назначает изменяемый объект или объекты или отменяет назначение.

Синтаксис:

Set Target { On | Off }

Описание:

Оператор Set Target управляет выбором изменяемого объекта на Карте. Действие оператора аналогично действию команд в MapInfo ОБ ЕКТЫ > ВЫБРАТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ и

ОБ ЕКТЫ > ОСВОБОДИТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ. Некоторые операции в MapInfo предваряются выбором объектов, которые надо изменить. Например, Вы должны сначала назначить изменяемым объект перед тем, как выполнить оператор Objects Split. Правила назначения изменяемого объекта описаны в документации MapInfo.

Оператор Set Target On соответствует команде ОБ ЕКТЫ > ВЫБРАТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ. После выполнения оператора или команды объекты, выбранные на данный момент, становятся изменяемыми. Если не выбрано ни одного объекта, оператор генерирует ошибку.

Оператор Set Target Off соответствует команде ОБ ЕКТЫ > ОСВОБОДИТЬ ИЗМЕНЯЕМЫЙ

ОБ ЕКТ.

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

Object Combine, Objects Erase, Objects Intersect, Objects Overlay, Objects Split

532

Справочник MapBasic

Оператор Set Window

Оператор Set Window

Назначение:

Изменяет состояние, размер и положение окна на экране, управляет принтером, размером бумаги и полями.

Синтаксис:

Set Window window_id

 

 

[ Position ( x , y ) [ Units paper_units ] ]

 

 

[ Width win_width

[ Units paper_units ]

]

 

[ Height win_height

[ Units paper_units ]

]

 

[ Font ... ]

 

 

 

[ Min |

Max | Restore ]

 

 

[ Front ]

 

 

 

[ Title { new_title | Default } ]

 

 

[ Help

[ { File help_file | File Default | Off } [ Permanent ]

]

 

[ Contents ]

[ ID context_ID ] [

{ Show | Hide } ]

 

[ Printer { Default | Name printer_name }

 

 

 

[ Orientation { Portrait | Landscape } ]

[

Copies number ]

[ Papersize number ] [ Border { On | Off } ]

[ TrueColor { On | Off } ]

[ Dither { Halftone | ErrorDiffusion } ] [ Method { Device | Emf } ]

[ Transparency

[ Raster { Device | Internal } ] [ Vector { Device | Internal }] ] [ Margins

[ Left d1 ]

[ Right d2 ]

[ Top d3 ]

[ Bottom d4 ] Units <units> ] } ]

[ Export { Default |

[ Border { On | Off } ]

[ TrueColor { On | Off } ]

[ Dither { Halftone | ErrorDiffusion } ] [ Transparency

[ Raster { Device | Internal } ] [ Vector { Device | Internal }] ]

} ]

[ ScrollBars { On | Off } ]

[ Autoscroll { On | Off } ] [ Parent HWND ]

[ ReadOnly | Default Access ]

[ Table table_name Rec record_number ] [ Show | Hide ]

[ Smart Pan { On | Off } ]

[ SysMenuClose { On | Off } ]

[ Snap [ Mode { On | Off } ] [ Threshold { pixel_tolerance | Default } ]

Справочник MapBasic

533

Оператор Set Window

где

window_id – целочисленный идентификатор окна или имя специльного (например, Statistics); x – расстояние от верхнего края рабочего поля окна MapInfo до верхнего края перемещаемого окна;

y – расстояние от левого края рабочего поля в окне MapInfo до левого края перемещаемого окна; Предложение Font определяет стиль текста.

paper_units – строка с именем единицы измерений на экране (например, "cm" для сантиметров); win_width – новая ширина окна;

win_height – новая высота окна;

new_title – строка, задающая новый заголовок окна;

help_file – имя файла Справочника (например, в Windows "FILENAME.HLP"); context_ID – целочисленный идентификатор контекста Справочника для задания раздела; printer_name L имя принтера. Принтер может быть локальным или сетевым.

number L число копий, задаваемых при печати;

HWND – целочисленный номер окна. Окно с номером HWND станет порождающим окном по отношению к окну Легенды, Статитстики, Информации, Линейки или Сообщений. table_name – имя открытой таблицы для показа в окне сообщений;

record_number – целое число типа Integer: значение от 1 и больше для показа определенной записи в окне Информации или 0 для показа сообщения "Нет записей".

Printer будет указывать окно, предназначаемое для печати.

Export будет указывать окно, предназначаемое для экспорта.

Default L будут использоваться стандартные настройки печати/экспорта.

Name 4 определяет имя используемого принтера.

Orientation Portrait (книжная) ориентирует бумагу для печати в книжной ориентации.

Orientation Landscape (альбомная) ориентирует бумагу для печати в альбомной ориентации.

Copies number L указывает число копий для печати.

Papersize number L информация о размере бумаги для данного окна. Эти числа(номера) универсальные для всех принтеров под Windows. Например, 1 соответствует размеру Letter, 5 соответствует размеру Legal. Этот номер может быть найден в файле MapBasic под названием PaperSize.def. Некоторые драйверы принтера (например, крупные плоттеры) могут использовать собственную нумерацию для идентификации размера бумаги, отличающуюся от той, которая в файле “PaperSize.def”. Учтите это при работе с плоттерами.

Border L определяет будет ли отображаться черная рамка вокруг окна при печати и экспорте.

Truecolor L определяет, будет ли создан 24–bit true color вывод, если это вообще возможно. Если truecolor отключен, вывод будет с 256 цветами.

Dither 4 определяет какой метод растеризации будет использован, если надо отконвертировать 24–битное изображение в 256 цветов. Этот раздел используется при выводе растров и гридов. Растеризация призойдет, если truecolor отключен или если выводное устройство не может поддерживать 24–битные цвета.

534

Справочник MapBasic

Оператор Set Window

Method 4 это новое ключевое слово и определяет, будет ли печать проведена непосредственной передачей файла на принтер, или MapInfo создаст промежуточный Windows Enhanced Metafile и только потом пошлет его на принтер. Ранние версии MapInfo Professional всегда посылали файл прямо на устройство. Новый метод позволяет печатать карты с растрами, чего не было раньше.

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

Transparency Raster Device MapInfo не будет осуществлять специальные преобразования при выводе растров и гридов, содержащих прозрачность. Изображение генерируется тем же методом, что применяется для отображения на экране. Могут возникнуть некоторые проблемы при генерации вывода.

Transparency Vector Internal MapInfo будет делать специальную обработку когда выводится прозрачная заливки или прозрачные растровые символы.

Transparency Vector Device MapInfo будет делать специальную обработку когда выводится прозрачная заливки или прозрачные растровые символы. Могут возникнуть некоторые проблемы при генерации вывода.

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

Описание:

Оператор Set Window используется для изменения размеров и положения окна, шрифта в окне, заданном параметром window_id.

Значение кода для этого параметра Вы можете получить, используя функции FrontWindow( ) и WindowID( ). Для использования оператора Set Window по отношению к специальным окнам, таким как "Статистика", можно использовать имена окон (например, Statistics) или имена кодов (например, WIN_STATISTICS), определенных в файле стандартных определений MAPBAL SIC.DEF. Не забудьте включить в свою программу оператор Include "MAPBASIC.DEF".

Имя окна

Описание окна и его код

 

 

MapInfo

Окно программы MapInfo. Код: WIN_MAPINFO.

MapBasic

Окно MapBasic. Код: WIN_MAPBASIC.

Help

Окно программы WinHelp (Справка). Код: WIN_HELP.

Statistics

Окно "Статистика". Код: WIN_STATISTICS.

Legend

Окно "Легенда". Код: WIN_LEGEND.

Справочник MapBasic

535

Оператор Set Window

Info

Окно "Информация" (которое открывается при использовании инструмента

 

Информация). Код: WIN_INFO.

Ruler

Окно "Линейка" (которое открывается при использовании инструмента

 

Линейка). Код: WIN_RULER.

Message

Окно "Сообщение" (которое открывается оператором Print). Код:

 

WIN_MESSAGE.

Предложение Position задает расположение окна на экране. Координаты x и y задают верхний левый угол окна Списка относительно верхнего левого угла окна MapInfo (0,0). Предложения Width и Height позволяют задать ширину и высоту окна. Параметры x, y, window_width, window_height задаются в единицах, определенных после слова Units. Если предложение Units в какомLлибо из трех вышеупомянутых предложений опущено, соответственные параметры будут пониматься в "бумажных" единицах, определенных в Вашей программе (смотрите оператор Set Paper Units).

Если оператор Set Window включает в себя ключевое слово Max, окно будет максимально развернуто в рабочей области окна MapInfo. Если используется ключевое слово Min, окно будет свернуто в иконку, которая будет расположена в нижней части окна MapInfo. Заметим, что оба этих слова могут использоваться только в MapInfo для Windows.

Если окно было уже свернуто в иконку или максимально развернуто до выполнения оператора Set Window, то можно использовать ключевое слово Restore, восстанавливающее окно в прежних размерах.

Если оператор Set Window включает в себя ключевое слово Front, MapBasic помещает окно поверх остальных так, как если бы пользователь указал на полосу заголовка окна. Предложение Position и ключевое слово Front в операторе Set Window могут использоваться для всех типов окон. Но изменять размеры, сворачивать в икону или разворачивать на весь экран можно не каждое окно (например, это нельзя сделать с окном "Линейка").

Предложение Title изменяет заголовок окна. Не может быть изменен только заголовок рабочего окна MapInfo.

Предложение SysMenuClose позволяет сделать недоступной команду CLOSE из системного меню окна (этим меню снабжены все окна в Windows; кнопка системного меню расположена в верху окна, слева от заголовка). Эффект недоступности команды CLOSE имеет только для пользователя MapInfo. Программа MapBasic может закрыть окно оператором Close Window. В следующем примере отключается команда CLOSE для активного окна:

Set Window FrontWindow() SysMenuClose Off

Синтаксис предложения Help:

Предложение Help позволяет открывать окно Справочной системы на определенном разделе. Если Вы включили в оператор предложение Help, то опустите параметр window_id. Для определения того, какой файл Справочника должен быть открыт, используется подпредложение File. Например, следующий оператор показывает 23 раздел справочника "Custom":

Set Window Help File ”custom.hlp” ID 23

536

Справочник MapBasic

Оператор Set Window

Предложение File help_file выбирает файл Справочной системы. В среде Windows Справочник открывается немедленно, если только Вы не укажете ключевого слова Hide. Предложение File Default выбирает стандартный Справочный файл MapInfo, но не открывает его. В среде MapInfo может одновременно действовать только один Справочный файл, к которому будут обращаться все MapBasicLпрограммы. Если одна программа установит свой Справочный файл, то другие программы будут обращаться только к нему.

Предложение Off выключает Справочый файл MapInfo, и нажатия на F1 в диалогах MapInfo ни к чему не приводят. Это предложение полезно, если ВыOff интегрируете MapInfo в другую программу (например, в среду Visual Basic) и хотите скрыть от пользователя Справочник MapL Info. (Так как Справочник MapInfo может рассказать о командах и функциях, не доступных в среде Visual Basic.)

Предложение Permanent заставляет MapInfo всегда пользоваться Справочником help_file, даже если пользователь нажал F1 в диалоге MapInfo. (В среде Windows если предложения Permanent нет, то MapInfo обращается к стандартному файлу Справки MAPINFOW.HLP как только пользователь нажмет F1 в диалоге MapInfo.) Эта установка действует до конца сеанса MapInfo или до первого оператора Set Window Help File.

Чтобы сразу открыть Справочник на нужном месте, задавайте слова Contents (для показа оглавления Справки) или ID (для показа нужной информации).

В состав пакета MapBasic не входят средства изготовления Справочников. Более подрбно Справочная система описана в Руководстве пользователя MapBasic.

Синтаксис для окон Карт и Отчетов:

Предложение ScrollBars применимо только к окнам Карт и управляет показом строки (полосы) прокрутки.

Предложение Autoscroll применимо окнам Карт и Отчетов. По умолчанию, режим автоматической прокрутки действует в Картах и Отчетах, т.е. при выполнении операции с нажатой кнопкой мыши в окне Карты и Отчета, содержимое окна автоматически сдвигается вслед за мышью при приближении ее указателя к краю окна. Чтобы отключить автоматическую прокрутку, задайте Autoscroll Off. Функция WindowInfo( ) поможет определить, в каких окнах действует режим автоматической прокрутки.

Синтаксис для вспомогательных окон (Легенда, Линейка и т.д.):

Предложение Parent, позволяющее задать новое порождающее окно для окон легенды, Статистики, Инфрмации, Линейки или Сообщений, действует только в Windows. Окно с номером window_id становится popupLокном, подчиненным окну с номеромLуказателем HWND. Внимание: переподчинение окна таким способом изменяет значение ID для этого окна. Чтобы снова подчинить окно первоначальному “родителю”, MapInfo, задайте ноль в качестве HWND.

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

Предложение Table позволяет выбирать данные для показа в окне Информации (и только для него). Это предложение форсирует показ окна Информации.

Справочник MapBasic

537

Оператор Set Window

Предложения Show и Hide управляют показом или скрытием окон, для которых эта операция существенна (например, для Линейки), но может применяться и для окна MapInfo.

Пример:

Dim win_id As Integer

Open Table ”world”

Map From world

win_id = FrontWindow()

Set Window win_id Width 5 Height 3

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

Map, Browse, Graph, Layout, Set Paper Units

538

Справочник MapBasic

Функция Sgn( )

Функция Sgn( )

Назначение:

Распознает знак числа.

Синтаксис:

Sgn(num_expr)

где

num_expr – численное выражение.

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

L1, 0, или 1, тип Float.

Описание:

Функция Sgn( ) возвращает L1 (минус единица), если число, заданное выражением num_expr, отрицательно, 0, если число равно нулю, и 1 (единица), если число больше нуля.

Пример:

Dim x As Integer

x = Sgn( 0.5)

' x равно 1

'

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

Abs( )

Справочник MapBasic

539

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