Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

65SUPRU

.pdf
Скачиваний:
13
Добавлен:
13.02.2015
Размер:
6.17 Mб
Скачать

Функция LocateFile$( )

Функция LocateFile$( )

Назначение

Возвращает путь к одному из служебных файлов MapInfo.

Синтаксис

LocateFile$( file_id )

file_id ( это одно из следующих значений:

LOCATE_PREF_FILE

файл настроек (mapinfow.prf)

LOCATE_DEF_WOR

файл стандартного рабочего набора

 

(mapinfow.wor)

LOCATE_CLR_FILE

файл цветов (mapinfow.clr)

LOCATE_PEN_FILE

файл стилей линий (mapinfow.pen)

LOCATE_FNT_FILE

файл символов (mapinfow.fnt)

LOCATE_ABB_FILE

файл аббревиатур (mapinfow.abb)

LOCATE_PRJ_FILE

файл проекций (mapinfow.prj)

LOCATE_MNU_FILE

файл меню (mapinfow.mnu)

LOCATE_CUSTSYMB_DIR

пользовательская директория символов

 

(custsymb)

LOCATE_THMTMPLT_DIR

папка тематических шаблонов (thmtmpl)

LOCATE_GRAPH_DIR

папка поддержки графики (GraphSupport)

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

Строковое

Описание

В зависимости от запрашиваемого индексного значения id эта функция возвращает полный путь к требуемому файлу MapInfo. В версиях до 6.5 эти файлы

большей частью устанавливались в ту же директорию, где находился файл mapinfow.exe.

В версии 6.5 MapInfo устанавливает эти файлы в директорию Application Data, но

можно для них определить и другие папки, включая директорию, где находится mapinfow.exe. Приложения MapBasic не могут определить положение этих файлов, для такого определения надо использовать функцию LocateFile$().

Пример

include "mapbasic.def" declare sub main sub main

dim sGraphLocations as string

sGraphLocations = LocateFile$(LOCATE_GRAPH_DIR) Print sGraphLocations

end sub

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

Функция GetFolderPath$( )

307

Функция GetFolderPath$( )

Функция GetFolderPath$( )

Назначение

Возвращает путь к специальным папкам MapInfo или Windows.

Синтаксис

GetFolderPath$( folder_id )

folder_id это одно из следующих значений:

FOLDER_MI_APPDATA

FOLDER_MI_LOCAL_APPDATA

FOLDER_MI_PREFERENCE

FOLDER_APPDATA

FOLDER_LOCAL_APPDATA

FOLDER_COMMON_APPDATA

FOLDER_COMMON_DOCS

FOLDER_MYDOCS

FOLDER_MYPICS

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

Строковое.

Описание

В зависимости от запрашиваемого индекса id "специальных" папок MapInfo или Windows функция GetFolderPath$() возвращает путь к этой папке. Примером специальной папки Windows является папка "My Documents". Примером специальной папки MapInfo является папка настроек; стандартное расположение этой папки записывается в файл настроек MapInfo.

Размещение многих из этих папок изменяется в зависимости от версии Windows. Различие может быть и в зависимости от того какой пользователь открывает сеанс работы.

Индексы Id, начинающиеся с FOLDER_MI, возвращают пути для "специальных" папок MapInfo. Остальные индексы id возвращают пути для папок Windows и совпадают с индексами, определенными для WIN32 API функции SHGetFolderPath. Большинство из этих общих индексов определены для удобного использования в приложениях MapBasic. Любые индексы id, годные для SHGetFolderPath, будут работать с GetFolderPath$().

Пример

include "mapbasic.def" declare sub main sub main

dim sMiPrfFile as string

sMiPrfFile = GetFolderPath$(FOLDER_MI_PREFERENCE) Print sMiPrfFile

end subet128

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

Функция LocateFiles( )

308

Функция GetFolderPath$( )

Пример

include "mapbasic.def" declare sub main sub main

dim sMiPrfFile as string

sMiPrfFile = GetFolderPath$(FOLDER_MI_PREFERENCE) Print sMiPrfFile

end subet128

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

Функция LocateFiles( )

309

Усовершенствование уже имеющихся операторов и функций

Оператор Server Create Map

Оператор Server Create Map

Назначение

Этот оператор присваивает геоинформацию таблице MapInfo, связанной с таблицей в удаленной базе данных. Изменение таблицы (например, добавление в таблицу столбцов с пространственной информацией) при этом не осуществляется. Версия 6.5 добавляет в Каталог карт идентификаторы Style Type, определяющие стили для каждой записи.

Синтаксис

Server ConnectionNumber Create Map For linked_table

Type { MICODE columnname | XYINDEX columnname |SQS columnname | |

SPATIALWARE }

CoordSys ...

[ ObjectType { Point | Line | Region | ALL } ] [ Symbol (...) ]

[ Linestyle Pen(...) ]

[ Regionstyle Pen(...) Brush(...) ]

[ Style Type style_number (0 or 1) [ Column column_name ] ]

connectionNumber – номер, идентифицирующий соединение с сервером данных. linked_table – имя открытой связанной CÓÁÄ(таблицы.

columnname – имя столбца, содержащего координаты специфицированного типа.

CoordSys ... – предложение, задающее координатную систему и проекцию.

ObjectType – предложение, задающее тип объекта (точечные, линейные, площадные или все типы объектов) в таблице. Если это предложение отсутствует, по умолчанию определяются точечные объекты.

Symbol (...) – предложение, задающее стиль символа, используемого для точечного объекта.

Linestyle Pen (...) – предложение, задающее стиль линии, используемый для линий.

Regionstyle Pen (...) Brush(...) – предложение, задающее стиль линии и заливки фона, используемый для полигонов.

StyleType устанавливается для символьной колонки. Если Type устанавливается на 1, то используется параметр Column со своим аргументом. Когда style_number установлено на 0, то значение Column игнорируется, а в Каталоге карт создаются колонки изображения.

311

Оператор Run Menu Command

Оператор Run Menu Command

Вы можете получить доступ к обращенной выборке, используя следующую команду MapBasic:

Run Menu Command M_QUERY_INVERTSELECT.

312

Оператор Set Map

Оператор Set Map

(добавлены свойство полупрозрачности и формат Military

Grid Reference System)

Полупрозрачность поддерживается для растровых слоев и слоев поверхности. Также

добавлен вывод координат в формате Military Grid Reference System.

Главная часть оператора Set Map имеет следующий синтаксис:

Set Map

[ Window window_id ]

[ Center ( longitude, latitude ) [ Smart Redraw ] ]

[ Clipping { Object clipper | Off | On } | Using [Display {All | PolyObj} | Overlay] } ]] [ Zoom { zoom_distance [ Units dist_unit ] | Entire [ Layer layer_id ] } ]

