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

Оператор Close Table

Оператор Close Table

Назначение:

Закрывает открытую таблицу.

Синтаксис:

Close Table table [ Interactive ]

где

table – имя открытой таблицы.

Описание:

Оператор Close Table используется для закрытия таблицы table. Для закрытия сразу всех открытых таблиц используется оператор Close All.

Когда таблица показывается в одном или нескольких окнах Графиков или Списков, то при закрытии таблицы эти окна также закрываются. При закрытии таблицы из окон Карт удаляются только соответствующие закрываемой таблице слои. Окно Карты автоматически будет закрыто только тогда, когда будет закрыта последняя, отображаемая в окне Карты, таблица.

Если применить оператор Close Table к связанной таблице, которая имеет несохраненные изменения, то MapInfo запомнит изменения до следующего сеанса работы.

Сохранение изменений в таблице

Когда оператор Close Table применяется к таблице, в которой были произведены изменения и которые не были сохранены на диске, то при закрытии они будут утеряны. Сообщений об этом не выводится. Если Вы не хотите потерять текущие изменения в таблицах, используйте слово Interac4 tive для вывода на экран диалога, предлагающего пользователю сохранить или игнорировать изменения.

Если Вы хотите гарантировать несохранение изменений в таблице, используйте оператор RollBack перед ее закрытием. Аналогично, если Вы хотите гарантировать сохранение изменений в таблице, выполните оператор Commit Table перед оператором закрытия. Для определения, есть ли в таблице изменения, не сохраненные на диске, используется функция TableInfo(table,TAB_INFO_EDITED).

Сохранение тематических и косметических объектов

Если Вы закрываете таблицу, графические объекты которой показываются на единственном некосметическом слое окна Карты, то будет закрыто и это окно. Чтобы сохранить объекты Косметического и/или тематического слоев из этого окна, используйте ключевое слово Interactive. Если MapInfo обнаружит косметические и тематические объекты, то перед тем, как закрыть окно Карты, выведет сообщения, предлагающие пользователю сохранить объекты на диске или забыть о них. Сообщений не будет выводиться, если Вы использовали ключевое слово Interactive, но на Карте нет тематических слоев и объектов в Косметическом слое.

Пример:

Open Table "world"

Close Table world

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

Close All, Commit, Open Table, RollBack, TableInfo(_)

Справочник MapBasic

73

Оператор Close Window

Оператор Close Window

Назначение:

Закрывает или прячет окна.

Синтаксис:

Close Window window_spec [ Interactive ]

где

window_spec – имя окна (такое как Ruler ), код окна (такой как WIN_RULER ) или целое число, определяющее окно.

Описание:

Оператор Close Window закрывает или прячет окна MapInfo.

Для закрытия документального окна (окна Карты, Списка, Графика и Отчета) необходимо задать его целым числом в параметре window_spec. Это число помогут Вам определить операторы

FrontWindow(_) и WindowID(_).

Чтобы закрыть специальное окно или инструментальную панель, надо в параметре window_spec ввести специальное имя окна или его код. Вы можете окно "Линейка" задать именем Ruler или кодом WIN_RULER. В следующей таблице приводятся имена и коды для параметра window_spec:

Имя окна

Код окна

 

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

MapBasic.

WIN_MAPBASIC

 

Окно MapBasic

 

 

 

 

 

 

 

 

Help

WIN_HELP

 

Окно Справочной системы.

Statistics

WIN_STATISTICS

 

Окно "Статистика".

Legend

WIN_LEGEND

 

Окно "Легенда".

Info

WIN_INFO

 

Окно "Информация", которое открывается

 

 

 

инструментом Информация.

Ruler

WIN_RULER

 

Окно "Линейка", которое открывается инструментом

 

 

 

Линейка.

Message

WIN_MESSAGE

 

Окно "Сообщение", которое открывается оператором

 

 

 

 

 

 

Print.

 

 

 

 

 

 

Сохранение тематических и косметических объектов

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

Interactive.

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

Пример:

Close Window Legend

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

Open Window, Print, Set Window

74

Справочник MapBasic

Функция ColumnInfo( )

