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

Функция PointsToPenWidth()

Функция PointsToPenWidth()

Назначение:

Функция PointsToPenWidth возвращает ширину линии для заданного в размерах L пунктах.

Синтаксис:

PointsToPenWidth ( pointsize )

pointsize L это вещественное значение, показывающее значение в десятых долях пунктов.

Возвращаемое значение:

Малое целое.

Описание:

Функция PointsToPenWidth берет значения в десятых долях пунктов и конвертирует их в ширину линии.

Пример:

Include “MAPBASIC.DEF”

Dim Width As Integer

Dim p_bus_route As Pen

Width = PointsToPenWidth(1.7)

p_bus_route = MakePen(Width, 9, RED)Смотри также:

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

CurrentPen(), IsPenWidthPixels(), MakePen(),Pen, PenWidthToPoints(), StyleAttr()

378

Справочник MapBasic

Функция Perimeter( )

Функция Perimeter( )

Назначение:

Возвращает периметр графического объекта.

Синтаксис:

Perimeter(obj_expr, unit_name)

где

obj_expr – объектное выражение;

unit_name – строковая величина, задающая единицы измерения расстояний (например, "km" – километры)

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

Вещественное число. Величина типа Float.

Описание:

Функция Perimeter( ) вычисляет периметр объекта, определенного выражением obj_expr. Периметр объекта может вычисляться только для следующих типов: "эллипс", "прямоугольник", "скругленный прямоугольник", "полигон". Для других типов объектов результатом функции будет ноль.

Функция возвращает периметр в единицах, заданных вторым параметром. Полный список строковых значений, определяющих единицы измерения расстояний, представлен в описании оператора Set Distance Units.

Функция Perimeter( ) для объекта типа "скругленный прямоугольник" вычисляет периметр приблизительно, как если бы объект был преобразован в простой прямоугольник.

Примеры:

Следующий пример показывает применение функции Perimeter( ) для определения периметра географического объекта.

Dim perim As Float

Open Table "world"

Fetch First From world

perim = Perimeter(world.obj, "km")

'Переменная perim теперь равна

'периметру полигона, присоединенного

'к первой записи таблицы World.

Функцию Perimeter( ) можно использовать в операторе Select для формирования SQLLзапроса. Например, извлечем из таблицы RUSSIA некоторую информацию и поместим ее во временную таблицу, которую назовем "Results". В одной из колонок временной таблицы будут содержаться протяженности границ областей, краев и республик, входящих в состав России.

Open Table "russia"

Select state, name, Perimeter(obj, "km")

From russia

Into results

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

Area( ), ObjectLen( ), Set Distance Units

Справочник MapBasic

379

Оператор Print

Оператор Print

Назначение:

Печатает пояснительный текст или текст сообщения из программы в окне "Сообщение".

Синтаксис:

Print message

где

message – строковая величина.

Описание:

Оператор Print используется для вывода текста в окне "Сообщение".

Это окно является одним из вспомогательных окон в MapInfo и предназначено для вывода информации из программ, написанных на MapBasic. Эти сообщения можно использовать для комментирования действий программы без ее остановки. Например, "Запись удалена".

Программа MapBasic может перед выполнением оператора Print открыть окно сообщений, используя оператор Open Window, и назначить шрифт для текста, размер окна и положение его на экране при помощи оператора Set Window. Если оператор Print выполняется, когда окно сообщений закрыто, то MapBasic откроет его автоматически.

Оператор Print выполняет действия, похожие на действия оператора Note, с той разницей, что последний выводит сообщение в диалоговом окне, и пока пользователь не закроет это окно, выполнение программы будет приостановлено.

Выполнение программы после оператора Print продолжается, а каждый следующий оператор Print будет печатать текст с новой строки в уже открытом окне "Сообщение". Если все окно сообщений будет заполнено или строка будет длиннее ширины окна, то пользователь может прокручивать окно в горизонтальном и вертикальном направлениях.

Чтобы очистить окно "Сообщение" перед выводом сообщения, используйте символ прогона листа (ASCIILкод 12):

Print Chr$(12) 'Это сообщение очищает поле окна

Для начала новой строки в тексте сообщения используйте символ возврата каретки (ASCIILкод 10). Следующий оператор Print выводит сообщение в две строки:

Print "Слои карты:" + Chr$(10) + " World, Capitals"

Оператор Print преобразует табуляцию (ASCIILкод 09) в символ пробела (ASCIILкод 32).

Пример:

Откроем окно "Сообщение", назначим шрифт Helvetica, жирный, размером в 10 пунктов, синего цвета. Назначим также размер окна, 3 на 1 дюйм, расположение ниже и правее на четверть дюйма от правого верхнего угла основного окна MapInfo. Теперь можно печатать:

Include "MAPBASIC.DEF"

' понадобится для цвета 'BLUE'

Open Window Message

' открываем окно...

Set Window Message

 

Font ("Helv", 1, 10, BLUE)

' назначаем шрифт...

Position (0.25, 0.25)

' позицию на экране...

Width 3.0

' ширину окна...

Height 1.0

' высоту...

Print "MapBasic диспетчер на линии"

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

Ask( ), Close Window, Note, Open Window, Set Window

380

Справочник MapBasic

Оператор Print #

Оператор Print #

Назначение:

Записывает данные в файл, открытый в режиме последовательного доступа.

Синтаксис:

Print #file_num [, expr ]

где

file_num – номер файла, который был задан при выполнении оператора Open File; expr – выражение для записи в файл.

Описание:

Оператор Print # выводит данные в файл, который должен быть открыт оператором Open File в последовательном режиме доступа, разрешающем запись (OUTPUT или APPEND).

Параметр file_num должен соответствовать номеру, с которым файл был открыт оператором Open File.

MapInfo записывает выражение expr в одну строку файла. Для записи выражений списком, каждое в отдельную строку файла, используется оператор Write # вместо Print #.

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

Line Input #, Open File, Write #

Справочник MapBasic

381

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