Открытие таблицы в MapInfo Pro под псевдонимом

 

При открытии любой таблицы в MapInfo Pro, ей автоматически присваивается псевдоним. Это происходит из-за того, что имя файла может содержать символы, которые имя таблицы не поддерживает, например, пробелы.

Псевдонимы таблиц в интерфейсе MapInfo Pro, можно увидеть в Списке таблиц или в окне карты. Обычно видно, что пробелы или спец символы в имени файла заменены подчеркиванием (_). Другим примером автоматического изменения является сокращение имен длинных файлов.

 

В MapInfo Pro v2019.3 была добавлена поддержка использования переменных в окне SQL. Что открыло возможности для создания запросов и скриптов, запрашивающих у пользователя ввод данных перед выполнением. Все скрипты стали более динамичными, поскольку стало возможно использовать один скрипт, который будет вести себя по-разному в зависимости от ввода от пользователя.

 

В данной статье рассмотрим как использовать окно SQL для создания небольшого скрипта, который попросит пользователя выбрать таблицу для открытия и указать для неё псевдоним.

 

 

Создание переменных

 

В окне SQL выберите «Редактировать переменные» в раскрывающемся списке «Переменные». Обратите внимание, что этот функционал доступен только в MapInfo Pro начиная с версии v2019.3.

 

 

В диалоге «Редактировать переменные» нам нужны две переменные. Используйте кнопку «Добавить», чтобы добавить вторую. 

 

Выберем первую переменную и используем поля ниже для управления настройками:

 

  • Имя: назовем первую переменную sFile, поскольку она будет содержать имя файла в виде строковой (string) переменной.

  • Тип: должен быть File, поскольку пользователю будет предложено выбрать TAB файл.

  • Подсказка: этот текст отображается рядом с элементом управления в диалоговом окне.

  • Текст подсказки: отображается, когда вы наводите указатель мыши на элементом управления в диалоговом окне. Может быть более подробным, чем подсказка.

  • Свойства: с помощью этого поля можно указать, какие типы файлов следует открывать пользователю. В данном примере мы хотим, чтобы пользователь открывал TAB файлы, поэтому укажем Extension = TAB.

 


Далее настроим вторую переменную:

 

  • Имя: назовем вторую переменную sAlias, поскольку она будет содержать псевдоним в виде строковой (string) переменной.

  • Тип: на этот раз выбираем String в качестве типа, так как нам нужно, чтобы пользователь вручную вводил псевдоним.

  • Подсказка: этот текст отображается рядом с элементом управления в диалоговом окне.

  • Текст подсказки: здесь можно добавить больше описания и, возможно, даже включить некоторые правила, например, что псевдоним не должен содержать пробелов, должен быть короче 30 символов и т. д. Некоторые из них обрабатываются скриптом, другие ограничения контролируются с помощью свойств.

  • Свойства: здесь укажем «Не разрешать пустые строки» из списка «Добавить свойство», а также  «Ограничить длину строки». И изменим значение MaximumLength на 30, поскольку это максимальная длина имени таблицы в MapInfo Pro.

 

 

Нажмем кнопку ОК, чтобы сохранить переменные, и вернуться в окно SQL.

 

 

Создание выражения

 

Пришло время создать выражение, открывающее таблицу под заданным псевдонимом. Для этого понадобится только один оператор MapBasic - "Open Table", поскольку он содержит все необходимые нам параметры.

Используем раскрывающийся список «Переменные», чтобы вставить созданные нами ранее переменные в выражение.

 

 

Полное выражение будет выглядеть следующим образом:

 

Open Table sFile As PathToTableName$(sAlias) Interactive View Automatic

 

Обратите внимание, функция PathToTableName$ () обеспечивает корректность введенных данных, она преобразовывает пробелы в символы подчеркивания, ограничивает длину до 30 символов и т.д.

 

 

В завершени задайте скрипту название с помощью кнопки «Переименовать скрипт» и сохраните его. Также можно отметить скрипт как часто используемый, чтобы он отображался в разделе «Избранное» раскрывающегося списка SQL. Все эти параметры можно найти в правой верхней части окна SQL.

 

 

Использование скрипта

 

Чтобы использовать скрипт, вы можете сразу запустить его прямо из окна SQL с помощью кнопки «Пуск».

Кроме того скрипт появится в «Избранном» раскрывающегося списка SQL. Все, что вам нужно сделать - это щелкнуть по нему. Также можно использовать небольшой значок редактирования в правой части, чтобы открыть скрипт в окне SQL, если потребуется его изменить.

 

 

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

 

 

Укажем псевдоним без пробелов, чтобы сделать имя короче и избежать использования пробелов.

 

 

Когда вы нажмете кнопку ОК, MapInfo Pro запустит сценарий, используя значения, которые вы указали в диалоговом окне. В этом случае таблица будет открыта с использованием введенного псевдонима.

 

 

Таким образом, использование переменных открывает новые горизонты для создания интеллектуальных скриптов, которые могут помочь автоматизировать многие задачи. Надеемся, что эта статья была полезна и подарила вам несколько новых идей использования данного функционала. Попробуйте написать свой скрипт и воспользуйтесь множеством других преимуществ последней версии программы, скачав пробную версию MapInfo Pro на нашем сайте.

 

 

 

 

Другие полезные статьи:

 

Использование функции ProportionOverlap в MapInfo Pro
Использование переменных в окне SQL
Использование выражений при создании подписей в MapInfo Pro