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

Оператор Exit Function

Оператор Exit Function

Назначение:

Прекращает действие функции, заданной операторами Function... End Function.

Предупреждение:

Оператор Exit Function не может быть выполнен в окне MapBasic.

Синтаксис:

Exit Function

Описание:

Оператор прекращает выполнение функции на MapBasic. Оператор Exit Function действителен только для функции, организованной при помощи оператора Function... End Function.

Функция Function... End Function может быть вложенная, то есть одна функция может вызывать другую. Оператор Exit Function прекращает выполнение только той функции, внутри которой употребляется.

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

Function... End Function

218

Справочник MapBasic

Оператор Exit Sub

Оператор Exit Sub

Назначение:

Прекращает выполнение subLпроцедуры.

Предупреждение:

Оператор Exit Sub не может быть выполнен в окне MapBasic.

Синтаксис:

Exit Sub

Описание:

Оператор Exit Sub осуществляет выход из текущей процедуры, организованной при помощи оператора Sub... End Sub. Оператор может выполняться в теле только таких процедур.

Одна subLпроцедура может вызывать другую subLпроцедуру, которая, в свою очередь, вызывает третью и т. д. Один оператор Exit Sub прекращает выполнение только той подпрограммы, внутри которой употребляется.

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

Call, Sub... End Sub

Справочник MapBasic

219

Функция Exp( )

Функция Exp( )

Назначение:

Вычисляет значение экспоненты.

Синтаксис:

Exp(num_expr)

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

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

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

Описание:

Математическая функция Exp( ) вычисляет значение числа e, возведенного в степень num_expr. Число e иррационально и приблизительно равно 2.7182818.

Операция возведения в степень производится с помощью математического оператора ^.

Пример:

Dim e As Float

e = Exp(1)

'переменная e примет значение

'равное примерно 2.7182818

220

Справочник MapBasic

Оператор Export

Оператор Export

Назначение:

Экспортирует таблицу в файл другого формата.

Синтаксис (вариант 1 U для экспорта в формат MIF/MID, DBF или ASCII)

Export table

Into filespec

[ Type

{ "MIF" |

"DBF" [ CharSet char_set ] |

"ASCII" [ CharSet char_set ] [ Delimiter "d" ] [ Titles ] } ] [ Overwrite ]

Синтаксис (вариант 2 U для экспорта в формат DXF)

Export table

Into file_name

[ Type "DXF" ] [ Overwrite ]

[ Preserve [ AttributeData ] [ Preserve ] [ MultiPolygonRgns [ As Blocks ] ] ]

[ { Binary | ASCII [ DecimalPlaces decimal_places ] } ]

[ Version { 12 | 13 } ]

 

[ Transform

 

(MI_x1 , MI_y1 )

(MI_x2 , MI_y2 )

(DXF_x1 , DXF_y1 )

(DXF_x2 , DXF_y2 ) ]

где

table – имя открытой таблицы (в этом операторе кавычки при задании имени таблицы не используются);

filespec – строка с именем файла, в которую будут экспортироваться данные (если строка не включает DOSLмаршрут, то файл будет создан в рабочем каталоге);

char_set величина типа String, слово, определяющее кодировку символов в экспортированном файле, такое как “MacRoman” или “WindowsLatin1” (смотрите описание предложения CharSet); d – символ, который будет использован как разделитель для ASCIILфайла;

decimal_places – целое число типа small integer (короткое целое) от 0 до 16 (по умолчанию 6), задающее количество позиций после десятичной точки для экспорта числа с плавающей точкой в текстовый формат ASCII;

MI_x1 , MI_y1 и т. п. – пары чисел, представляющие собой координаты в таблице MapInfo; DXF_x1 , DXF_y1 и т. п. – пары чисел, представляющие собой координаты в файле DXF.

Описание:

Оператор Export копирует содержимое таблицы MapInfo в отдельный файл другого формата для работы с этим файлом в других программах и операционных средах. Например, Вы можете экспортировать содержимое таблицы в DXFLфайл, чтобы импортировать его в AutoCAD или другую программу, которая работает с форматом DXF. Исходный файл с таблицей при экспорте не меняется.

Задание формата файла

Формат будущего файла объявляется при помощи предложения Type.

Справочник MapBasic

221

Оператор Export

Предложение Type

Формат будущего файла

Type ”MIF”

Формат обмена MapInfo (MapInfo Interchange File format). Описание

 

формата MIF смотрите в документации MapInfo.

Type ”DXF”

Формат DXF (графический формат программ CAD, таких как

 

AutoCAD).

Type ”DBF”

Формат dBASE и других совместимых баз данных. Замечание:

 

графические объекты не экспортируются при использовании этого

 

формата.

Type ”ASCII”

Текстовый формат с разделителями. Замечание: графические

 

