- •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( )
Оператор Close Table
Оператор Close Table
Назначение:
Закрывает открытую таблицу.
Синтаксис:
Close Table table [ Interactive ]
где
table – имя открытой таблицы.
Описание:
Оператор Close Table используется для закрытия таблицы table. Для закрытия сразу всех открытых таблиц используется оператор Close All.
Когда таблица показывается в одном или нескольких окнах Графиков или Списков, то при закрытии таблицы эти окна также закрываются. При закрытии таблицы из окон Карт удаляются только соответствующие закрываемой таблице слои. Окно Карты автоматически будет закрыто только тогда, когда будет закрыта последняя, отображаемая в окне Карты, таблица.
Если применить оператор Close Table к связанной таблице, которая имеет несохраненные изменения, то MapInfo запомнит изменения до следующего сеанса работы.
Сохранение изменений в таблице
Когда оператор Close Table применяется к таблице, в которой были произведены изменения и которые не были сохранены на диске, то при закрытии они будут утеряны. Сообщений об этом не выводится. Если Вы не хотите потерять текущие изменения в таблицах, используйте слово Interac tive для вывода на экран диалога, предлагающего пользователю сохранить или игнорировать изменения.
Если Вы хотите гарантировать несохранение изменений в таблице, используйте оператор RollBack перед ее закрытием. Аналогично, если Вы хотите гарантировать сохранение изменений в таблице, выполните оператор Commit Table перед оператором закрытия. Для определения, есть ли в таблице изменения, не сохраненные на диске, используется функция TableInfo(table,TAB_INFO_EDITED).
Сохранение тематических и косметических объектов
Если Вы закрываете таблицу, графические объекты которой показываются на единственном некосметическом слое окна Карты, то будет закрыто и это окно. Чтобы сохранить объекты Косметического и/или тематического слоев из этого окна, используйте ключевое слово Interactive. Если MapInfo обнаружит косметические и тематические объекты, то перед тем, как закрыть окно Карты, выведет сообщения, предлагающие пользователю сохранить объекты на диске или забыть о них. Сообщений не будет выводиться, если Вы использовали ключевое слово Interactive, но на Карте нет тематических слоев и объектов в Косметическом слое.
Пример:
Open Table "world"
Close Table world
Смотрите также:
Close All, Commit, Open Table, RollBack, TableInfo(_)
Справочник MapBasic |
75 |
Оператор Close Window
Оператор Close Window
Назначение:
Закрывает или прячет окна.
Синтаксис:
Close Window window_spec [ Interactive ]
где
window_spec – имя окна (такое как Ruler ), код окна (такой как WIN_RULER ) или целое число, определяющее окно.
Описание:
Оператор Close Window закрывает или прячет окна MapInfo.
Для закрытия документального окна (окна Карты, Списка, Графика и Отчета) необходимо задать его целым числом в параметре window_spec. Это число помогут Вам определить операторы
FrontWindow(_) и WindowID(_).
Чтобы закрыть специальное окно или инструментальную панель, надо в параметре window_spec ввести специальное имя окна или его код. Вы можете окно "Линейка" задать именем Ruler или кодом WIN_RULER. В следующей таблице приводятся имена и коды для параметра window_spec:
Имя окна |
Код окна |
|
Описание окна |
|
MapBasic. |
WIN_MAPBASIC |
|
Окно MapBasic |
|
|
|
|||
|
|
|
|
|
Help |
WIN_HELP |
|
Окно Справочной системы. |
|
Statistics |
WIN_STATISTICS |
|
Окно "Статистика". |
|
Legend |
WIN_LEGEND |
|
Окно "Легенда". |
|
Info |
WIN_INFO |
|
Окно "Информация", которое открывается |
|
|
|
|
инструментом Информация. |
|
Ruler |
WIN_RULER |
|
Окно "Линейка", которое открывается инструментом |
|
|
|
|
Линейка. |
|
Message |
WIN_MESSAGE |
|
Окно "Сообщение", которое открывается оператором |
|
|
|
|||
|
|
|
Print. |
|
|
|
|
|
|
Сохранение тематических и косметических объектов
Если Вы закрываете Карту, то пользователь может захотеть сохранить объекты с Косметического или тематических слоев. Для вывода сообщений, предлагающих пользователю сохранить эти объекты перед закрытием окна Карты, в операторе Close Window используется ключевое слово
Interactive.
Если ключевого слова нет в операторе, косметические и тематические объекты будут утеряны. Сообщений не будет выводиться, если Вы использовали ключевое слово Interactive, но на Карте нет тематических слоев и объектов в Косметическом слое.
Пример:
Close Window Legend
Смотрите также:
Open Window, Print, Set Window
76 |
Справочник MapBasic |
Функция ColumnInfo( )
Функция ColumnInfo( )
Назначение:
Возвращает информацию о колонке в открытой таблице.
Синтаксис:
ColumnInfo({ tablename | tablenum },{ colomnname | "COLn" },attribute)
где
tablename – имя открытой таблицы;
tablenum – целое число, идентифицирующее таблицу; colomnname – имя колонки в этой таблице;
n – целое число как номер колонки в таблице;
attribute – код, управляющий типом результата функции.
Величина, полученная в результате:
Зависит от значения параметра attribute.
Описание:
Функция ColumnInfo(_) возвращает информацию об одной колонке в открытой таблице.
Первый параметр функции задает таблицу (именем или идентификатором). Второй параметр определяет колонку. Параметр attribute должен принимать значения целочисленного кода, задающего тип возвращаемой функцией информации.
В следующей таблице в первой колонке приводятся имена кодов для использования в качестве параметра attribute. Имена присвоены целочисленным кодам для удобства. Эти определения находятся в файле MAPBASIC.DEF и, если Вы будете использовать имена, включите в начало Вашей программы оператор Include "MAPBASIC.DEF".
Значения attribute
COL_INFO_NAME COL_INFO_NUM COL_INFO_TYPE
COL_INFO_WIDTH
Результат ColumnInfo( ):
Имя колонки (строка).
Номер колонки (короткое целое число).
Тип колонки (короткое целое число). Смотрите вторую таблицу.
Ширина символьного или десятичного поля (короткое целое число). Используется только для символьных и десятичных колонок.
COL_INFO_DECPLACES |
Число знаков после десятичной точки в поле |
|
|
десятичного типа (короткое целое число). |
|
COL_INFO_INDEXED |
Признак индексирования колонки (логическая |
|
|
величина). |
|
|
|
|
COL_INFO_EDITABLE. |
Признак наличия изменений значений колонки |
|
|
(логическая величина) |
|
|
|
|
Если функция ColumnInfo(_) имеет значение параметра attribute равным |
||
Справочник MapBasic |
77 |
Функция ColumnInfo( )
COL_INFO_TYPE, то возвращает одно из следующих:
Функция возвращает код |
Тип колонки |
|
|
COL_TYPE_CHAR |
Символьный |
|
|
COL_TYPE_DECIMAL |
Десятичный с фиксированной запятой |
COL_TYPE_FLOAT |
Вещественный |
COL_TYPE_INTEGER |
Целочисленный (4 байт) |
COL_TYPE_SMALLINT |
Короткое целое число (2 байт) |
COL_TYPE_DATE |
Дата |
COL_TYPE_LOGICAL |
Логический (TRUE или FALSE) |
|
|
COL_TYPE_GRAPHIC |
Специальный тип колонки "Obj" (представляет |
|
графические объекты, присоединенные к таблице) |
Ошибки: |
|
|
Функция вернет следующие коды ошибок: ERR_TABLE_NOT_FOUND, если не найдена данная таблица,
ERR_FCN_ARG_RANGE, если значение аргумента выходит за пределы, заданные при его определении.
Пример:
Include "MAPBASIC.DEF"
Dim s_col_name As String, i_col_type As SmallInt
Open Table "world"
s_col_name = ColumnInfo("world","col1",COL_INFO_NAME)
i_col_type = ColumnInfo("world","col1",COL_INFO_TYPE)
Смотрите также:
NumCols(_), TableInfo(_)
78 |
Справочник MapBasic |
Функция Combine( )
Функция Combine( )
Назначение:
Возвращает либо объект типа "область", либо "полилиния", представляющий объединение двух объектов.
Синтаксис:
Combine(object1,object2)
где
object1, object2 – два объектных выражения, результатом вычисления которых должны быть либо два объекта, имеющих площадь (например, область и окружность), либо два линейных объекта (например, прямая линия и полилиния).
Величина, полученная в результате:
Область или полилиния. Величина типа Object.
Описание:
Функция Combine(_) возвращает объект, являющийся результатом географического объединения двух объектов. Объединение двух смежных объектов удаляет границу между ними.
Результат функции Combine(_) такой же как при выполнении географического объединения командой ОБ ЕКТЫ > КОМБИНАЦИЯ, за тем исключением, что функция создает новый объект, не меняя объектов object1 и object2. Кроме того, функция Combine(_) объединяет только объекты без данных.
Объект, полученный в результате выполнения функции Combine(_), оформляется так же, как объект object1.
Смотрите также:
Objects Combine
Справочник MapBasic |
79 |
Функция CommandInfo( )
Функция CommandInfo( )
Назначение:
Возвращает информацию о последних внутрисистемных событиях.
Синтаксис:
CommandInfo(attribute )
где
attribute – целочисленный код типа информации, которая будет возвращена.
Величина, полученная в результате:
Целое число или число с плавающей запятой, или строка, или логическая величина. Величина типа Integer, или типа Float, или типа String, или типа Logical.
Описание:
Функция CommandInfo(_) возвращает информацию о последних событиях в MapInfo. Например, какие изменения произошли во временной таблице "Selection", в какое место окна указал пользователь, использовал ли он только мышку или нажал на кнопку мышки в комбинации с клавишей SHIFT и так далее. Тип информации задается целочисленным кодом в параметре attribute. Для описания кодов будем использовать имена, которые назначены этим постоянным величинам в файле определений MAPBASIC.DEF. Если Вы хотите использовать имена кодов в Вашей программе, то она должна иметь строчку Include "MAPBASIC.DEF".
Вызов после закрытия диалога, построенного приложением
Вызывая функцию CommandInfo(_) сразу после закрытия окна диалога, Вы можете использовать в качестве параметра attribute один из следующих кодов:
Значение attribute
CMD_INFO_DLG_OK
CMD_INFO_STATUS
Результат CommandInfo(attribute)
Величина типа Logical: TRUE - если в диалоговом окне была выбрана кнопка OkButton; FALSE - если пользователь отменил диалог, нажав на кнопку CancelButton или на клавишу ESC. Этот код в функции предназначен только для информации о диалоговых окнах, вызываемых оператором Dialog.
Величина типа Logical: TRUE – если пользователь позволил процессу, снабженному диалогом со шкалой (смотрите оператор ProgressBar), завершиться самостоятельно; FALSE – если пользователь нажал на кнопку в этом диалоге, прекращающую выполнение.
Вызов из обработчиков новых меню и диалогов
Если приложение строит свои меню с элементами, вызывающими обработчик, или строит диалог, элементы которого вызывают процедуры-обработчики, то в этих процедурах Вы можете использовать функцию CommandInfo(_) со следующими кодами:
Значение attribute |
Результат CommandInfo(attribute) |
80 |
Справочник MapBasic |
|
Функция CommandInfo( ) |
|
|
|
|
CMD_INFO_MENUITEM |
Целое число (Integer), представляющее идентификатор элемента |
|
меню, который запустил этот обработчик. |
|
Этот код используется только внутри процедуры-обработчика |
|
элемента меню. |
|
|
CMD_INFO_DLG_DBL |
Величина типа Logical: TRUE - если пользователь использовал при |
|
указании на элемент списка элемент ListBox или MultiListBox |
|
двойное нажатие на клавишу мышки. |
|
Этот код используется только внутри процедуры-обработчика |
|
элемента диалога, построенного приложением MapBasic. |
|
|
Вызов из обработчиков системных событий
Если Ваше приложение имеет процедуры-обработчики системных событий (например, такую как SelChangedHandler), то в этих процедурах Вы можете использовать функцию CommandInfo(_) со следующими кодами:
Значение attribute |
Результат CommandInfo(attribute) |
Из процедуры Sel |
|
|
|
ChangedHandler: |
|
|
|
CMD_INFO_SELTYPE |
1 – если строка была добавлена в выборку; |
|
2 – если строка была исключена из предыдущей выборки; |
|
3 – если все строки в таблице выбраны; |
|
4 – если все строки таблицы были исключены из предыдущей |
|
выборки. |
CMD_INFO_ROWID |
Целое число (Integer) – номер строки, которая была добавлена в |
|
выбор или исключена из выбора (работает только, если одна строка |
|
была выбрана или исключена из выбора). |
CMD_INFO_INTERRUPT |
Логическая величина (Logical). TRUE – если пользователь |
|
прервал выбор клавишей ESC, FALSE – иначе. |
Из процедуры RemoteMs |
|
|
|
gHandler или RemoteQue |
|
ryHandler( ): |
|
|
|
CMD_INFO_MSG |
Строка, представляющая собой “выполняемое” сообщение или имя |
|
элемента послания MapInfo от программы-клиента. Детали |
|
смотрите в описании процедур RemoteMsgHandler и |
|
RemoteQueryHandler( ). |
Из процедуры Win |
|
|
|
ChangedHandler или Win |
|
ClosedHandler: |
|
|
|
Справочник MapBasic |
81 |
Функция CommandInfo( )
CMD_INFO_WIN |
Целое число (Integer), идентификатор окна, в котором было |
|
изменение или которое было закрыто. Детали смотрите в описании |
|
процедур WinChangedHandler и WinClosedHandler. |
Из процедуры Foreground |
|
|
|
TaskSwitchHandler: |
|
|
|
CMD_INFO_TASK_SWIT |
Целое число (Integer), указывающее, что MapInfo либо только что |
CH |
стало активным приложением, либо только что перестало быть |
|
активным. Результатом может быть один из кодов: |
|
SWITCHING_INTO_MAPINFO (если MapInfo получает фокус). |
|
SWITCHING_OUT_OF_MAPINFO (если MapInfo теряет фокус). |
|
|
Вызов после операции поиска
После выполнения оператора Find, параметр функции attribute может принимать одно из следующих значений:
Значение attribute |
Результат CommandInfo(attribute) |
CMD_INFO_FIND_RC |
Целое число (Integer), код успеха поиска. |
CMD_INFO_FIND_ROWID |
Целое число (Integer), номер строки, которой соответствует |
|
найденный объект. |
CMD_INFO_X или |
Действительное число, координата (по оси X или Y) найденного |
CMD_INFO_Y |
места. |
Вызов из процедуры8обработчика инструмента
Внутри процедуры-обработчика инструмента ToolButton Вы можете использовать следующие коды:
Значение attribute
CMD_INFO_X
Результат CommandInfo(attribute)
X-координата точки, где была нажата кнопка мыши:
на Карте, долгота в установленных единицах и в соответствии с текущей в MapBasic системой координат;
вСписке, номер колонки в окне (единица соответствует самой левой колонке в окне);
вОтчете, расстояние между левым краем Отчета и указанной точкой в текущих "бумажных" единицах (ноль соответствует точке на левом крае листа Отчета).
82 |
Справочник MapBasic |
|
Функция CommandInfo( ) |
|
|
|
|
CMD_INFO_Y |
Y-координата точки, где была нажата кнопка мыши: |
|
на Карте, широта в установленных единицах и в соответствии с |
|
текущей в MapBasic системой координат; |
|
в Списке, номер строки в окне (единица соответствует самой |
|
верхней строке в окне); |
|
в Отчете, расстояние между верхним краем Отчета и указанной |
|
точкой в текущих "бумажных" единицах (ноль соответствует |
|
точке на верхнем крае листа Отчета); |
|
|
CMD_INFO_X2 |
X-координата точки, в которой пользователь отпустил кнопку |
|
мыши. Использование этого кода возможно, если инструменту |
|
был назначен режим рисования (например, использовался код |
|
DM_CUSTOM_LINE). |
|
|
CMD_INFO_Y2 |
Y-координата точки, в которой пользователь отпустил кнопку |
|
мыши. |
CMD_INFO_SHIFT |
Логическая величина: TRUE (логическое "Да"), если |
|
пользователь при указании нажал на клавишу SHIFT, FALSE |
|
(логическое "Нет"), если эта клавиша при указании не была |
|
нажата. |
CMD_INFO_CTRL |
Логическая величина: TRUE (логическое "Да"), если |
|
пользователь при указании нажал на клавишу CTRL, FALSE |
|
(логическое "Нет"), если эта клавиша при указании не была |
|
нажата. |
CMD_INFO_TOOLBTN |
Целое число (Integer), идентификатор кнопки инструмента, |
|
который вызвал этот обработчик. |
|
|
CMD_INFO_CUSTOM_OBJ |
Объектная величина: полилиния или многоугольник, |
|
нарисованный пользователем. Применяется с режимами |
|
рисования DM_CUSTOM_POLYLINE или |
|
DM_CUSTOM_POLYGON. |
|
|
После вызова Macintosh XCMD
В среде MapInfo для Macintosh Вы можете обратиться к Macintosh XCMD. После вызова XCMD, Вы можете использовать функцию CommandInfo( ) со следующими кодами:
Значение attribute
CMD_INFO_XCMD
Поддержка Геолинка (Hotlink)
Результат CommandInfo(attribute)
Строка, показывающая, произошла ли ошибка во время выполнения команды XCMD. Более подробно о XCMD можно прочитать в файле ..\MAPBASIC\DOC\MAC.DOC, появляющемся после установки пакета MapBasic.
Приложения MapBasic запущенные инструментом Геолинк (Hotlink) могут получить информацию об активном объекте через функцию CommandInfo. В таблице приведен список атрибутов
Справочник MapBasic |
83 |
Функция CommandInfo( )
которые могут быть запрошены:
Значение attribute |
Результат CommandInfo(attribute) |
|
|
CMD_INFO_HL_WINDOW |
Id окна карты или списка |
_ID |
|
|
|
CMD_INFO_HL_TABLE_N |
Имя таблицы ассоциированной со слоем карты или окном |
AME |
списка |
|
|
CMD_INFO_HL_ROWID |
Id строки таблицы соответствующая соответствующее объекту |
|
карты или записи в списке |
|
|
CMD_INFO_HL_LAYER_I |
id слоя, если программа была запущена из окна карты. |
D |
|
|
|
CMD_INFO_HL_FILENAM |
Имя запущенного файла. |
E |
|
|
|
Смотрите также:
FrontWindow(_), SelectionInfo(_), Set Command Info, WindowInfo(_)
84 |
Справочник MapBasic |