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

Оператор Run Application

Оператор Run Application

Назначение:

Загружает прикладную программу или Рабочий Набор в MapInfo, окна которого будут добавлены к уже открытым.

Синтаксис:

Run Application file

где

file – имя файла прикладной программы или Рабочего Набора.

Описание:

Оператор Run Application запускает программу MapBasic или загружает Рабочий Набор.

Выполняя оператор Run Application, одна прикладная программа, написанная на MapBasic, может запустить на выполнение другую программу, определенную параметром file. Значение параметра должно быть именем файла откомпилированной программы (файл с расширением .MBX). Оператор не может запускать файлы с расширением .MB, то есть файлы, содержащие тексты программ.

Для остановки одной программы из другой используется оператор Terminate Application.

Пример:

Следующий оператор загружает программу REPORT.MBX:

Run Application "C:\MAPBASIC\APP\REPORT.MBX"

Следующий оператор загружает Рабочий Набор, PARCELS.WOR:

Run Application "Parcels.wor"

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

Run Command, Run Menu Command, Run Program, Terminate Application

452

Справочник MapBasic

Оператор Run Command

Оператор Run Command

Назначение:

Выполняет оператор MapBasic, заданный строкой.

Синтаксис:

Run Command command

где

command – символьная строка, представляющая оператор MapBasic.

Описание:

Оператор Run Command интерпретирует строку command в оператор MapBasic и выполняет его.

Оператор имеет некоторые ограничения, обусловленные тем, что интерпретация происходит уже из откомпилированной программы. Имена переменных не могут быть заданы в строке command, т. к. может не произойти подстановки их значений. Например, следующая группа операторов не будет работать, так как указание на переменные x и y попадает в строку, ограниченную кавычками:

Dim cmd_string As String

' Этот пример НЕ РАБОТАЕТ

Dim x, y As Float

 

...

 

cmd_string = " x = Abs(y) "

Run Command cmd_string

Оператор позволяет конструировать командную строку из строковых величин, используя строковые переменные, если конфликта с кавычками можно избежать:

Dim

cmd_string As String

' Этот пример будет работать

Dim

map_it, browse_it As Logical

Open Table "world"

 

If

map_it Then

 

cmd_string = "Map From "

 

Run Command

cmd_string + "world"

End If

 

 

If browse_it

Then

 

cmd_string = "Browse * From "

Run Command

cmd_string + "world"

End If

 

 

Пример 1:

Оператор Run Command представляет гибкий путь выполнения операторов, аргументы которых представляются списками переменной длины. Так, оператор Map From может включать в себя имя одной таблицы или список имен таблиц через запятую. Программа может интерпретировать оператор во время выполнения, чтобы определить (используя данные, введенные пользователем), сколько таблиц включить в карту. Оператор Run Command позволяет на ходу сконструировать и выполнить оператор Map From.

Dim cmd_text As String

Dim cities_wanted, counties_wanted As Logical

Справочник MapBasic

453

Оператор Run Command

Open Table "states.tab"

Open Table "cities.tab"

Open Table "counties.tab"

cmd_text = "states" ' всегда будет включен слой STATES

If counties_wanted Then

cmd_text = "counties, " + cmd_text End If

If cities_wanted Then

cmd_text = "cities, " + cmd_text End If

cmd_text = "Map from " + cmd_text

Run Command cmd_text

Пример 2:

Следующий пример показывает как можно дублировать окно Карты с помощью функции WindowInfo( ) и оператора Run Command.

Dim i_map_id As Integer

Сначала, определим идентификатор окна Карты

(предполагая, что оно активно):

i_map_id = FrontWindow()

’ Теперь дублируем это окно:

Run Command WindowInfo(i_map_id, WIN_INFO_CLONEWINDOW)

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

Run Application, Run Menu Command, Run Program

454

Справочник MapBasic

Оператор Run Menu Command

Оператор Run Menu Command

Назначение:

Позволяет вызвать стандартную команду MapInfo так, как если бы Вы указали на ее имя в списке меню.

Синтаксис:

Run Menu Command { command_code | ID command_ID }

где

command_code – целочисленный код из файла MENU.DEF, соответствующий коду команды из действующей системы меню MapInfo или кнопке;

command_ID – число, представляющее созданный элемент меню или кнопку.

Описание:

Если Ваша программа включает в себя файл стандартных определений MENU.DEF, то можно использовать в операторе Run Menu Command имена кодов, которые определены в вышеупомянутом файле при помощи оператора Define. Например, для вызова команды ФАЙЛ > НОВАЯТАБЛИЦА применяется следующий оператор:

Run Menu Command M_FILE_NEW

Файл MENU.DEF содержит также определения кодов для инструментов Пенала. Например, код M_TOOLS_RULER соответствует инструменту Линейка. Если подставить значение кода в оператор, то он будет производить выбор инструмента так, как если бы пользователь указал на его картинку в Пенале. Например, следующий оператор выбирает инструмент Циркуль:

Run Menu Command M_TOOLS_SEARCH_RADIUS

Для выбора созданных кнопки или команды в меню (то есть кнопка или элемент меню, созданные и обрабатываемые программой MapBasic), используется предложение ID. Например, если Ваша программа создала кнопку инструмента и выполнила следующий оператор:

Alter ButtonPad ID 1 Add

ToolButton

Calling sub_procedure_name

ID 23

Icon MI_ICON_CROSSHAIR

то следовательно кнопка инструмента имеет идентификатор 23. Следующий оператор выбирает эту кнопку:

Run Menu Command ID 23

В MapInfo диалог “Режимы” – это специальный случай. Этот диалог имеет несколько кнопок, которые вызывают другие поддиалоги. Оператор Run Menu Command позволяет вызвать отдельно один из этих диалогов. Например, следующий оператор показывает поддиалог “Режимы окна Карты”:

Run Menu Command M_EDIT_PREFERENCES_MAP

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

Run Menu Command M_QUERY_INVERTSELECT.

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

Run Application, Run Program

Справочник MapBasic

455

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