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

Процедура ForegroundTaskSwitchHandler

Процедура ForegroundTaskSwitchHandler

Назначение:

Процедура, автоматически выполняющаяся при изменении фокуса окна программы MapInfo относительно других программ, выполняющихся в среде Windows.

Синтаксис:

Declare Sub ForegroundTaskSwitchHandler Sub ForegroundTaskSwitchHandler statement_list

End Sub

где

statement_list – список операторов процедуры.

Описание:

ForegroundTaskSwitchHandler – зарезервированное имя для процедуры MapBasic. Когда пользователь запускает программу, в которой есть такая процедура, программа не завершается после того, как выполнятся все операторы процедуры Main и другие процедуры, вызванные из нее. Программа будет находиться в режиме ожидания до тех пор, пока рабочее окно MapInfo не получит или потеряет фокус (т.е. сменится активность окна). Как только это произойдет, программа активизируется, выполняя процедуру с именем ForegroundTaskSwitchHandler. После выполнения процедуры программа вновь переходит в режим ожидания.

В процедуре WinChangedHandler может быть использована функция CommandInfo() для опеределения, преобретает ли MapInfo фокус или теряет его.

Пример:

Sub ForegroundTaskSwitchHandler

If CommandInfo(CMD_INFO_TASK_SWITCH)

= SWITCHING_INTO_MAPINFO Then

... когда активно окно MapInfo

Else

... когда активно окно другой программы End If

End Sub

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

CommandInfo( )

Справочник MapBasic

259

Функция Format$( )

Функция Format$( )

Назначение:

Возвращает строковое представление числа в заданном формате.

Синтаксис:

Format$(value, pattern)

где

value – численное выражение;

pattern – шаблонная строка, задающая формат.

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

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

Описание:

Функция Format$( ) преобразует число value в строковую величину, по шаблону, заданному параметром pattern. Например, число 12345.67 функция может преобразовать в строку “$12,345.67”.

Параметр pattern представляет собой строковый шаблон, по которому преобразуется число value. Он должен состоять из специальных символов, управляющих отображением числа в строке, таких как # , 0, %, запятая, точка, точка с запятой. Шаблон может также иметь косметические символы, такие как $, , (, ). Роль каждого из этих символов в формировании результирующей строки приведена в следующей таблице:

Символ в pattern

Какую роль играет для результата функции

#

Соответствует всем цифрам из value до десятичной точки и одной цифре

 

из value после десятичной точки. Если шаблон содержит один или более

 

символов # левее десятичного знака, а форматируемое число меньше

 

единицы, но больше нуля, то в результате ноль в целых частях не будет

 

отображен, строка будет начинаться с точки.

0

Применяется левее десятичной точки. Если управляющая строка

 

содержит один или более символов "0" левее десятичной точки и

 

значение числа меньше единицы и больше нуля, то результирующая

 

строка будет иметь ноль перед десятичной точкой.

. (точка)

Соответствует десятичной точке. Число символов # правее точки

 

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

 

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

 

включать в себя тот десятичный разделитель, который установлен в

 

Вашей системе. Используя оператор Set Format можно добиться

 

назначить в качесстве десятичного разделителя точку, даже если в

 

системе принят другой знак.

260

Справочник MapBasic

 

Функция Format$( )

 

 

 

, (запятая)

Разделитель тысяч. Если управляющая строка содержит запятую перед

 

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

 

каждые три цифры будут отделены запятой. Например, десять

 

миллионов будут показаны так: "10,000,000". Результирующая строка

 

будет включать в себя тот десятичный разделитель, который установлен

 

в Вашей системе. Используя оператор Set Format можно назначить в

 

качестве десятичного разделителя точку, даже если в системе принят

 

другой знак.

%

Процентное представление числа. Если управляющая строка содержит

 

знак процента, то результатом будет строка с числом, умноженным на

 

сто и знаком процента справа. Например, число 0.75 будет

 

преобразовано в строку "75%". Если Вы не намерены преобразовывать

 

число в проценты, но хотите иметь в строке знак %, используйте его в

 

комбинации со знаком \ (обратный слэш).

E+, e+

Представление числа в научном (экспоненциальном) формате.

 

Например, число 1234 будет преобразовано в строку "1.234e+03". Если

 

экспонента положительна, то после символа "e" будет помещен плюс.

 

Если экспонента отрицательна, после символа "e" будет помещен знак

 

минус.

E–, e–

Представление числа в научном (экспоненциальном) формате. От

 

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

 

знак плюс не отображается.

; (точка с запятой)

Знаком "точка с запятой" Вы разделяете в одной управляющей строке

 

два шаблона для положительного и отрицательного значения. Так, в

 

управляющей строке сначала определяется формат для представления

 

положительных значений числа, потом через точку с запятой задается

 

другой формат для отрицательных значений.

 

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

 

автоматически не отображается для отрицательных значений. Если

 

необходимо иметь знак минус, включите "-" в формат для

 

отрицательных значений.

\

Разрешает включение текстового символа. Если обратный слэш стоит

 

перед специальным символом (например, перед %), то MapBasic будет

 

рассматривать этот символ в шаблоне как текстовый символ.

Ошибки:

В результате выполнения функции Вы можете получить код ошибки ERR_FCN_INVALID_FMT, если неправильно задан параметр pattern.

Примеры:

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

Format$(

12345, ",#")

' возвращает "12,345"

Format$( 12345, ",#")

' возвращает " 12,345"

Format$(

12345, "$#")

' возвращает

"$12345"

Format$( 12345, "$#")

' возвращает

"$12345"

Справочник MapBasic

 

261

Функция Format$( )

Format$(

12345.678,

"$,#.##")

' возвращает "$12,345.68"

Format$( 12345.678,

"$,#.##")

' возвращает "$12,345.68"

Format$(

12345.678,

"$,#.##;($,#.##)")

'

возвращает "$12,345.68"

Format$( 12345.678,

"$,#.##;($,#.##)")

'

возвращает "($12,345.68)"

Format$( 12345.6789,

",#.###")

' возвращает "12,345.679"

Format$( 12345.6789,

",#.#")

' возвращает "12,345.7"

Format$( 12345.6789,

"#.###E+##")

' возвращает " 1.235e+04"

Format$( 0.054321,

"#.###E+##")

' возвращает "5.432e 02"

Format$( 12345.6789, "#.###E ##")

' возвращает " 1.235e04"

Format$( 0.054321, "#.###E ##")

' возвращает "5.432e 02"

Format$( 0.054321, "#.##%")

' возвращает "5.43%"

Format$( 0.054321, "#.##\%")

' возвращает ".05%"

Format$( 0.054321, "0.##\%")

' возвращает "0.05%"

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

Str$( )

262

Справочник MapBasic

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