Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MB60UG

.pdf
Скачиваний:
12
Добавлен:
13.02.2015
Размер:
1.47 Mб
Скачать

Глава 1: Введение

Соглашения об обозначениях

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

Терминология

В настоящем руководстве мы обращаемся к разработчику программ на Âû, а тех, кто с ней будет работать, называем пользователями. Например:

Âû можете использовать оператор Note в языке MapBasic для выдачи сообщений пользователю.

Между понятиями программа è приложение проведено такое различие:

Программа – это текстовый файл, созданный Вами, программистом. Как правило, файлы с программами на MapBasic имеют расширение .MB.

Приложение это двоичный исполняемый файл (в среде MapInfo). Его создает MapBasic при компиляции программы, и его пользователь запускает на выполнение. Приложения, созданные с помощью MapBasic, обычно имеют расширение .MBX (MapBasic eXecutable).

Командой мы называем то, что можно выполнить, выбрав один из пунктов меню. Например, чтобы открыть файл, следует выбрать ОТКРЫТЬ èç ìåíþ ÔÀÉË.

Оператор – это действие, которое можно выполнить из программы на языке MapBasic. Например, программа на языке MapBasic может использовать оператор Select для выбора записей из таблицы.

Обозначения

Шрифтом Courier выделены примеры программ на языке MapBasic:

Note "Привет от MapBasic-а!"

Жирным шрифтом выделены ключевые слова языка MapBasic:

Оператор Stop используется при отладке.

Во всех примерах в данном руководстве первые буквы всех ключевых слов языка MapBasic являются заглавными. Однако, Вы можете и не следовать такому стилю в своих программах. Вы можете набирать все большими буквами, все маленькими или большими и маленькими в любой комбинации.

Команды меню в интегрированной среде MapBasic приводятся с использованием знака "больше" (>), например:

Выполните команду ФÀÉË > ÍÎÂÛÉ, чтобы открыть новое окно.

Выражение “ФÀÉË > ÍÎÂÛÉ" является сокращением от "команда Новый из меню Файл". Команды меню будут выделяться в тексте капителью.

5

Обзор языка MapBasic

2

 

Глава 2: Обзор языка MapBasic

 

MapBasic – это программный пакет, позволяющий создавать собственные приложения, работающие в среде MapInfo.

В этой главе . . .

 

Что такое среда разработчика MapBasic?

........................................... 8

Главные особенности языка MapBasic .............................................

10

Как осваивать MapBasic? ............................................................

12

Глава 2: Обзор языка MapBasic

Что такое среда разработчика MapBasic?

Пакет MapBasic поставляется вместе с интегрированной средой разработки. В этой интегрированной среде Вы можете писать и компилировать программы на языке MapBasic. Cреда разработки включает в себя:

Текстовый редактор, в котором Вы можете набирать тексты программ. (Если Вы привыкли к другому редактору, можете использовать его вместо редактора MapBasic. Подробнее см. Главу 3 "Работа в интегрированной среде разработки программ").

Компилятор языка MapBasic. После написания программы ее надо откомпилировать, собрать “выполняемый" файл (т.е. такой, который можно запустить под MapInfo).

Сборщик MapBasic (linker). При создании больших приложений, состоящих из нескольких модулей, Вам потребуется "собирать" их в единое целое с помощью компоновщика.

Справочную систему по языку MapBasic, содержащую сведения об операторах и функциях языка программирования MapBasic.

Из названия языка Вы можете заключить, что MapBasic напоминает обыкновенный BASIC. На самом же деле программы на MapBasic не совсем похожи на программы на стандартном языке BASIC, хотя MapBasic близок к новым версиям BASIC, созданным в последние годы (например, к Microsoft QBasic). Новые вариации языка BASIC, такие как QBasic и MapBasic, скорее больше напоминают Паскаль, чем общеизвестный BASIC.

 

Пример на обычном

Пример на языке MapBasic

 

BASICe

 

 

 

 

20

GOSUB 3000

Call ñheck_Status(quit_time)

30

IF DONE = 1 THEN GOTO 90

Do While Not quit_time

40

FOR X = 1 TO 10

For x = 1 To 10

50

GOSUB 4000

Call Process_batch(x)

60

NEXT X

Next

80

GOTO 30

Loop

 

 

 

Программы на MapBasic работают под управлением системы MapInfo. Сначала нужно создать и скомпилировать программу в интегрированной среде MapBasic; затем запустить MapInfo и после этого – Вашу программу. Таким образом, программы на языке MapBasic не являются полностью самостоятельными; их можно запускать только при наличии MapInfo.