[ Preserve { Scale | Zoom } ]

[ Display { Scale | Position | Zoom } ]

[ Order layer_id, layer_id [ , layer_id ... ] ] [ Pan pan_distance [ Units dist_unit ]

{ North | South | East | West } [ Smart Redraw ] ] [ CoordSys... ]

[ Area Units area_unit ]

[ Distance Units dist_unit ]

[ Distance Type { Spherical | Cartesian } ] [ XY Units xy_unit ]

[Display Decimal {On | Off | [ Display Grid ]

[ Scale screen_dist [ Units dist_unit ] For map_dist [ Units dist_unit ] ] [ Redraw { On | Off } ]

[Inflect num_inflections [ by percent ]

Contrast contrast_value ]

[ Brightness brightness_value ]

[ {ALPHA <alpha_value> }|{TRANSLUCENCY <translucency_percent>}] [ TRANSPARENCY {OFF|ON ]

[ COLOR <transparent_color_value> ] [ GrayScale { On | Off }

[Round rounding_factor ] [ Relief { On | Off } ]

[ Move Nodes { value | Default } ]

[

LAYERCLAUSE LAYERCLAUSE . . .

alpha_value B целое, представляющее значение альфаBканала для полупрозрачности. Значение изменяется в пределах 0B255. 0 B это полная прозрачность. 255 B это полная непрозрачность. Значения между 0B255 делают изображение слоя полупрозрачным.

translucency_percent B целое, представляющее процент полупрозрачности для растров и слоев поверхности. Значение изменяется в диапазоне между 0B100. 0 B это полностью непрозрачное, 100 B это полностью прозрачное.

Или ALPHA или TRANSLUCENCY должны быть определены, но каждый из них определяет то же самое но разными путями. Если указано несколько таких параметров, будет использоваться последний.

Параметры ALPHA и TRANSLUCENCY являются новыми в операторе Set Map. Они применяются для растровых слоев и слоев поверхностåé.

313

Оператор Set Map

Параметры CONTRAST, BRIGHTNESS и GRAYSCALE теперь поддерживаются и для растровых слоев. Их можно применять и для растровых слоев, и для слоев поверхностåé.

Параметры TRANSPARENCY и COLOR являются новыми для Set Map и применяются только для растровых слоев.

Параметр TRANSPARENCY определяет, является ли индивидуальный цвет прозрачным для растрового слоя.

xy_unit B это строка, представляющая название единиц измерения координат X и Y (например, ”m” для метров, ”degree” для градусов). Если в качестве "XY Units" выставлены градусы, то предложение Display Decimal определяет десятичные градусы. Установите On для отображения карты в десятичных градусах или Off для установки градусов, минут, секунд. Установите Display Grid для отображения в формате Military grid reference.

Set Map XY Units "m" Display Grid

 

Set Map XY Units "degree" Display

Grid

Set Map

XY

Units

"degree"

Display

Decimal On

Set Map

XY

Units

"degree"

Display

Decimal Off

Следующий оператор определяет метры в качестве единиц измерения координат:

Set Map XY Units ”m”

314

Функция MapperInfo ( )

Функция MapperInfo ( )

(отображение координат в формате Military Grid Reference

System)

MAPPER_INFO_XYUNITS

Строка, представляющая название единиц

 

измерения координат карты, например,

 

“градусы” . Короткое целое,

 

определяющее, отображаются ли

 

координаты карты в десятичных градусах,

 

градусах/минутах/секундах или в формате

 

"Армейская система США". Возвращаемое

 

значение может быть одним из:

 

MAPPER_INFO_DISPLAY_DECIMAL,

 

MAPPER_INFO_DISPLAY_DMS или

 

MAPPER_INFO_DISPLAY_MGRS

315

Типы объектов Группа точек и Коллекция

Следующие функции и операторы теперь поддерживают новые типы объектов (

"Группу точек" и "Коллекцию".

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