- •Оператор Add Column
- •Оператор Add Map
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter Cartographic Frame
- •Оператор Alter Control
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Bar
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор AutoLabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Функция ButtonPadInfo( )
- •Оператор Call
- •Функция•CartesianArea( )
- •Функция CartesianBuffer( )
- •Функция CartesianDistance ( )
- •Функция CartesianObjectLen( )
- •Функция CartesianPerimeter( )
- •Функция Centroid( )
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Функция CommandInfo()
- •Оператор Commit Table
- •Оператор Continue
- •Предложения Control Button / OKButton / CancelButton
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложения Control ListBox / MultiListBox
- •Предложение Control PopupMenu
- •Предложение Control RadioGroup
- •Предложение Control StaticText
- •Функция ConvexHull( )
- •Предложение CoordSys
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Функция CreateCircle( )
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create Object
- •Оператор Create Pline
- •Оператор Create Point
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Функция CreateText( )
- •Функция DateWindow( )
- •Оператор 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
- •Оператор For...Next
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Global
- •Оператор Goto
- •Оператор Graph
- •Оператор If...Then
- •Оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция Int( )
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Функция LabelFindByID( )
- •Функция LabelFindNext( )
- •Функция Labelinfo( )
- •Оператор Layout
- •Функция LegendFrameInfo( )
- •Функция LegendInfo( )
- •Функция LegendStyleInfo( )
- •Оператор Line Input
- •Процедура Main
- •Функция MakeCustomSymbol( )
- •Функция MakeFontSymbol( )
- •Оператор Map
- •Функция Map3dInfo( )
- •Оператор Menu Bar
- •Функция MenuitemInfoByID( )
- •Оператор Metadata
- •Оператор Note
- •Функция NumAllWindows( )
- •Оператор Objects Check
- •Оператор Objects Combine
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Report
- •Оператор Open Table
- •Оператор Open Window
- •Оператор Pack Table
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор Print #
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Remove Cartographic Frame
- •Оператор Remove Map
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Window
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Функция Server_ColumnInfo( )
- •Оператор Server Commit
- •Функция Server_Connect( )
- •Оператор Server Create Map
- •Оператор Server Disconnect
- •Функция Server_DriverInfo( )
- •Функция Server_EOT( )
- •Функция Server_Execute( )
- •Оператор Server Fetch
- •Функция Server_GetodbcHConn( )
- •Функция Server_GetodbcHStmt( )
- •Оператор Server Link Table
- •Функция Server_NumCols( )
- •Функция Server_NumDrivers( )
- •Оператор 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 ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Style
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Функция StyleAttr( )
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Функция UnitAbbr$( )
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Write #
- •Приложение A: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Функция MenuitemInfoByID( )
Функция MenuitemInfoByID( )
Назначение:
Возвращает информацию об элементе меню MapInfo.
Синтаксис:
MenuitemInfoByID(menuitem_ID, attribute )
menuitem_ID – целое число типа Integer, идентификатор элемента меню, который он получил при создании в предложении ID оператора Create Menu;
attribute – целое число типа Integer, код, задающий, какую информацию необходимо вернуть.
Величина, полученная в результате:
Тип величины зависит от значения параметра attribute.
Описание:
Функция работает аналогично функции MenuitemInfoByHandler( ). Различие состоит в том, как задается элемент меню в первом параметре. В функции MenuitemInfoByID( ) используется его идентификатор. В функции MenuitemInfoByHandler( ) элемент меню задается обработчиком, который запускается, когда пользователь выберет элемент меню.
Параметр attribute должен быть целочисленным кодом, одним из тех, имена которым присвоены в файле MAPBASIC.DEF (например, MENUITEM_INFO_CHECKED). Список возможных значений параметра attribute и какой результат должен быть получен в результате тот же, что и для функции MenuitemInfoByHandler( ) (смотрите описание функции выше).
Смотрите также:
MenuItemInfoByHandler( )
324 |
Справочник MapBasic |
Оператор Metadata
Оператор Metadata
Назначение:
Управление метаданными таблицы.
Синтаксис (вариант 1):
Metadata Table table_name
{SetKey key_name To key_value |
DropKey key_name [ Hierarchical ] |
SetTraverse starting_key_name [ Hierarchical ] Into ID traverse_ID_var }
где
table_name – имя открытой таблицы;
key_name – строка, представляющая имя ключа метаданных (должна начинаться с обратного слэша (“\”) и не должна заканчиваться обратным слэшом);
key_value – строка до 239 символов длиной, значение, присваиваемое ключу;
starting_key_name – строка, представляющая первое имя ключа для извлечения соответствующего значения из таблицы. Чтобы начать структурное извлечение с самого начала списка ключей, добавьте “\” (обратный слэш);
traverse_ID_var – имя переменной типа Integer. С помощью этой переменной MapInfo управляет последовательными операторами Metadata Traverse.
Синтаксис (вариант 2):
Metadata Traverse traverse_ID
{ Next Into Key key_name_var Into Value key_value_var |
Destroy }
где
traverse_ID – целое число типа Integer (такое как значение переменной traverse_ID_var из предыдущего варианта синтаксиса оператора);
key_name_var – имя строковой переменной (MapInfo помещает в эту переменную название ключа для извлечения);
key_value_var – имя строковой переменной (MapInfo помещает в эту переменную извлекаемое значение).
Описание:
Оператор Metadata управляет метаданными, размещаемыми в таблице MapInfo 4.0. Metadata – это информация, размещаемая в файле таблицы (.TAB), а не в строках и столбцах файла данных.
Каждая таблица может иметь ключи метаданных. Каждый ключ определяет категорию хранимой информации, такой как имя автора, его права и т.д. Каждому ключу соответствует некое значение. Например, ключу “\Copyright” может соответствовать значение “Copyright 1995 MapInfo CorporaL tion.” Более подробно метаданные описываются в главе 7 Руководства пользователя MapBasic.
Изменение метаданных в таблице
Чтобы создать, поменять или удалить метаданные, используйте Синтаксис 1. Если Вы создаете метаданные, то они записываются немедленно; не нужно проводить операцию сохранения. При этом используются следующие предложения:
SetKey
Присваивает значение ключу. Если ключ уже существует, то MapInfo присваивает ему новое значение. Если ключ не существует, MapInfo создает его.
Справочник MapBasic |
325 |
Оператор Metadata
MetaData Table Parcels SetKey ”\Info\Date” To Str$(CurDate())
Внимание: MapInfo автоматически создает ключ метаданных “\IsReadOnly” (со стандартным значением “FALSE”) в первый раз, когда Вы добавляете метаданные в таблицу. Ключ "\IsReadOnly" – это специальный ключ, который MapInfo использует для своих нужд.
DropKey
Удаляет ключ из таблицы. Если добавить слово Hierarchical, MapInfo удаляет вместе с ключом всю структуру метаданных, подчиненных этому ключу. Например, если в таблице есть ключи “\Info\Author” и “\Info\Date”, то оба они удаляются следующим оператором:
MetaData Table Parcels DropKey ”\Info” Hierarchical
Чтение метаданных из таблицы
Чтобы прочитать метаданные из таблицы, используется предложение SetTraverse, которое инициализирует операцию структурного извлечения, продолжаемую затем одноразовыми извлечениями значений предложением Next. Для завершения операции извлечения применяется предложение Destroy, которое освобождает память, используемую при этой операции. Более подробно о предложениях этого оператора:
SetTraverse
Подготавливает операцию структурного извлечения метаданных, начиная с определенного ключа. Чтобы начать извлечение с самого первого в иерархии ключа, задайте в качестве имени начального ключа “\”. Если будет добавлено слово Hierarchical, то операция извлечения пройдет по всей структуре. Если слово Hierarchical опущено, то операция извлечения не будет опускаться на уровни ниже начального (т.е. извлечение, стартовавшее с ключа “\Info”, не затронет ключ “\Info\Date”).
Next Into Key ... Into Value ...
Попытка чтения следующего ключа. Если еще остаются ключи для чтения, то MapInfo помещает ключ в переменную key_name_var и значение, соответствующее ключу, в переменную key_value_var. Если ключи исчерпаны, MapInfo помещает в обе переменные пустые значения.
Destroy
Завершает операцию структурного извлечения и освобождает занятую под нее память.
Внимание: Операция структурного извлечения может проникать до десятого уровня иерархии (т.е. “\Один\Два\Три\Четыре\Пять\Шесть\Семь\Восемь\Девять\Десять”), начиная с нулевого или корневого (“\”). Если Вы хотите проникнуть глубже, чем на 10 уровней, то начинайте операцию структурного извлечения с ненулевого уровня (например, с уровня “\Один\Два\Три\Четыре\Пять”).
Пример:
Следующая процедура извлекает все метаданные из таблицы; имя таблицы определяется вызывающей программой. Все ключи и соответствующие им значения распечатываются в окне Сообщения.
Sub Print_Metadata(ByVal table_name As String)
Dim i_traversal As Integer
Dim s_keyname, s_keyvalue As String
’ Инициализация операции извлечения: Metadata Table table_name
SetTraverse ”\” Hierarchical |
Into ID i_traversal |
326 |
Справочник MapBasic |
Оператор Metadata
’ Попытка извлечь значение по первому ключу: Metadata Traverse i_traversal
Next Into Key s_keyname Into Value s_keyvalue
’Теперь в цикле извлекаются все значения по одному
’до тех пор, пока есть непустые ключи,
’и они распечатываются в окне Сообщений.
Do While s_keyname <> ””
Print ” ”
Print ”Key name: ” & s_keyname
Print ”Key value: ” & s_keyvalue
Metadata Traverse i_traversal
Next Into Key s_keyname Into Value s_keyvalue
Loop
’ Освобождение памяти, занятой под операцию извлечения: MetaData Traverse i_traversal Destroy
End Sub
Смотрите также:
GetMetadata$( ), TableInfo( )
Справочник MapBasic |
327 |
Функция Mid$( )
Функция Mid$( )
Назначение:
Возвращает строку, извлекая ее из середины другой.
Синтаксис:
Mid$(string_expr, position, length)
где
string_expr – выражение, результат которого есть строка;
position – целочисленное выражение, результат которого есть номер первого символа, извлекаемого из строки;
length – целочисленное выражение, результат которого есть количество извлекаемых символов.
Величина, полученная в результате:
Строка. Величина типа String.
Описание:
Функция Mid$( ) возвращает подстроку из строки, заданной выражением string_expr.
Функция копирует length символов из string_expr, начиная с символа, номер которого определен параметром position. Если значение этого параметра меньше или равно единице, то копирование будет производиться с самого начала строки string_expr.
Если длина строки string_expr меньше, чем заданный параметр length, то функция вернет укороченную строку. Если параметр position задает позицию за пределами строки string_expr, то функция возвратит пустую строку. Такой же результат Вы получите, если зададите параметр длины length меньше единицы.
Пример:
Dim str_var, substr_var As String
str_var = "New York City"
substr_var = Mid$(str_var, 10, 4)
'
' substr_var теперь равна "City"
'
Смотрите также:
InStr( ), Left$( ), Right$( )
328 |
Справочник MapBasic |
Функция MidByte$( )
Функция MidByte$( )
Назначение:
Позволяет извлекать байты из строки, состоящей из двухбайтовых символов (например, Windows Japanese).
Синтаксис:
MidByte$(string_expr, position, length )
где
string_expr – строковое выражение;
position – целочисленное выражение, результат которого есть номер первого символа, извлекаемого из строки;
length – целочисленное выражение, задающее количество извлекаемых байт.
Величина, полученная в результате:
Строка. Величина типа String.
Описание:
Функция MidByte$( ) возвращает некоторое количество байт из строки, заданной выражением string_expr.
Функция MidByte$( ) используется для извлечения нескольких байтов из строки, образованной символами двухбайтовой кодировки. Двухбайтовая кодировка символов (DBCS) используется, например, в японской версии Windows.
В системах с однобайтовыми наборами символов функция MidByte$( ) возвращает те же результаты, что и функция Mid$( ).
Смотрите также:
InStr( ), Left$( ), Right$( )
Справочник MapBasic |
329 |
Функция Minimum( )
Функция Minimum( )
Назначение:
Возвращает наименьшее из двух заданных чисел.
Синтаксис:
Minimum(num_expr, num_expr )
где
num_expr – численное выражение.
Величина, полученная в результате:
Вещественное число. Величина типа Float.
Описание:
Функция Minimum( ) возвращает наименьшее из двух чисел, заданных численными выражениями num_expr.
Пример:
Dim x, y, z As Float x = 42
y = 100
z = Minimum(x, y)
' z равно 100
Смотрите также:
Maximum( )
330 |
Справочник MapBasic |
Функция Month( )
Функция Month( )
Назначение:
Возвращает из даты компоненту, соответствующую номеру месяца в году (1 – 12).
Синтаксис:
Month(date_expr)
где
date_expr – выражение, результатом которого является величина типа Date.
Величина, полученная в результате:
Короткое целое число от 1 до 12, включительно. Величина типа SmallInt.
Описание:
Функция Month( ) возвращает целое число, являющееся номером месяца в дате date_expr.
Примеры:
Определим, какой сейчас месяц:
If Month(CurDate( )) = 12 Then
Note "Это Декабрь"
End If
Функцию Month( ) можно использовать в SQLLзапросе. Следующий оператор Select выбирает из таблицы ORDERS только строки со значениями в колонке "Order_Date" (тип Date), относящиеся к декабрю 1993.
Open Table "orders"
Select *
From orders
Where Month(order_date) = 12 And Year(order_date) = 1993
Смотрите также:
CurDate( ), Day( ), Weekday( ), Year( )
Справочник MapBasic |
331 |