8

Глава 2: Обзор языка MapBasic

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

Как создать и запустить MapBasic-программу?

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

1.Запустите MapBasic.

2.Выполните команду Файл > Новый, чтобы открыть новое окно программы.

3.Наберите текст программы на языке MapBasic в этом окне. Например, можете просто набрать: Note "Привет от MapBasic-à!"

4.Выполните команду Файл > Сохранить, чтобы сохранить программу в файле. Укажите имя файла, например, WELCOME.MB (стандартное расширение программ на MapBasic – .MB).

Замечание: Не закрывайте окно с текстом программы.

5.Выполните команду Сборка > Компилировать файл. MapBasic откомпилирует Вашу программу (WELCOME.MB) и создаст соответствующий исполняемый файл (WELCOME.MBX).

6.Запустите MapInfo.

7.Выполните команду Файл > Запустить программу MapBasic. MapInfo запросит у Вас название программы, которую следует запустить. Если Вы выберете WELCOME.MBX, то MapInfo запустит программу, которая выдает сообщение "Привет от MapBasic-à!".

Таковы основные этапы создания, компиляции и выполнения приложений на языке MapBasic. На практике все выглядит, конечно, сложнее; так, в нашем примере ничего не сказано о том, что делать, если при компиляции была обнаружена ошибка. Как уже было сказано, подробные инструкции можно найти в главе 3 "Работа в интегрированной среде разработки программ".

9

Глава 2: Обзор языка MapBasic

Главные особенности языка MapBasic

MapBasic позволяет настроить интерфейс MapInfo

С помощью MapBasic Вы можете настраивать интерфейс MapInfo. Приложения на языке MapBasic могут изменять стандартные меню MapInfo, добавлять команды в основное меню MapInfo и создавать собственные диалоги.

Таким образом, MapBasic позволяет создавать готовые геоинформационные системы, которые позволяют пользователям решать свои задачи с минимальными затратами на обучение.

MapBasic позволяет создавать свои программы в MapInfo

Приложения на языке MapBasic часто позволяют сэкономить время, затрачиваемое на некоторую "ручную" работу в MapInfo. Например, пользователю может потребоваться создать в MapInfo градусную сетку (набор параллелей и меридианов с заданным шагом). Рисование градусной сетки "вручную" является достаточно утомительным занятием, поскольку надо повторить процедуру рисования линии для каждой параллели и каждого меридиана. Приложение же на MapBasic позволяет сгенерировать градусную сетку без утомительного рисования.

Средства доступа к базам данных

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

Такие операторы MapBasic, как Select и Update, заменяют собой десятки строк текста, которые Вам пришлось бы написать, если бы Вы использовали другой язык программирования.

Приложения MapBasic являются переносимыми

Программы, написанные на языке MapBasic, можно запускать на любой вычислительной платформе, в которой работает MapInfo. Другими словами, отлаженное приложение на MapBasic можно запускать и в среде MapInfo для Windows, и в среде MapInfo для Macintosh.

Переносимость сокращает усилия, которые требуется затратить Вам, программисту. Создав приложение один раз, Вы можете предложить его всем своим пользователям, независимо от того, какую систему они используют – Mac или Windows.

10

Глава 2: Обзор языка MapBasic

В целом, Вам не требуется вносить никаких изменений в программу для ее корректной работы в другой операционной системе. Имеются лишь некоторые исключения, связанные с использованием специфических средств этих систем (например, DDE-технологии, доступной только в Microsoft Windows, или Apple Events, используемых только на Macintosh). В главе 10 "Создание переносимых прикладных программ" будут более подробно описаны требования к переносимому коду.

MapBasic связывает MapInfo с другими программами

Âпрограммах на MapBasic Вы можете использовать не только предусмотренные в нем операторы и функции. Открытая архитектура языка MapBasic позволяет вызывать также функции из внешних библиотек.

Âпрограммах на MapBasic можно использовать механизм динамического обмена данными (Dynamic Data Exchange – DDE) для связи с другими программами, в том числе с Visual Basic. Из программы на MapBasic также можно обращаться к функциям из динамических библиотек Windows (Dynamic Link Library – DLL). Это могут быть как приобретенные Вами DLL-библиотеки, так и написанные Вами лично на языках C или Паскаль. Аналогично, в программах на языке MapBasic, написанных для Macintosh, можно использовать механизмы Apple Events, XCMD и XFCN.

