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

Оператор Pack Table

Оператор Pack Table

Назначение:

Соответствует команде MapInfo ТАБЛИЦА > ИЗМЕНИТЬ > УПАКОВАТЬ.

Синтаксис:

Pack Table table { Graphic | Data | Graphic Data } [ Interactive ]

где

table – имя открытой таблицы, которая не имеет несохраненные изменения.

Описание:

Для упаковки неграфических данных таблицы в операторе используется ключевое слово Data. Когда Вы сжимаете данные таким образом, MapInfo физически удаляет все строки, которые были помечены как удаленные.

Для упаковки графических объектов таблицы в операторе используется ключевое слово Graphic. Упаковывая графику, удаляются пустые места из .MAPLфайла таблицы. Однако упаковка графических объектов несколько замедляет графические операции.

Оператор Pack Table может использовать одновременно и слово Data, и слово Graphic, или должен включать хотя бы одно.

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

MapInfo не может сжимать таблицу, если она была изменена и эти изменения не были сохранены на диске. Для сохранения на диск таблицы используйте оператор Commit.

Внимание: Упаковка таблицы может повлиять на подписи, созданные или измененные пользователем и сохраненные в Рабочем Наборе. Это происходит потому, что в Рабочем Наборе подписи пользователя соотносятся с номером строки таблицы; операция упаковки меняет порядок записей, потому что из таблицы исключаются удаленные записи; потому после упаковки подписи могут появляться не там, где ожидалось и иметь неправильный вид. Если же Вы удаляли записи из нижней части таблицы, а подписи соотнесены с верхними записями, то упаковка не испортит подписей.

Пример:

Pack Table parcels Data

370

Справочник MapBasic

Функция PathToDirectory$( )

Функция PathToDirectory$( )

Назначение:

Извлекает из полной спецификации файла имя каталога.

Синтаксис:

PathToDirectory$(filespec)

где

filespec – строка, содержащая полное имя файла (маршрут + имя).

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

Строка. Величина типа String.

Описание:

Функция PathToDirectory$( ) возвращает часть полного имени, которая содержит имена диска и каталогов.

Полное имя файла может содержать имя диска, имена каталогов или папок и само имя файла. В DOS имя каталога начинается с литеры с двоеточием, обозначающими диск (например, "C:"). В Macintosh имя папки всегда предваряет имя диска (например, "Applications").

Например, в DOS для имени

"C:\MAPINFO\DATA\WORLD.TAB"

функция вернет строку с DOSLмаршрутом "C:\MAPINFO\DATA\". В Macintosh для имени

"HD:MAPINFO:DATA:WORLD"

функция вернет строку "HD:MAPINFO:DATA:".

Пример:

Dim s_filespec, s_filedir As String s_filespec = "C:\MAPINFO\DATA\STATES.TAB" s_filedir = PathToDirectory$(s_filespec)

' переменная s_filedir теперь равна строке "C:\MAPINFO\DATA\"

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

PathToFileName$( ), PathToTableName$( )

Справочник MapBasic

371

Функция PathToFileName$( )

Функция PathToFileName$( )

Назначение:

Извлекает из полного имени файла имя файла.

Синтаксис:

PathToFileName$(filespec)

где

filespec – строка, содержащая полное имя файла (маршрут + имя).

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

Строка. Величина типа String.

Описание:

Функция PathToFileName$( ) возвращает часть полного имени, которая содержит имя файла.

Полное имя файла может содержать имя диска, имена каталогов или папок и само имя файла. В DOS имя файла может состоять из первого имени длиной не более восьми символов и трех букв расширения. Первое имя файла и расширение разделено точкой.

Например, в DOS для спецификации

”C:\MAPINFO\DATA\WORLD.TAB”

функция вернет строку "WORLD.TAB". В среде Macintosh в спецификации

”HD:MapInfo:Data:World”

имя папки – это “HD:MapInfo:Data:", а имя файла – “World".

Пример:

Dim s_filespec, s_filename As String

s_filespec = "C:\MAPINFO\DATA\STATES.TAB"

s_filename = PathToFileName$(s_filespec)

'

' переменная s_filename теперь равна строке "STATES.TAB"

'

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

PathToDirectory$( ), PathToTableName$( )

372

Справочник MapBasic

Функция PathToTableName$( )

Функция PathToTableName$( )

Назначение:

Возвращает имя таблицы, синоним, используя полное имя файла таблицы.

Синтаксис:

PathToTableName$(filespec)

где

filespec – строка, содержащая полное имя файла (маршрут + имя).

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

Строка длиной до 31 символа. Величина типа String.

Описание:

Получая полное имя файла с расширением .TAB, функция возвращает строку, которая может быть для этой таблицы в данный момент псевдонимом (alias). Именно такой синоним видит пользователь в строке заголовка документального окна MapInfo (например, в строке заголовка Списка).

Этот абзац отличается от текста в ветаLкниге, но он мне больше нравится.Для получения синонима таблицы при ее открытии MapInfo удаляет из полного имени файла имя носителя, каталога и расширение “.TAB” (для системы DOS). Любые специальные символы, такие как тире, пробелы и др. (имена файлов в Macintosh могут включать пробелы и знаки пунктуации) заменяются знаками подчеркивания (_). Если имя файла начинается с цифры, то MapInfo вставляет знак подчеркивания в начало имени таблицы. Если результирующая строка получается длинее 31 символа, то MapInfo отсекает лишние с конца.

Заметим, что таблица может быть открыта с именемLсинонимом, отличающимся от имени файла. Программа MapBasic может открыть таблицу с именемLсинонимом оператором Open Table с предложением As. Например, откроем таблицу WORLD под синонимом “Earth”:

Open Table ”C:\MapInfo\Data\World.tab” As Earth

Могут быть также открыты две одноименные таблицы, расположенные в разных каталогах, и MapInfo автоматически изменит имя одной из таблиц. В таких случаях имя таблицы, возвращаемое функцией PathToTableName$( ), может не совпадать с именем, под которым она открыта в MapInfo. Для того, чтобы определить синонимическое имя открытой таблицы, используйте функцию TableInfo(TAB_INFO_NAME).

Пример:

Dim filespec, tablename As String

filespec = "C:\MAPINFO\DATA\RUSSIA.TAB"

tablename = PathToTableName$(filespec)

' Переменная tablename теперь равна строке "RUSSIA"

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

PathToDirectory$( ), PathToFileName$( ), TableInfo( )

Справочник MapBasic

373

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