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

Процедура WinFocusChangedHandler

Процедура WinFocusChangedHandler

Назначение:

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

Синтаксис:

Declare Sub WinFocusChangedHandler Sub WinFocusChangedHandler statement_list

End Sub

Описание:

Если загруженная программа имеет процедуру WinFocusChangedHandler, то MapInfo автоматически выполняет процедуру, когда меняется фокус окна (фокус имеет активное окно). Фокус может перемещаться между всеми типами окон MapInfo (Списки, Карты и т.п.). Для определения идентификатора окна, которое стало активным, используйте в процедуре обработчика функцию CommandInfo(CMD_INFO_WIN).

В процедуре WinFocusChangedHandler не может быть использован оператор Note, процедура обработчика также не может закрывать или открывать какиеLлибо окна. Эти ограничения подобны тем, которые имеют и другие обработчики, такие, как SelChangedHandler.

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

Пример:

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

Include "mapbasic.def"

Include "menu.def"

Declare Sub Main

Declare sub WinFocusChangedHandler

Sub Main

'Здесь вместо комментариев должны быть операторы,

'создающие элемент меню, который может быть доступным,

'когда активно окно Карты.

End Sub

Sub WinFocusChangedHandler

Dim i_win_type As SmallInt

i_win_type=WindowInfo(CommandInfo(CMD_INFO_WIN),WIN_INFO_TYPE)

If i_win_type = WIN_MAPPER Then

'Здесь вместо комментариев должен быть оператор,

'который делает элемент меню доступным.

Else

'Здесь вместо комментариев должен быть оператор,

'который делает элемент меню недоступным.

End If

End Sub

Справочник MapBasic

603

Оператор Write #

Оператор Write #

Назначение:

Запись данных в открытый файл.

Синтаксис:

Write #file_num [, expr ... ] где

file_num – номер файла, который был присвоен ему при открытии; expr – выражение для записи в файл.

Описание:

Оператор Write # записывает определенные данные в открытый файл. Он должен быть открыт в режиме последовательного доступа оператором Open File, который закрепляет за файлом номер, используемый в параметре file_num.

Выражений expr может быть несколько, в операторе они должны быть разделены запятыми. В этом случае записанные значения в файле автоматически разделяются запятыми. Строчные значения при записи автоматически снабжаются кавычками. Если список выражений пуст, то записывается пустая строка.

Оператор Write # автоматически заключает строковые значения в кавычки при записи в файл. Чтобы записать текст в файл, не используя кавычек, используйте оператор Print #.

Для чтения записей из файла используйте оператор Input #.

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

Input #, Open File, Print #

604

Справочник MapBasic

Функция Year( )

Функция Year( )

Назначение:

Извлекает год из значения даты.

Синтаксис:

Year(date_expr)

где date_expr – выражение типа Date.

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

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

Описание:

Функция Year( ) извлекает год из даты, заданной выражением date_expr. Например, если дата задана в виде 12/17/95, то функция вернет целое число 1995.

Примеры:

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

If Year( CurDate( ) ) = 1994 Then

Note "В 1994 году..."

End If

Вы можете также использовать функцию Year( ) в операторе Select, формирующем SQLL запрос. В этом примере выбираются строки из таблицы ORDERS, в которых есть данные о заказах, сделанных в декабре 1993.

Open Table "orders"

Select * From orders

Where Month(orderdate) = 12 And Year(orderdate) = 1993

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

CurDate( ), Day( ), Month( ), Weekday( ), DateWindow( )

Справочник MapBasic

605

Приложение A: Таблица кодов символов

Приложение A: Таблица кодов символов

Следующая таблица показывает часть символов Windows Latin 1. Диапазон символов от 32 (пробел) до 126 (тильда) идентичен большинству других наборов символов. Интересны так же символы: 9 табулятор, 10 перевод строки, 12 перевод страницы и 13 возврат каретки.

 

 

 

 

606

Справочник MapBasic

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