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

Процедура Main

Процедура Main

Назначение:

Главная процедура, которая выполняется первой при загрузке прикладной программы.

Синтаксис:

Declare Sub Main Sub Main statement_list

End Sub

где

statement_list – список операторов.

Описание:

Main – стандартное имя процедуры MapBasic. Если текст программы на MapBasic содержит процедуру под этим именем, то выполнение программы начнется с этой процедуры. Main-процедура может вызывать другие процедуры (смотрите описание оператора Call).

Вы можете не объявлять процедуру Main. В этом случае первый оператор программы понимается как оператор из процедуры Main. И MapBasic начинает выполнять программу, как если бы процедура Main была объявлена перед этим оператором. Назовем этот случай "неявным заданием процедуры

Main".

Пример:

Прикладная программа может состоять из одной строки. Например, эта программа выполняет только один оператор:

Note "Проверка: один, два, три. Как видно?"

В этой программе процедура Main задана неявно.

Мы можем эту программу написать и так:

Declare Sub Main

Sub Main

Note "Проверка: один, два, три. Как видно?"

End Sub

Здесь главная процедура задана в явном виде. При этом результат выполнения этих двух программ будет один и тот же.

Следующая программа также содержит неявную Main-процедуру. Из нее вызывается подпрограмма, процедура которой объявлена под именем "Talk". Для вызова используется оператор Call.

Declare Sub Talk(ByVal msg As String)

Call Talk("Привет")

Call Talk("Всего хорошего")

Sub Talk(ByVal msg As String)

Note msg

End Sub

Следующий пример содержит явную процедуру Main, из которой вызывается подпрограмма "Talk".

Declare

Sub Main

 

Declare

Sub Talk(ByVal msg As String)

 

Sub Main

 

Справочник MapBasic

321

Процедура Main

Call Talk("Привет")

Call Talk("Всего хорошего")

End Sub

Sub Talk(ByVal msg As String)

Note msg

End Sub

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

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

EndHandler, RemoteMsgHandler, SelChangedHandler, Sub... End Sub, ToolHandler, Win ClosedHandler

322

Справочник MapBasic

Функция MakeBrush( )

Функция MakeBrush( )

Назначение:

Возвращает установку стиля штриха.

Синтаксис:

MakeBrush(pattern, forecolor, backcolor)

где

pattern – тип штриха, целое число от 1 до 8 или от 12 до 71 (рисунки штриха смотрите в описании предложения Brush);

forecolor – цвет штриха в системе RGB; backcolor – цвет фона в системе RGB.

Чтобы сделать фон прозрачным задайте значение backcolor -1 и значение pattern 3 или более.

Величина, полученная в результате:

Величина типа Brush.

Описание:

Функция MakeBrush возвращает величину типа Brush, определяющую стиль штриховки графического объекта. Возвращаемая величина может быть присвоена переменной типа Brush или использована как параметр оператора (таких как Create Ellipse, Set Map, Set Style, или Shade).

Смотрите описание предложения Brush об установках стиля Brush.

Пример:

Include "MAPBASIC.DEF"

Dim b_water As Brush

b_water = MakeBrush(64, CYAN, BLUE)

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

Brush, CurrentBrush( ), StyleAttr( )

Справочник MapBasic

323

Функция MakeCustomSymbol( )

Функция MakeCustomSymbol( )

Назначение:

Возвращает символ, созданный из растрового файла.

Синтаксис:

MakeCustomSymbol(filename, color, size, customstyle)

где

filename – строка до 31 символа длиной, представляющая имя растрового файла (файл должен находиться в каталоге, специально зарезервированном для этого пользователем);

color – цвет в системе RGB;

size – целочисленный размер в пунктах от 1 до 48;

customstyle – целочисленный код, управляющий атрибутами фона и цвета.

Величина, полученная в результате:

Символ. Величина типа Symbol.

Описание:

Функция MakeCustomSymbol( ) возвращает величину типа Symbol, основанную на растровом файле. Смотрите описание предложения Symbol о других типах символа.

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

Значение customstyle

Стиль символа

0

Не действуют режимы из группы “Эффекты” диалога “Стиль

 

символа”, и символ появляется таким, какой он есть. Все белые

 

пикселы растра прозрачны.

1

Действует режим “Добавить фон”; все белые пикселы растра

 

непрозрачны.

2

Действует режим “Покрасить одним цветом”; все не белые точки

 

растра закрашены одним цветом.

3

Установлены оба флажка (действуют оба режима).

Пример:

Include ”mapbasic.def”

Dim sym_marker As Symbol

sym_marker = MakeCustomSymbol(”CAR1 64.BMP”, BLUE, 18, 0)

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

