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

Оператор StatusBar

Оператор StatusBar

Назначение:

Показывает или прячет строку сообщений в рабочем окне MapInfo или выдает в ней сообщение.

Синтаксис:

StatusBar { Show | Hide } [ Message message ]

[ ViewDisplayPopup { On | Off } ]

[EditLayerPopup { On | Off } ] где

message L сообщение, которое будет показано в строке сообщений.

Описание:

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

Чтобы напечатать сообщение в строке сообщений, используйте предложение Message.

StatusBar Message ”Вычисление координат...”

MapInfo автоматически заменит Ваше сообщение другими, когда пользователь будет перемещать указатель мышки по командам меню или кнопкам инструментальных панелей. Поэтому текст сообщения должен быть лаконичен, что бы пользователь успел его заметить и прочесть за короткий промежуток времени. По этой причине не советуем Вам помещать важные сообщения в строку сообщений. Для этих целей можно воспользоваться окном “Сообщения”, открываемым оператором Print.

Используйте параметр ViewDisplayPopup, позволяющий изменять вид строки сообщений. Если этот параметр установлен на значение “On”, то пользователь сможет изменять масштаб и положение курсора, устанавливаемых из строки сообщений.

Использование параметра EditLayerPopup позволяет пользователю устанавливать редактируемый слой в окне Карты из строки сообщений. Если этот параметр установлен на значение “On”, то пользователь сможет выбирать редактируемый слой из строки сообщений.

Справочник MapBasic

551

Оператор Stop

Оператор Stop

Назначение:

Приостанавливает выполнение прикладной программы для отладки.

Синтаксис:

Stop

Предупреждение:

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

Описание:

Оператор Stop является отладочным средством. Оператор приостанавливает выполнение программы и передает управление пользователю. В данном случае пользователь – это программист, который отлаживает свою программу.

Если программа была приостановлена при активном окне MapBasic, то в нем выводится сообщение с номером строки программы, в которой был выполнен оператор Stop. Если окно MapBasic не было открыто, то оно будет открыто.

Далее пользователь может использовать окно MapBasic для исследования текущего состояния программы. Если набрать:

?Dim

вокне MapBasic, то MapInfo выведет список всех используемых локальных переменных в программе. Если набрать:

?Global

вокне MapBasic, то MapInfo выведет список всех используемых глобальных переменных в программе.

Задав после знака вопроса имя переменной, пользователь может получить ее текущее значение.

Пользователь сам может присвоить значение какойLнибудь переменной. Формат присвоения следующий:

? variable_name = new_value

где variable_name – имя локальной или глобальной переменной, и new_value – выражение, представляющее новую величину для этой переменной.

Для продолжения выполнения приостановленной программы надо выполнить команду ФАЙЛ > ПРОДОЛЖИТЬ ПРОГРАММУ в MapInfo. Продолжить выполнение программы также можно, введя в окно MapBasic оператор Continue.

В режиме остановки (после оператора Stop) MapInfo продолжает держать открытым файл приложения. Поэтому ег нельзя перекомпилировать. Поэтому выйдите из режима остановки командой ФАЙЛ > ПРОДОЛЖИТЬ ПРОГРАММУ, если хотите перекомпилирвать файл.

Оператор Stop не может быть использован внутри процедурыLобработчика диалога и внутри процедуры функции.

552

Справочник MapBasic

Функция Str$( )

Функция Str$( )

Назначение:

Возвращает строковое представление числа, объекта и стиля.

Синтаксис:

Str$(expression)

где

expression – выражение, результатом которого является число или величина типа Date, Pen, Brush, Symbol, Font и Object

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

Строка. Величина типа String.

Описание:

Функция Str$( ) возвращает строку, которая представляет величину, полученную в результате вычисления выражения expression.

Если параметром expression является отрицательное число, то результатом будет строка, начинающаяся с символа знака минус (L). Если число положительно, то строка начинается с пробела.

Длина строки, возвращаемая функцией Str$( ), зависит от точности вычисления выражения expression и количества цифр справа от запятой. Другими словами, функция Str$( ) вернет строку, используя округленную величину. Если Вы хотите управлять преобразованием, воспользуйтесь функций Format$( ).

Если величина в expression имеет объектный тип (Object), функция Str$( ) вернет одно из значений, представленных в следующей таблице:

Графический объект

Строка в результате

Дуга

"Arc"

Окружность, эллипс

"Ellipse"

Рамка

"Frame"

Прямая линия

"Line"

Точечный объект

"Point"

Полилиния, ломаная

"Polyline"

Регион, область, многоугольник

"Region"

Прямоугольник

"Rectangle"

Скругленный прямоугольник

"Rounded Rectangle"

Текстовый объект

"Text"

Справочник MapBasic

553

Функция 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( )

554

Справочник MapBasic

Функция 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$( )

Справочник MapBasic

555

Функция StringCompare( )

Функция StringCompare( )

Назначение:

Сравнивает две строки, учитывая различия строчных и прописных символов.

Синтаксис:

StringCompare(string1, string2)

где

string1 и string2 – строковые выражения.

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

Короткое целое число L1, 1 или 0. Величина типа SmallInt.

Описание:

MapBasic, сравнивая строки с использованием операции "=", не учитывает разницу между прописными и строчными буквами. Например, в операторе:

If "ABC" = "abc" Then

сравнение возвращает TRUE (истину).

Функция StringCompare( ) позволяет делать сравнения строк, рассматривая строчные и прописные буквы как разные. Сравнение строк происходит посимвольно. Как только встречаются два разных символа, выполнение функции прекращается.

Резльтат

Что это значит

L1

Код символа из первой строки меньше, чем код соответствующего символа

 

из второй строки.

0

Две строки равны.

1

Код символа из первой строки больше, чем код соответствующего символа

 

из второй строки.

Пример:

n = StringCompare("ABC", "abc")

'

'переменная n будет равна 1,

'т. к. ANSI код "A" меньше "a".

556

Справочник MapBasic

Функция StringCompareIntl( )

Функция StringCompareIntl( )

Назначение:

Сравнивает две строки, учитывая особенности сортировки для разных языков.

Синтаксис:

StringCompareIntl(string1, string2)

где

string1 и string2 – строковые выражения.

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

Короткое целое число L1, 1 или 0. Величина типа SmallInt.

Описание:

Функция StringCompareIntl( ) позволяет сравнивать две строки, учитывая языковые особенности, заданные в программе Control Panel. В состав сравниваемых строк могут входить символы, используемые в других языках. Сравнение строк происходит посимвольно. Как только встречаются два разных символа, выполнение функции прекращается.

Результат

Что это значит

L1

Код символа из первой строки меньше, чем код соответствующего символа из

 

второй строки.

0Две строки равны.

1Код символа из первой строки больше, чем код соответствующего символа из второй строки.

Справочник MapBasic

557

Функция 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$( )

558

Справочник MapBasic

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