- •Add Cartographic Frame
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор Autolabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Оператор Call
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Оператор Commit Table
- •Оператор Continue
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложение Control RadioGroup
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Оператор Create Collection
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create MultiPoint
- •Оператор Create Point
- •Оператор Create PrismMap
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Graph
- •оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Оператор Line Input
- •Процедура Main
- •Оператор Map
- •Оператор Menu Bar
- •Оператор Metadata
- •Оператор Note
- •Оператор Objects Check
- •Оператор Objects Clean
- •Оператор Objects Combine
- •Оператор Objects Disaggregate
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Snap
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Table
- •Оператор Open Window
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Оператор Server Commit
- •Оператор Server Create Map
- •Оператор Server Create Table
- •Оператор Server Create Style
- •Оператор Server Disconnect
- •Оператор Server Fetch
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File TimeOut
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set PrismMap
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Objects Move
- •Оператор Objects Offset
- •Функция Offset()
- •Функция SphericalOffset()
- •Функция SphericalOffsetXY()
- •Функция CartesianOffsetXY()
- •Функция LayerInfo( )
- •Оператор Register
- •Оператор Server Create Map
- •Функция TableInfo( )
Оператор StatusBar
Оператор StatusBar
Назначение:
Показывает или прячет строку сообщений в рабочем окне MapInfo или выдает в ней сообщение.
Синтаксис:
StatusBar { Show | Hide } [ Message message ]
[ ViewDisplayPopup { On | Off } ]
[EditLayerPopup { On | Off } ] где
message - сообщение, которое будет показано в строке сообщений.
Описание:
Оператор StatusBar управляет отображением строки сообщений в рабочем окне MapInfo, а также позволяет печатать в ней сообщения из прикладной программы .
Чтобы напечатать сообщение в строке сообщений, используйте предложение Message.
StatusBar Message ”Вычисление координат...”
MapInfo автоматически заменит Ваше сообщение другими, когда пользователь будет перемещать указатель мышки по командам меню или кнопкам инструментальных панелей. Поэтому текст сообщения должен быть лаконичен, что бы пользователь успел его заметить и прочесть за короткий промежуток времени. По этой причине не советуем Вам помещать важные сообщения в строку сообщений. Для этих целей можно воспользоваться окном “Сообщения”, открываемым оператором Print.
Используйте параметр ViewDisplayPopup, позволяющий изменять вид строки сообщений. Если этот параметр установлен на значение “On”, то пользователь сможет изменять масштаб и положение курсора, устанавливаемых из строки сообщений.
Использование параметра EditLayerPopup позволяет пользователю устанавливать редактируемый слой в окне Карты из строки сообщений. Если этот параметр установлен на значение “On”, то пользователь сможет выбирать редактируемый слой из строки сообщений.
592 |
Справочник MapBasic |
Оператор Stop
Оператор Stop
Назначение:
Приостанавливает выполнение прикладной программы для отладки.
Синтаксис:
Stop
Предупреждение:
Вы не можете использовать оператор Stop во внутренних функциях программы. Вы не можете использовать оператор Stop в обработчиках элемента диалога, так как отладочный процесс невозможен, пока открыто диалоговое окно.
Описание:
Оператор Stop является отладочным средством. Оператор приостанавливает выполнение программы и передает управление пользователю. В данном случае пользователь – это программист, который отлаживает свою программу.
Если программа была приостановлена при активном окне MapBasic, то в нем выводится сообщение с номером строки программы, в которой был выполнен оператор Stop. Если окно MapBasic не было открыто, то оно будет открыто.
Далее пользователь может использовать окно MapBasic для исследования текущего состояния программы. Если набрать:
?Dim
вокне MapBasic, то MapInfo выведет список всех используемых локальных переменных в программе. Если набрать:
?Global
вокне MapBasic, то MapInfo выведет список всех используемых глобальных переменных в программе.
Задав после знака вопроса имя переменной, пользователь может получить ее текущее значение.
Пользователь сам может присвоить значение какой-нибудь переменной. Формат присвоения следующий:
? variable_name = new_value
где variable_name – имя локальной или глобальной переменной, и new_value – выражение, представляющее новую величину для этой переменной.
Для продолжения выполнения приостановленной программы надо выполнить команду ФАЙЛ > ПРОДОЛЖИТЬ ПРОГРАММУ в MapInfo. Продолжить выполнение программы также можно, введя в окно MapBasic оператор Continue.
В режиме остановки (после оператора Stop) MapInfo продолжает держать открытым файл приложения. Поэтому ег нельзя перекомпилировать. Поэтому выйдите из режима остановки командой ФАЙЛ > ПРОДОЛЖИТЬ ПРОГРАММУ, если хотите перекомпилирвать файл.
Оператор Stop не может быть использован внутри процедуры-обработчика диалога и внутри процедуры функции.
Справочник MapBasic |
593 |
Функция Str$( )
Функция Str$( )
Назначение:
Возвращает строковое представление числа, объекта и стиля.
Синтаксис:
Str$(expression)
где
expression – выражение, результатом которого является число или величина типа Date, Pen, Brush, Symbol, Font и Object
Величина, полученная в результате:
Строка. Величина типа String.
Описание:
Функция Str$( ) возвращает строку, которая представляет величину, полученную в результате вычисления выражения expression.
Если параметром expression является отрицательное число, то результатом будет строка, начинающаяся с символа знака минус (-). Если число положительно, то строка начинается с пробела.
Длина строки, возвращаемая функцией Str$( ), зависит от точности вычисления выражения expression и количества цифр справа от запятой. Другими словами, функция Str$( ) вернет строку, используя округленную величину. Если Вы хотите управлять преобразованием, воспользуйтесь функций Format$( ).
Если величина в expression имеет объектный тип (Object), функция Str$( ) вернет одно из значений, представленных в следующей таблице:
Графический объект |
Строка в результате |
Дуга |
"Arc" |
Окружность, эллипс |
"Ellipse" |
Рамка |
"Frame" |
Прямая линия |
"Line" |
Точечный объект |
"Point" |
Полилиния, ломаная |
"Polyline" |
Регион, область, многоугольник |
"Region" |
Прямоугольник |
"Rectangle" |
Скругленный прямоугольник |
"Rounded Rectangle" |
Текстовый объект |
"Text" |
594 |
Справочник MapBasic |
Функция Str$( )
Если параметр expression задает объект (тип Object) выражением в форме tablename.obj (где tablename – имя открытой таблицы) и если к текущей строке таблицы не присоединен графический объект, то функция Str$( ) вернет пустую строку. Замечание: передача неинициализированной объектной переменной приведет к тому, что функция Str$( ) вернет ошибку.
Если параметр expression задает дату (Date), функция Str$( ) вернет строку в формате, установленном в вычислительной системе, в которой выполняется эта прикладная программа. Например, следующее выражение:
Str$( NumberToDate(19951231) )
может быть равно и “12/31/1995”, и “1995/12/31”, в зависимости от того, какой формат использует пользователь в своем компьютере. Для управления форматом преобразования функцией Str$( ) используйте оператор Set Format.
Если параметр expression задает число, то функция Str$( ) будет использовать точку в качестве десятичной точки, даже если в компьютере пользователя используется другой знак. Функция Str$( ) не использует разделитель тысяч при конвертировании числа в строку. Если Вы хотите получить число с разделителями тысяч и десятичной точкой такой, какая задана в данной вычислительной платформе, то используйте функцию FormatNumber$( ).
Пример:
Dim s_spelled_out As String, f_profits As Float
f_profits = 123456
spelled_out = "Число улиц:" + Str$(f_profits)
Смотрите также:
Format$( ), FormatNumber$( ), Set Format, Val( )
Справочник MapBasic |
595 |
Функция String$( )
Функция String$( )
Назначение:
Строит строку, повторяя символ заданное количество раз.
Синтаксис:
String$(num_expr, string_expr)
где
num_expr – положительное целочисленное выражение; string_expr – строковое выражение.
Величина, полученная в результате:
Строка. Величина типа String.
Описание:
Функция String$( ) возвращает строку, состоящую из первых символов строки, заданной параметром string_expr. Параметр num_exp задает длину будущей строки (в символах).
Пример:
Dim filler As String
filler = String$(5, "ABCDEFGH")
'
'переменная filler равна строке "AAAAA"
'(5 раз повторяется первая буква)
'
Смотрите также:
Space$( )
596 |
Справочник MapBasic |
Функция StringCompare( )
Функция StringCompare( )
Назначение:
Сравнивает две строки, учитывая различия строчных и прописных символов.
Синтаксис:
StringCompare(string1, string2)
где
string1 и string2 – строковые выражения.
Величина, полученная в результате:
Короткое целое число -1, 1 или 0. Величина типа SmallInt.
Описание:
MapBasic, сравнивая строки с использованием операции "=", не учитывает разницу между прописными и строчными буквами. Например, в операторе:
If "ABC" = "abc" Then
сравнение возвращает TRUE (истину).
Функция StringCompare( ) позволяет делать сравнения строк, рассматривая строчные и прописные буквы как разные. Сравнение строк происходит посимвольно. Как только встречаются два разных символа, выполнение функции прекращается.
Резльтат |
Что это значит |
-1 |
Код символа из первой строки меньше, чем код соответствующего символа |
|
из второй строки. |
0 |
Две строки равны. |
1 |
Код символа из первой строки больше, чем код соответствующего символа |
|
из второй строки. |
Пример:
n = StringCompare("ABC", "abc")
'
'переменная n будет равна 1,
'т. к. ANSI код "A" меньше "a".
Справочник MapBasic |
597 |
Функция StringCompareIntl( )
Функция StringCompareIntl( )
Назначение:
Сравнивает две строки, учитывая особенности сортировки для разных языков.
Синтаксис:
StringCompareIntl(string1, string2)
где
string1 и string2 – строковые выражения.
Величина, полученная в результате:
Короткое целое число -1, 1 или 0. Величина типа SmallInt.
Описание:
Функция StringCompareIntl( ) позволяет сравнивать две строки, учитывая языковые особенности, заданные в программе Control Panel. В состав сравниваемых строк могут входить символы, используемые в других языках. Сравнение строк происходит посимвольно. Как только встречаются два разных символа, выполнение функции прекращается.
Результат |
Что это значит |
-1 |
Код символа из первой строки меньше, чем код соответствующего символа из |
|
второй строки. |
0Две строки равны.
1Код символа из первой строки больше, чем код соответствующего символа из второй строки.
598 |
Справочник MapBasic |
Функция StringToDate( )
Функция StringToDate( )
Назначение:
Переводит строку в величину даты.
Синтаксис:
StringToDate(datestring)
где
datestring – строка, представляющая дату.
Величина, полученная в результате:
Дата. Величина типа Date.
Описание:
Функция StringToDate( ) создает из строки величину типа Date.
MapBasic интерпретирует данные в соответствии с форматами, которые установлены в компьютере, в котором работает программа. Если компьютер использует стандарт США, то дата представляется в формате Месяц/День/Год, но также существуют другие стандарты, принятые в других странах (например, День/Месяц/Год). Другим может быть также знак разделителя (например, точка вместо /).
Для использования стандарта США в функции StringToDate( ) независимо от установок в компьютере, используйте оператор Set Format. Замечание: Программы, откомпилированные MapBasic версии 3.0, автоматически используют только формат США, даже если не был использован оператор Set Format.
Если используется формат США, то параметр datestring должен содержать компоненты числа, месяца и года, разделенные косой чертой (/). Первые два символа задают месяц, значение которого должно находиться в диапазоне от 1 до 12. Два символа второй компоненты задают число, значение которого должно находиться в диапазоне от 1 до 31. Год может задаваться двумя или четырьмя символами. Если год не указан, то принимается значение настоящего года.
Замечание: Если Вы не уверены, какой формат будет использован для представления данных в той системе, где будет запускаться Ваша программа, используйте функцию NumberToDate( ) вместо StringToDate( ). На функцию NumberToDate( ) не влияют установки вычислительной платформы.
Пример:
Dim d_start, d_end As Date
Set Format Date ”US”
d_start = StringToDate(”12/17/92”)
d_end = StringToDate(”01/02/1995”)
Set Format Date ”Local”
Смотрите также:
NumberToDate( ), Set Format, Str$( )
Справочник MapBasic |
599 |
Функция StyleAttr( )
Функция StyleAttr( )
Назначение:
Возвращает значение одной из компонент стиля оформления объекта: Pen, Brush, Font, или Symbol.
Синтаксис:
StyleAttr( style , attribute )
style - величина, выражающая стиль (величина типа Pen, Brush, Font или Symbol); attribute - цельночисленный код, управляющий результатом функции
Величина, полученная в результате:
Целое число или строка, в зависимости от значения параметра attribute.
Описание:
Функция StyleAttr( ) извлекает из величины типа Pen, Brush, Symbol или Font определенную компоненту.
Все типы в MapBasic являются сложносоставными. Например, определение стиля Brush состоит из трех компонентов: pattern, foreground color и background color. При вызове функции Style Attr( ), параметр attribute контролирует, какой из атрибутов возвращается.
Параметр attribute должен являться одним из кодов, показанных в нижеследующей таблице. Коды в левом столбце (например, PEN_WIDTH) определены в файле стандартных определений MAPBASIC.DEF.
Если параметр style является значением Pen, используйте одно значение из таблицы:
Значение attribute |
Результат StyleAttr( ): |
BRUSH_PATTERN |
Целое число (Integer), атрибут стиля Brush, |
|
задающий номер штриха. |
BRUSH_FORECOLOR |
Целое число (Integer), атрибут стиля Brush, |
|
задающий RGB-код цвета штриха. |
BRUSH_BACKCOLOR |
Целое число (Integer), атрибут стиля Brush, |
|
задающий RGB-код цвета фона штриха или -1, |
|
если фон прозрачный. |
FONT_NAME |
Атрибут стиля Font, задающий строку с именем |
|
шрифта. |
FONT_STYLE |
Целое число (Integer) от 0 до 7, атрибут стиля Font |
|
(0 = простой, 1 = жирный, и т.д.); см. Предложение |
|
Font для более подробной информации. |
FONT_POINTSIZE |
Целое число (Integer), атрибут стиля Font, |
|
задающий размер шрифта в точках. |
|
Замечание: Если текстовый объект принадлежит |
|
таблице, а не Отчету, то размер будет равен 0 и |
|
высота букв будет определяться текущим |
600 Справочник MapBasic
|
|
Функция StyleAttr( ) |
|
|
|
|
|
|
|
масштабом Карты. |
|
FONT_FORECOLOR |
Целое число (Integer), атрибут стиля Font, |
||
|
|
задающий RGB-код цвета символов строки. |
|
FONT_BACKCOLOR |
Целое число (Integer), атрибут стиля Font, |
||
|
|
задающий RGB-код цвета фона строки или -1, если |
|
|
|
фон прозрачный. Если стиль шрифта включает |
|
|
|
кайму, то задает RGB-цвет каймы. |
|
Значение attribute |
Результат StyleAttr( ): |
||
PEN_WIDTH |
Целое число (Integer), атрибут стиля Pen, |
||
|
|
задающий ширину линии в точках. |
|
PEN_PATTERN |
Целое число (Integer), атрибут стиля Pen, |
||
|
|
задающий номер вида линии. |
|
PEN_COLOR |
Целое число (Integer), атрибут стиля Pen, |
||
|
|
задающий RGB-код цвета линии. |
|
PEN_INTERLEAVE |
Логическое: TRUE если стиль пересекающихся |
||
|
|
линий. |
|
PEN_INDEX |
Целое число (Integer), представляющее индекс |
||
|
|
линии из библиотеки линий. |
|
SYMBOL_KIND |
Целое число (Integer), тип символа: 1 - символ Map |
||
|
|
Info версии 3.0; 2 - символ шрифта TrueType; 3 - |
|
|
|
символ из растрового файла. |
|
SYMBOL_CODE |
Целое число (Integer), атрибут стиля Symbol, |
||
|
|
задающий номер символа. Используется для типа |
|
|
|
символа версии MapInfo 3.0 и TrueType. |
|
SYMBOL_COLOR |
Целое число (Integer), атрибут стиля Symbol, |
||
|
|
задающий RGB-код цвета символа. |
|
SYMBOL_POINTSIZE |
Целое число (Integer) от 1 до 48, атрибут стиля |
||
|
|
Symbol, задающий размер символа в пунктах. |
|
SYMBOL_FONT_NAME |
Строка (String), имя шрифта TrueType, который |
||
|
|
используется как библиотека символов. |
|
SYMBOL_FONT_STYLE |
Целое число (Integer), задающее написание |
||
|
|
символа TrueType (0 = нормальное написание, 1 = |
|
|
|
жирное, и т.д.). Смотрите описание предложения |
|
|
|
Symbol. |
|
SYMBOL_ANGLE |
Действительное число (Float), угол поворота |
||
|
|
символа TrueType. |
|
SYMBOL_CUSTOM_NAME |
Строка (String), имя растрового файла. |
||
SYMBOL_CUSTOM_STYLE |
Целое число (Integer), задающее стиль для |
||
|
|
растрового символа (0 = нормальное, 1 = показать |
|
|
|
фон и т.д.). Смотрите предложение Symbol. |
|
|
Справочник MapBasic |
601 |
|
Функция StyleAttr( )
Ошибки:
ERR_FCN_ARG_RANGE, если неправильно значение аргумента.
Пример :
Воспользуемся функцией CurrentPen( ) для того, что бы узнать, какой установлен сейчас стиль линии в MapInfo, затем с помощью функции StyleAttr( ) узнаем толщину линии в пикселах.
Include ”mapbasic.def” Dim cur_width As Integer
cur_width = StyleAttr(CurrentPen(), PEN_WIDTH)
Смотрите также :
MakePen( ), MakeBrush( ), MakeFont( ), MakeSymbol( ) Pen( ), Brush( ), Font( ), Symbol( )
602 |
Справочник MapBasic |