CurrentSymbol( ), MakeFontSymbol( ), MakeSymbol( , StyleAttr( ), Symbol

324

Справочник MapBasic

Функция MakeFont( )

Функция MakeFont( )

Назначение:

Возвращает величину, являющуюся установкой стиля шрифта.

Синтаксис:

MakeFont(fontname, style, size, forecolor, backcolor)

где

fontname – имя шрифта, строковая величина (например, "Helv");

style – численное выражение, в результате которого получается положительное целое число от 0 до 7 включительно;

size – размер шрифта, целое число;

forecolor – цвет символов шрифта в системе RGB;

backcolor – цвет фона или каймы в системе RGB или -1 для прозрачного фона.

Величина, полученная в результате:

Установка стиля шрифта. Величина типа Font.

Описание:

Функция MakeFont( ) возвращает величину типа Font для определения шрифта, который может быть назначен текстовому объекту. Возвращаемая величина может быть присвоена переменной типа Font или использована как параметр в других операторах (таких как Create Text или Set Style).

Смотрите описание предложения Font для дополнительной информации о стиле шрифта.

Пример:

Include "MAPBASIC.DEF"

Dim big_title As Font

big_title = MakeFont("Helvetica", 1, 20,BLACK,WHITE)

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

CurrentFont( ), Font, StyleAttr( )

Справочник MapBasic

325

Функция MakeFontSymbol( )

Функция MakeFontSymbol( )

Назначение:

Возвращает символ, используя букву (символ) шрифта TrueType.

Синтаксис:

MakeFontSymbol(shape, color, size, fontname, fontstyle, rotation )

shape – целое число, величина типа SmallInt, от 31 или больше (31 – значение для невидимого символа), задающая код шрифта TrueType;

color – цвет символа шрифта в системе RGB (смотрите описание функции RGB( ));

size – целое число, величина типа SmallInt, от 1 до 48, назначающая размер символа в пунктах; fontname – строка, имя шрифта TrueType (например, “WingDings”).

fontstyle – численный код, управляющий атрибутами шрифта, такими как жирное написание, курсив, контур;

rotation – действительное число, задающее угол поворота символа в градусах.

Величина, полученная в результате:

Символ. Величина типа Symbol.

Описание:

Функция MakeFontSymbol( ) возвращает величину типа Symbol, используя заданный символ шрифта TrueType. Смотрите описание предложения Symbol для получения информации о других типах символов.

Следующая таблица приводит значения для параметра fontstyle, задающего стиль символа шрифта, в котором он будет скопирован в символ MapInfo:

Значение fontstyle

Стиль символа

0

Нормальное написание

1

Жирное написание

16

Черная кайма

32

Написание с тенью

256

Белая кайма

Для комбинирования двух или более стилей надо сложить код. Например, чтобы задать символ жирным и с тенью, надо использовать код 33. Белая и черная кайма взаимно исключают друг друга.

Пример:

Include ”mapbasic.def”

Dim sym_marker As Symbol

sym_marker = MakeFontSymbol(65,RED,24,”WingDings”,32,0)

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

CurrentSymbol( ), MakeCustomSymbol( ), MakeSymbol( ), StyleAttr( ), Symbol

326

Справочник MapBasic

Функция MakePen( )

Функция MakePen( )

Назначение:

Возвращает установку стиля линии.

Синтаксис:

MakePen(width, pattern, color)

где

pattern – толщина линии в пунктах, целое число от 0 до 7; pattern – тип линии (список в описании предложения Pen); color – цвет линии в системе RGB.

Величина, полученная в результате:

Величина типа Pen.

Описание:

Функция MakePen( ) возвращает величину типа Pen, определяющую стиль линии графического объекта. Возвращаемая величина может быть присвоена переменной типа Pen или использована как параметр в других операторах (таких как Create Line, Create Pline, Set Style или Set Map).

Смотрите описание предложения Pen для дополнительной информации о стиле линии.

Пример:

Include "MAPBASIC.DEF"

Dim p_bus_route As Pen

p_bus_route = MakePen(3, 9, RED)

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

CurrentPen( ), Pen, StyleAttr( ), RGB( )

Справочник MapBasic

327

Функция MakeSymbol( )

Функция MakeSymbol( )

Назначение:

Возвращает установку стиля символа. Действует для символов формата MapInfo версии 3.

Синтаксис:

MakeSymbol(shape, color, size)

где

shape – форма символа, целое число от 31 и более (31 для невидимого знака); стандартный набор символов использует коды от 31 до 67 (список смотрите в описании предложения Symbol);

color – цвет символа в системе RGB;

size – размер символа в пунктах, целое число от 1 до 48.

Величина, полученная в результате:

Величина типа Symbol.

Описание:

Функция MakeSymbol( ) возвращает величину типа Symbol, определяющую стиль отображения точечного объекта. Возвращаемая величина может быть присвоена переменной типа Symbol или использована как параметр в других операторах (таких как Set Map, Set Style или Shade).

Чтобы создать символ из буквы или знака шрифта TrueType, используется функция

MakeFontSymbol( ).

Чтобы создать символ из растрового файла, используется функция MakeCustomSymbol( ).

Смотрите описание предложения Symbol для дополнительной информации о стиле символа.

Пример:

Include "MAPBASIC.DEF"

Dim sym_marker As Symbol

sym_marker = MakeSymbol(44, RED, 16)

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

CurrentSymbol( ), MakeCustomSymbol( ), MakeFontSymbol( ), StyleAttr( ), Symbol

328

Справочник MapBasic

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