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

Оператор Set Table

Оператор Set Table

Назначение:

Изменяет некоторые режимы работы с открытой таблицей.

Синтаксис:

Set Table tablename

[ FastEdit { On | Off } ] [ Undo { On | Off } ]

[ ReadOnly ]

[ Seamless { On | Off } [ Preserve ] ] [ UserMap { On | Off } ]

[ UserBrowse

{ On | Off } ]

[ UserClose { On | Off } ]

[ UserEdit { On | Off } ]

[ UserRemoveMap

{ On | Off } ]

[ UserDisplayMap

{ On | Off } ]

Описание:

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

Режим FastEdit

Обычно, всякий раз, когда таблица редактируется (независимо, кем – пользователем или прикладной программой), то MapInfo не записывает изменения непосредственно в таблицу. Вместо этого MapInfo помещает информацию об изменениях во временный файл, который называется файлом транзакций. Записывая изменения в файл транзакций вместо того, чтобы вносить их непосредственно в таблицу, MapInfo дает возможность пользователю удалить эти изменения (например, командой ФАЙЛ > ВОССТАНОВИТЬ в MapInfo).

Если Вы выполнили оператор Set Table с предложением FastEdit On, то MapInfo будет записывать изменения непосредственно в таблицу, минуя файл транзакций. Операции правки таблицы в таком режиме будут производиться быстрее.

Пока включен режим FastEdit, таблица изменяется немедленно и не требуется выполнение оператора Commit для фиксирования изменений на диске. Восстановить исходное состояние таблицы командами ФАЙЛ > ЗАКРЫТЬ ТАБЛИЦУ и ФАЙЛ > ВОССТАНОВИТЬ нельзя.

Режим FastEdit может устанавливаться для нормальных, базовых таблиц. Вы не можете установить этот режим для временных таблиц, таких как ЗАПРОС1. Вы не можете установить режим редактирования FastEdit для таблиц, которые уже имеют несохраненные на диск изменения.

Внимание: Пока открытая таблица редактируется в режиме FastEdit, другие пользователи сети не могут ее открыть. После того, как Вы выполнили все изменения в режиме FastEdit, выполните оператор Commit или Rollback для установки состояния таблицы, чтобы она была доступна другим пользователям сети.

Справочник MapBasic

569

Оператор Set Table

Режим Только–чтение

Ключевое слово ReadOnly в операторе включает режим "только чтение" для таблицы tablename, так что пользователь не сможет ее изменять вплоть до конца сеанса в MapInfo. Оператор Set Table не может выключить режим "только чтение". Этот режим Вы также можете установить для таблицы при ее открытии оператором Open Table.

Режим отмены

Предложение Undo On устанавливает режим работы с таблицей, при котором MapInfo запоминает всю информацию об изменениях, позволяя пользователю применять команду ПРАВКА > ОТМЕНИТЬ. Если Вы использовали в операторе Set Table предложение Undo Off, то MapInfo не запоминает информацию о последних изменениях в таблице. В последнем режиме экономятся ресурсы Вашего компьютера, а операции редактирования таблицы выполняются существенно быстрее.

Управление сшитыми таблицам

MapInfo 4.0 поддерживает новый тип таблиц – сшитые таблицы. В сшитой таблице группируются несколько таблиц в единое целое. Концепция сшитых таблиц подробно описана в документации MapInfo.

Предложение Seamless устанавливает или отменяет атрибут сшитости для таблицы. Режим Seamless Off открывает таблицу, входящую в группу сшитых, для редактирования. Режим Seamless On восстанавливает атрибут сшитости. Ключевое слово Preserve сохраняет режим; то есть MapInfo записывает режим в таблицу. Без слова Preserve смена режима действует только до конца сеанса работы.

Защита таблиц от доступа пользователя

Предложения User... позволяют выборочно запрещать пользователю применять определенные операции к таблице. Это полезно, если Вы хотите запретить пользователю открывать, закрывать или изменять определенные таблицы или окна. Эти предложения ограждают таблицы только от действий пользователя, но не от операторов MapBasic-программ. Внимание: Эти предложения не действуют на Косметический слой.

Пример

Эффект

UserMap Off

Таблица не появится в окне диалоге “Новое окно Карты” и “Добавить

 

слой”.

UserBrowse Off

Таблица не появится в окне диалоге “Новое окно Списка”.

UserClose Off

Таблица не появится в окне диалоге “Закрыть таблицу”.

UserEdit Off

Пользователь не может редактировать таблицу: окна Списка и

 

Информации не редактируются и соответствующий слой Карты

 

невозможно сделать изменяемым.

UserRemoveMap Off

Когда эта таблица появляется в диалоге “Управление слоями”,

 

кнопка “Удалить” для нее неактивна.

570

Справочник MapBasic

 

Оператор Set Table

 

 

UserDisplayMap Off

Когда эта таблица появляется в диалоге “Управление слоями”,

 

флажок видимости для нее сброшен и отключен.

Пример:

Следующий пример не допускает таблицу World в диалог закрытия таблиц.

Set Table World UserClose Off

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

TableInfo( )

Справочник MapBasic

571

Оператор Set Target

Оператор Set Target

Назначение:

Назначает изменяемый объект или объекты или отменяет назначение.

Синтаксис:

Set Target { On | Off }

Описание:

Оператор Set Target управляет выбором изменяемого объекта на Карте. Действие оператора аналогично действию команд в MapInfo ОБ ЕКТЫ > ВЫБРАТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ и

ОБ ЕКТЫ > ОСВОБОДИТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ. Некоторые операции в MapInfo предваряются выбором объектов, которые надо изменить. Например, Вы должны сначала назначить изменяемым объект перед тем, как выполнить оператор Objects Split. Правила назначения изменяемого объекта описаны в документации MapInfo.

Оператор Set Target On соответствует команде ОБ ЕКТЫ > ВЫБРАТЬ ИЗМЕНЯЕМЫЙ ОБ ЕКТ. После выполнения оператора или команды объекты, выбранные на данный момент, становятся изменяемыми. Если не выбрано ни одного объекта, оператор генерирует ошибку.

Оператор Set Target Off соответствует команде ОБ ЕКТЫ > ОСВОБОДИТЬ ИЗМЕНЯЕМЫЙ

ОБ ЕКТ.

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

Object Combine, Objects Erase, Objects Intersect, Objects Overlay, Objects Split

572

Справочник MapBasic

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