Интегрированная Картография (Integrated Mapping) в MapBasic, позволяет использовать функциональные возможности MapInfo в других приложениях, например, написанных на языке Visual Basic. Подробнее это описано в главе 12.

11

Глава 2: Обзор языка MapBasic

Как осваивать MapBasic?

Поскольку MapBasic предназначен для программирования в среде MapInfo, Вам следует освоить MapInfo прежде, чем начать работу с MapBasic. В данном руководстве мы предполагаем, что Вы уже достаточно близко знакомы с такими концепциями MapInfo, как Таблицы, окна Списков, слои Карт и Рабочие Наборы.

Ознакомившись с работой MapInfo, Вы можете приступить к изучению языка MapBasic с помощью данного руководства и Справочной системы.

Руководство пользователя MapBasic

Здесь изложены основные концепции программирования на языке MapBasic. Руководство пользователя MapBasic – первая книга, с которой Вам следует ознакомиться при изучении языка MapBasic.

Каждая глава в Руководстве пользователя MapBasic посвящена определенной области в программировании; например, в главе 6 рассматривается создание интерфейса пользователя (своих меню и диалогов), а глава 8 рассказывает об операциях ввода/вывода. Обязательно следует прочитать главу 4 "Основы языка MapBasic ".

Справочник MapBasic

Содержит расположенные в алфавитном порядке подробные описания всех операторов и функций языка MapBasic. Обращайтесь к Справочнику MapBasic, когда у Вас возникнет вопрос по какому-либо конкретному элементу языка.

Примеры программ

Многие программисты считают, что лучшим способом освоения нового языка программирования является изучение примеров программ. Комплект поставки MapBasic включает библиотеку с примерами программ. Список этих программ приведен в Приложении 1.

Примечание: В Руководстве пользователя MapBasic мы будем часто ссылаться на пример TEXTBOX.MB. Вы можете ознакомиться с ним, прежде чем изучать MapBasic. Текст программы TEXTBOX.MB приведен в ПриложенииB.

Рабочие Наборы MapInfo

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

12

Глава 2: Обзор языка MapBasic

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

Справочная система

Интегрированная среда разработки программ на языке MapBasic включает в себя развитую Справочную систему (Help). Большая часть ее посвящена операторам и функциям самого языка. Кроме того, она содержит и описание среды MapBasic.

Внимание: В любой момент в процессе написания программы Вы можете выбрать название оператора или функции и нажать F1. Появится окно Справочной системы с описанием того оператора или функции, которые Вас интересуют.

Справочная система подсказок содержит много фрагментов программ, которые Вы можете скопировать прямо из окна помощи в свою программу.

Если в момент просмотра окна Справочной системы Вы укажете на окно MapBasic, то окно Справочной системы исчезнет. Это определяется архитектурой Справочной системы Windows. Окно Справочной системы при этом не будет закрыто; оно просто окажется "под окном" MapBasic. Чтобы вернуть его "наверх", достаточно нажать ALT+TAB. Чтобы окно Справочной системы было всегда "над" всеми окнами, следует установить режим "Always on Top" ("Всегда наверху") в окне Справочной системы.

Îêíî MapBasic â MapInfo

В MapInfo можно открыть окно, которое называется MapBasic. Использование этого окна также может помочь Вам в изучении языка MapBasic.

Чтобы открыть это окно:

1.Запустите MapInfo.

2.Выполните команду Настройка > Показать окно MapBasic.

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

Например, при составлении запроса в MapInfo с помощью диалога "Выбрать" в окне MapBasic автоматически появится оператор, позволяющий выполнить такой же запрос с помощью языка MapBasic.

13

Глава 2: Обзор языка MapBasic

Вы можете вводить свои операторы в окно MapBasic (хотя не все они будут работать в подобном диалоговом режиме). Чтобы узнать, можно ли выполнить оператор в окне MapBasic, изучите соответствующую главу в Справочнике MapBasic; описание операторов, которые не работают в окне MapBasic под MapInfo, имеется в разделе "Предупреждение". В основном это управляющие операторы (такие, как For...Next).

Окно MapBasic можно использовать и для отладки. Подробнее см. главу 5.

Техническая поддержка, обучение и консультации

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

Прежде чем обращаться за консультацией, найдите серийный номер Вашего пакета. В России продажу и техническую поддержку осуществляет компания ЭСТИ МАП.

14

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