Вверх

Интерпретируемые сценарии MapBasic


scripts

Сценарий, или скрипт – это программа, не предназначенная для компиляции (перевода в бинарный код). Сценарий распознаётся «на лету» специальными программными компонентами (интерпретаторами) для немедленного выполнения. Исходный код при этом остаётся в неизменном виде и может быть открыт в любом текстовом редакторе.

Язык MapBasic сочетает в себе признаки как компилируемого, так и интерпретируемого языка. Концепция «Интегрированной Картографии» MapInfo предполагает, что:

«Ваша программа осуществляет управление программой MapInfo, конструируя строки, представляющие операторы языка MapBasic, которые затем передаются в MapInfo Professional (…). MapInfo Professional выполняет эти операторы точно так же, как если бы пользователь вводил их с клавиатуры в окно MapBasic.»

Ниже на странице представлены скрипты на различных языках, использующие управление экземпляром MapInfo посредством обращения к COM-объекту «MapInfo.Application», а также другие сценарии.



VBScript


mi_CloseAll
Скрипт закрывает все открытые таблицы в одной из запущенных копий программы MapInfo.
doMapbasic_in_MapInfo
Скрипт читает входной текстовый файл и выполняет записанные в в нем простые (без циклов и условного оператора IF ) команды MapBasic'а в одной из запущенных копий программы MapInfo.
mergeMIFs
Скрипт предназначен для сбора множества MIF файлов одинаковой структуры в один объединенный файл. Не требует Mapinfo.
mi_add_to_MIF_filepath
Скрипт добавляет в файл MIF/MID информацию об имени и пути этого файла MIF. MIF дополняется двумя полями mifPath, mifName. В MID каждая запись дополняется путем и именем MIF файла. Не требует Mapinfo.
MI_getMIF_title
Скрипт читает и выводит в файл заголовок MIF файла – строки до блока DATA. Не требует Mapinfo.
OBJ2MIF
Скрипт экспортирует каждый объект открытой пользователем таблицы в отдельный файл обменного формата mid/mif. Имена результирующим файлам присваиваются согласно порядковому номеру объекта в исходной таблице.
Ozi2Tab
Скрипт переводит формат Ozi Map File в MapInfo Tab с привязкой по 4-м точкам.
Запускается из командной строки Windows.
mi_rebuild_Index
Скрипт предназначен для воссоздания индексов таблиц MapInfo, в случаях, когда их открытие приводит к сообщениям типа «неверный индекс».
mi_tabRasterReproject
Скрипт производит пересчет точек привязки растровой таблицы MapInfo в указанную систему координат и выводит новую таблицу в файл или поток StdOut.
REX4MI
Скрипт, позволяющий выполнять поиск текста и его замену в файлах обменного формата MID/MIF при помощи регулярных выражений VBScript.
mi_TabColsStr
Скрипт выводит перечень полей таблицы MapInfo в файл или поток StdOut в виде строки, разделенной точкой с запятой (;). Имена полей выводятся, начиная с 3-ей позиции в выходной строке. Первые две позиции занимают путь к таблице и ее имя, которое стандартно будет присвоено MapInfo при открытии.
mi_tabFileInfo
Скрипт выводит информацию о свойствах таблицы MapInfo в файл или поток StdOut.
mi_TabsList
Скрипт выводит список всех открытых таблиц в текстовый файл. Список состоит из имени таблиц и пути к ней. Требует запущенную копию Mapinfo.

Макросы VBA (Visual Basic for Applications)


GiveTable2MI
Макрос для Microsoft Word. Позволяет перенести таблицу, созданную в Word, в окно отчета MapInfo Professional.
GetCoordinate
Макрос для Microsoft Excel. Позволяет получить координаты всех узлов полигонов из выбранной таблицы MapInfo Professional.
Map Access table in MapInfo
Пример создания точек в MapInfo по данным из таблицы Microsoft Access с помощью макроса.

Сценарии AutoIt!


print4mi
Скомпилированный скрипт AutoIt3. Предназначен для пакетного вывода на печать всех окон Отчёта во всех найденных Рабочих Наборах MapInfo. Рабочие наборы ищутся рекурсивно в указанной пользователем директории, без ограничения глубины вложения.

Прочие разработки


extract_field_names
Скрипт на Python'е. Извлекает все названия полей из файлов MIF/TAB для их автоматической транслитерации или дальнейшей замены с помощью substitute_field_names.
substitute_field_names
Скрипт на Python'е. Заменяет все названия полей в файлах MIF/TAB по данным из файла fields.csv.