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

Оператор Create Collection

Оператор Create Collection

Назначение

Объединяет точечные, линейные и площадные объекты в один объект. Коллекция показывается в окне Отчета в виде одной записи.

Синтаксис

Create Collection [ num_parts ]

[ Into { Window window_id | Variable var_name } ] Multipoint

[ num_points ]

( x1, y1) ( x2, y2) [ ... ] [ Symbol . . . ]

Region num_polygons

[ num_points1 (x1, y1) (x2, y2) [ ... ] ]

[ num_points2 (x1, y1) (x2, y2) [ ... ] ... ] [Pen ... ]

[ Brush ... ]

[ Center ( center_x, center_y ) ] Pline

[ Multiple num_sections ] num_points

( x1, y1) (x2, y2) [ ... ] [ Pen ... ]

[ Smooth ... ]

num_parts - число непустых частей в коллекции. Это число от 0 до 3 является дополнительным для кода MapBasic (это обязательно для MIF).

Пример

create collection multipoint 2 (0,0) (1,1) region 3 3 (1,1) (2,2) (3,4) 4 (11,11) (12,12) (13,14) (19,20) 3 (21,21) (22,22) (23,24) pline 3 ( 1,1) (3, 2) (4,3)

dim a as object

create collection into variable a multipoint 2 (0,0) (1,1) region 1 3 (1,1) (2,2) (3,4) pline 3 ( 1,1) (3, 2) (4,3)

insert into test (obj) values (a)

create collection region 2 4 ( 5, 5) (5, 5) (5,5) ( 5,5) 4 ( 3, 3) (3, 3) (3,3) ( 3,3) pline multiple 2 2 ( 6, 6) (6,6) 2 ( 6,6) (6, 6) multipoint 6 (2,2) ( 2, 2) (2, 2) ( 2,2) (4,1) ( 1, 4)

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

Оператор Create Multipoint

Справочник MapBasic

125

Оператор Create Ellipse

Оператор Create Ellipse

Назначение:

Создает эллипсы и окружности.

Синтаксис:

Create Ellipse

[ Into { Window window_id | Variable var_name } ] (x1, y1) (x2, y2)

[ Pen... ]

[ Brush... ]

где

window_id – идентификатор окна, целое число; var_name – имя объектной переменной;

x1, y1 – координаты одного угла прямоугольника, описывающего эллипс;

x2, y2 – координаты противоположного по диагонали угла прямоугольника, описывающего эллипс; Pen – слово, с которого начинается стандартное предложение для назначения стиля линии объекта; Brush – слово, с которого начинается стандартное предложение для назначения стиля штриховки объекта.

Описание:

Результатом действия оператора Create Ellipse является новый объект типа "эллипс". MapBasic создает объект, вписывая его в прямоугольник, задаваемый координатами двух противоположных углов. Такой прямоугольник называется минимальным прямоугольным покрытием объекта (МПП). Если оператор задает квадрат, то будет создана окружность, иначе – эллипс.

Если оператор включает конструкцию Into Variable, то созданный объект будет значением объектной переменной var_name. Если одним из параметров предложения Into указывается окно, объект помещается на подготовленное место в окне (например, на изменяемый слой). Если предложения Into вообще нет в операторе, MapBasic попробует создать эллипс в самом верхнем окне. Если это невозможно (например, поверх всех окон лежит окно Графика), то объект не будет создан.

Параметры x и y являются координатами в той системе координат, которая была объявлена до оператора Create Ellipse. (Смотрите описание оператора Set CoordSys.) Если система не объявлялась, то координаты будут принимать значения широты и долготы. При этом надо учесть, что MapBasic игнорирует координатную систему самого окна Карты. Если объект создается для окна Отчета, параметры x и y – координаты точки на листе в объявленных ранее единицах измерения листа. (Смотрите описание оператора Set Paper Units.) Так, X-координата – это расстояние от левого края листа до точки и Y-координата – расстояние от верхнего края листа.

Предложения Pen и Brush назначают стиль линии и штриховки объекта. Если в операторе не участвует предложение Pen, оператор Create Rect использует установку соответствующего режима для стиля линии в MapInfo. Стиль линии можно изменить командой НАСТРОЙКА > СТИЛЬ ЛИНИЙ. (Аналогично тому, что предложению Brush в MapInfo соответствует команда НАСТРОЙКА > СТИЛЬ ОБЛАСТЕЙ.)

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

Brush, CreateCircle( ), Insert, Pen, Update

126

Справочник MapBasic

Оператор Create Frame

Оператор Create Frame

Назначение:

Создает новый объект "рамка" в окне Отчета.

Синтаксис:

Create Frame

[ Into { Window layout_win_id | Variable var_name } ] (x1, y1) (x2, y2)

[ Pen ... ]

[ Brush ... ] [ Title title ]

[ From Window contents_win_id ] [ FillFrame { On | Off } ]

где

x1, y1 – координаты одного угла рамки; x2, y2 – координаты другого угла рамки;

layout_win_id – идентификатор окна Отчета, целое число; var_name – имя объектной переменной;

title – строка, задающая заголовок окна, изображение из которого будет помещено в рамку (не имеет смысла использовать, если в операторе используется предложение From Window);

contents_win_id – идентификатор окна, изображение из которого будет помещено в рамку, целое число.

Слово Pen начинает стандартное предложение для назначения стиля линии объекта;

Слово Brush начинает стандартное предложение для назначения стиля штриховки объекта.

Описание:

Результатом действия оператора Create Frame является новый объект типа "рамка" в окне Отчета.

Замечание: Перед созданием объекта в окне Отчета не забудьте выполнить оператор Set CoordSys Layout.

MapInfo запомнит установки в окне Отчета, если поместить оператор Create Frame в файл Рабочего Набора. Файл Рабочего Набора является текстовым, и его можно открыть и отредактировать в окне MapBasic.

Предложение Pen диктует стиль линии контура рамки, а предложение Brush задает стиль раскраски фона рамки.

Если оператор использует предложение Into Variable, то созданный объект будет значением объектной переменной. Если предложением Into Window layout_win_id указывается окно Отчета, объект помещается в это окно. Если предложения Into вообще нет в операторе, MapBasic попробует создать рамку в самом верхнем окне; если это невозможно (например, окно Отчета не лежит поверх всех окон), то объект не будет создан. Перед созданием объекта в окне Отчета необходимо выполнить оператор Set CoordSys Layout.

Предложение From Window используется для задания окна, изображение из которого будет показано в рамке. Для этого необходимо знать идентификатор окна. Окно должно быть уже открыто в MapInfo.

Предложение Title является альтернативой предложению From Window и тоже задает окно,

Справочник MapBasic

127

Оператор Create Frame

изображение из которого будет показано в рамке. Для задания используется заголовок окна. Например, для окна Карты в котором показаны данные таблицы WORLD, предложение будет такое – Title "WORLD Map". Если нет окна для рамки, то параметр title должен быть равен пустой строке (""). Оператор создаст пустой объект.

Если Вы включили в оператор сразу два предложения Title и From Window, то только последнее из них подействует.

При создании рамки для окна Карты, можно применять предложение FillFrame, чтобы управлять заполнением рамки Картой: задание FillFrame On помещает всю Карту в рамку, FillFrame Off (или отсутствие предложения FillFrame) задает режим, в котором помещение рамки в окно зависит от соотношения высоты и ширины окна и рамка может не показывать Карту полностью. Эти режимы управляются флажком в диалоге “Рамка”.

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

Brush, Insert, Layout, Pen, Set CoordSys, Set Layout, Update

128

Справочник MapBasic

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