Функция ColumnInfo( )

Назначение:

Возвращает информацию о колонке в открытой таблице.

Синтаксис:

ColumnInfo({ tablename | tablenum },{ colomnname | "COLn" },attribute)

где

tablename – имя открытой таблицы;

tablenum – целое число, идентифицирующее таблицу; colomnname – имя колонки в этой таблице;

n – целое число как номер колонки в таблице;

attribute – код, управляющий типом результата функции.

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

Зависит от значения параметра attribute.

Описание:

Функция ColumnInfo(_) возвращает информацию об одной колонке в открытой таблице.

Первый параметр функции задает таблицу (именем или идентификатором). Второй параметр определяет колонку. Параметр attribute должен принимать значения целочисленного кода, задающего тип возвращаемой функцией информации.

В следующей таблице в первой колонке приводятся имена кодов для использования в качестве параметра attribute. Имена присвоены целочисленным кодам для удобства. Эти определения находятся в файле MAPBASIC.DEF и, если Вы будете использовать имена, включите в начало Вашей программы оператор Include "MAPBASIC.DEF".

Значения attribute

COL_INFO_NAME COL_INFO_NUM COL_INFO_TYPE

COL_INFO_WIDTH

Результат ColumnInfo( ):

Имя колонки (строка).

Номер колонки (короткое целое число).

Тип колонки (короткое целое число). Смотрите вторую таблицу.

Ширина символьного или десятичного поля (короткое целое число). Используется только для символьных и десятичных колонок.

COL_INFO_DECPLACES

Число знаков после десятичной точки в поле

 

десятичного типа (короткое целое число).

COL_INFO_INDEXED

Признак индексирования колонки (логическая

 

величина).

 

 

COL_INFO_EDITABLE.

Признак наличия изменений значений колонки

 

 

(логическая величина)

 

 

 

 

Если функция ColumnInfo(_) имеет значение параметра attribute равным

Справочник MapBasic

75

Функция ColumnInfo( )

COL_INFO_TYPE, то возвращает одно из следующих:

Функция возвращает код

Тип колонки

 

 

COL_TYPE_CHAR

Символьный

 

 

COL_TYPE_DECIMAL

Десятичный с фиксированной запятой

COL_TYPE_FLOAT

Вещественный

COL_TYPE_INTEGER

Целочисленный (4 байт)

COL_TYPE_SMALLINT

Короткое целое число (2 байт)

COL_TYPE_DATE

Дата

COL_TYPE_LOGICAL

Логический (TRUE или FALSE)

 

 

COL_TYPE_GRAPHIC

Специальный тип колонки "Obj" (представляет

 

графические объекты, присоединенные к таблице)

Ошибки:

 

 

Функция вернет следующие коды ошибок: ERR_TABLE_NOT_FOUND, если не найдена данная таблица,

ERR_FCN_ARG_RANGE, если значение аргумента выходит за пределы, заданные при его определении.

Пример:

Include "MAPBASIC.DEF"

Dim s_col_name As String, i_col_type As SmallInt

Open Table "world"

s_col_name = ColumnInfo("world","col1",COL_INFO_NAME)

i_col_type = ColumnInfo("world","col1",COL_INFO_TYPE)

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

NumCols(_), TableInfo(_)

76

Справочник MapBasic

Функция Combine( )

Функция Combine( )

Назначение:

Возвращает либо объект типа "область", либо "полилиния", представляющий объединение двух объектов.

Синтаксис:

Combine(object1,object2)

где

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

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

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

Описание:

Функция Combine(_) возвращает объект, являющийся результатом географического объединения двух объектов. Объединение двух смежных объектов удаляет границу между ними.

Результат функции Combine(_) такой же как при выполнении географического объединения командой ОБ ЕКТЫ > КОМБИНАЦИЯ, за тем исключением, что функция создает новый объект, не меняя объектов object1 и object2. Кроме того, функция Combine(_) объединяет только объекты без данных.

Объект, полученный в результате выполнения функции Combine(_), оформляется так же, как объект object1.

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

Objects Combine

Справочник MapBasic

77

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