объекты не экспортируются при использовании этого формата.

Если предложение Type отсутствует, MapInfo пытается определить формат экспорта по расширению в имени файла. Например, если в операторе задается имя “PARCELS.DXF”, то MapInfo создаст файл формата DXF.

Если файл с заданным именем уже существует, MapInfo создаст экспортный файл, записав его поверх старого только тогда, когда в Export используется слово Overwrite. Если слово Overwrite опущено и файл с заданным именем уже есть на диске, MapInfo не будет переписывать файл.

Экспорт в текстовые ASCIIUфайлы

Если таблица экспортируется в текстовый ASCIILфайл, то последний будет содержать разделители. Разделителем называется специальный символ, разделяющий данные полей в строке записи. Для назначения символаLразделителя используется параметр d за словом Delimiter. Если предложение Delimiter отсутствует, то разделителем будет символ табуляции (Chr$(9)). В следующем примере символом разделителя назначается двоеточие (:):

Export sites Into ”sitedata.txt”

Type ”ASCII” Delimiter ”:” Titles

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

Экспорт в DXFUфайл

Для получения файла в формате DXF используется второй вариант синтаксиса оператора Export, который может включать следующие специфические для формата DXF предложения и ключевые слова:

Preserve AttributeData

Это предложение используется для экспорта табличных данных в атрибуты DXFLфайла.

Preserve MultiPolygonRgns As Blocks

Используется для того, чтобы MapInfo экспортировала область, состоящую из нескольких полигонов, в качестве блока DXF. Если это предложение будет опущено, то каждый полигон сложносоставной области будет представлен отдельным объектом.

222

Справочник MapBasic

Оператор Export

Binary или ASCII [ DecimalPlaces decimal_places ]

Ключевое слово Binary используется для экспорта таблицы в бинарный файл DXF. Предложение ASCII задает текстовый вид файла DXF. Если не используется ни один из этих вариантов, то MapInfo создаст файл ASCII DXF. Бинарный файл DXF в основном меньше, чем текстовый, и поэтому изготавливается быстрее. При создании тестового файла можно задать число знаков после десятичной точки для экспорта численных данных, имеющих тип Float в таблице MapInfo. Параметр decimal_places может принимать значения от 0 до 16, по умолчанию 6.

Version 12 или Version 13

Это предложение указывает, для какой версии программы будет создан файл DXF. Если предложение не используется, MapInfo будет экспортировать в DXFLфайл 12Lой версии.

Transform

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

Пример:

Здесь открывается таблица "FACILITY " и экспортируется в файл FACIL.DXF.

Open Table ”facility”

Export facility

Into ”FACIL.DXF”

Type ”DXF”

Overwrite

Preserve AttributeData

Preserve MultiPolygonRgns As Blocks

ASCII DecimalPlaces 3

Transform (0, 0) (1, 1) (0, 0) (1, 1)

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

Import

Справочник MapBasic

223

Функция ExtractNodes( )

Функция ExtractNodes( )

Назначение:

Возвращает полилинию или область из подмножества узлов существующего объекта.

Синтаксис:

ExtractNodes(object, polygon_index, begin_node, end_node, b_region)

где

object – объект типа "полилиния" или "область";

polygon_index – короткое целое число, 1 или больше; в случае области задает номер полигона, в случае полилинии – номер ломаной;

begin_node – короткое целое число, 1 или больше, которое задает первый узел для выбираемого подмножества узлов;

end_node – короткое целое число, 1 или больше, которое задает последний узел для выбираемого подмножества узлов;

b_region – логическая величина, управляющая типом объекта, полученным в результате: для области – логическое "да" (TRUE), для полилинии – логическое "нет" (FALSE).

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

Объект типа "полилиния" или "область". Величина типа Object.

Описание:

Если значение параметра begin_node равно или больше значения end_node, то MapBasic будет отсчитывать узлы в следующем порядке:

1.от узла begin_node до последнего в полигоне;

2.от первого узла следующего полигона до end_node.

Если параметр object задает область и оба параметра begin_node и end_node равны 1 (единице), то MapBasic вернет полное множество узлов одного полигона (многоугольника). Это простой механизм для выделения одного полигона из многокомпонентной области. Для определения числа узлов полигона из области используется функция ObjectInfo( ).

MapBasic присваивает все стили (цвет и т. п.) оригинального объекта object полученному в результате объекту. Если какихLто стилей недостает, то берутся текущие в MapBasic значения.

Ошибки:

Функция может вернуть код ошибки

ERR_FCN_ARG_RANGE, если значение параметра b_region равно FALSE и подмножество узлов состоит менее, чем из двух узлов или если значение параметра b_region равно TRUE и подмножество узлов состоит менее, чем из трех узлов.

224

Справочник MapBasic

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