среда, 6 ноября 2013 г.

Швейцарский нож для Mapinfo.

Mapinfo имеет в своем распоряжении полный набор средств, для манипуляций с данными. Это и штатные инструменты, это и язык MapBasic, при помощи которого можно расширять функционал практически до бесконечности. Сам язык MapBasic довольно прост. Помимо родной документации вроде "MapBasic xxx UserGuide.pdf", есть книга «Программирование для MapInfo на примерах». Книга свежая, содержит много интересного и полезного, позволяющего начать движение в сторону освоения Mapinfo и MapBasic. Ко всему прочему, в Mapinfo есть крайне полезная, с практической точки зрения, вещь - "окно MapBasic". Когда это окно активно, в нем отображаются команды MapBasic, при помощи которых Mapinfo выполняет те или иные операции, например: открытие таблиц, отображение таблиц в виде карты или списка, команды по оформлению слоев карты и многое другое... Кроме отображения команд, "окно Mapbasic" служит для ввода и выполнения команд со стороны пользователя.

И вроде все хорошо, всего вроде хватает, но в один прекрасный момент появляется необходимость обработать много таблиц или рабочих наборов, и применить к ним однотипные действия. Конечно можно много поработать руками, но иногда приятно поработать головой, и освободить руки для более полезных и интересных дел. Вот так и родилась идея "швейцарского ножа" - инструмента, который поможет выполнять однотипные действия над таблицами Mapinfo и даже рабочими наборами.

Интерфейс "ножа" содержит элемент выбора рабочей папки (Искать в) в которой, с учетом вложенных папок, производится поиск файлов, согласно указанной в поле "файлы" маске.
Для каждого из найденных файлов выполняется "действие".
В качестве выполняемого "действия" над результатами поиска можно использовать произвольный модуль программы MapBasic или набор команд MapBasic


Индикатор в статусной панели отображает количество обработанных файлов.


Как это может быть полезно?
Например:
  • преобразовать кучу таблиц в формат mif/mid
  • обновить данные в полях таблиц(цы) рабочего набора




Комментариев нет: