- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Оператор ReDim
Оператор ReDim
Назначение:
Изменяет размерность массива.
Синтаксис:
ReDim var_name (newsize) [, ... ]
где
var_name – имя массива локальных или глобальных переменных; newsize – целое число, задающее новую размерность:
в16Lбитной версии Windows от 0 до 7000 включительно;
вMacintosh и 32Lбитных Windows от 0 до 32767 включительно.
Описание:
Оператор ReDim изменяет размерность (то есть количество элементов) одного или более уже объявленных массивов. Имя массива переменных, заданное в параметре var_name, должно быть до этого объявлено в операторе Dim или Global. Оператор ReDim не применим к переменным, которые не являются массивами.
Если параметр newsize, задающий новое значение размерности, не задан, то функция ReDim уменьшает размерность массива до нуля. Массив с нулевой размерностью занимает минимально возможное место в памяти.
Надо учитывать, что при изменении размерности массива все значения, присвоенные элементам массива, теряются.
В отличие от других BASICLязыков, MapBasic не позволяет задавать произвольный номер первого элемента массива. Другими словами, первый элемент массива в MapBasic всегда имеет номер 1 (единица).
Пример 1:
Dim names_list(10) As String, cur_size As Integer
'
'Следующий оператор считывает значение
'размерности массива, оператор ReDim увеличивает
'это значение на 10
'
cur_size = Ubound(names_list)
ReDim names_list(cur_size + 10)
'
'Следующий оператор ReDims обнуляет размерность
'нашего массива. Предположительно, этот массив больше
'не понадобится и обнуление его размерности
'сэкономит нам ресурсы памяти.
'
ReDim names_list(0)
Пример 2:
Оператор ReDim может применяться к массивам переменных сложного типа, составленным при помощи оператора Type, и к массивам, которые являются элементами переменных сложного типа.
394 |
Справочник MapBasic |
Оператор ReDim
Type customer name As String
serial_nums(0) As Integer End Type
Dim new_customers(1) As customer
'
'Сначала увеличим размерность массива new_customers
'до пяти элементов
'
ReDim new_customers(5)
'
'Теперь изменим размерность массива serial_nums,
'который является элементом массива new_customers
ReDim new_customers(1).serial_nums(10)
Смотрите также:
Dim, Global, UBound( )
Справочник MapBasic |
395 |
Оператор Register Table
Оператор Register Table
Назначение
Строит таблицу MapInfo из электронных таблиц, баз данных или текстовых файлов (но не из растровых изображений).
Оператор Register Table изменен путем включения типа “ACCESS” для регистрации таблиц Access.
Синтаксис
Register Table source_file
{Type “NATIVE” |
Type “DBF” [ Charset char_set ] |
Type “ASCII” [ Delimiter delim_char ] [ Titles ] [ CharSet char_set ] | Type “WKS” [ Titles ] [ Range range_name ] |
Type “XLS” [ Titles ] [ Range range_name ] |
Type “Access” Table table_name [ Password pwd ] [ CharSet char_set ] } [ Into destination_file ]
source_file L строка определяющая имя существующей базы данных, электронной таблицы или текстового файла. Если Вы регистрируете таблицу Access, этот аргумент должен идентифицировать доступную базу данных Access.
char_set is L название установленного шрифта; смотрите обсуждение оператора CharSet.
delim_char L знак разделителя между значениями полей таблицы (только для текстовых ASCIIL файлов). Если в файле используется Tab в качестве разделителя, укажите 9. Если используется запятая, укажите 44.
range_name L строка с именем области электронной таблицы (например, “MyTable”) или с ссылкой на ячейки (например, в Excel ячейки могут быть заданы как “Sheet1!R1C1:R9C6” или как “Sheet1!A1:F9”).
table_name L строка, определяющая имя таблицы Access.
pwd L пароль на уровне базы данных, определяемый при включении защиты базы данных.
destination_file L имя будущей таблицы MapInfo table (.TAB file). Строка может включать в себя путь, если же он не указан, то файл будет строиться в той же директории, где и исходный файл.
Описание
Перед тем, как использовать в MapInfo файлы “неродных” форматов (например, dBASE файл), Вы должны их зарегистрировать. Оператор Register Table приводит к тому, что MapInfo проверяет, может ли использоваться этот формат. Далее MapInfo заготавливает для него файлыLкомпоненты таблицы (filename.TAB, и др.). Как только оператор Register Table создаст файлыLкомпоненты, Вы можете открывать таблицу и редактировать ее данные в Списке или на Карте.
Оператор Register Table не копирует и не изменяет оригинал файла данных. Вместо этого, он проверяет данные, определяет типы данных в колонках и создает отдельную таблицу.
Замечание: Таблица не открывается автоматически. Для открытия таблицы надо использовать оператор Open Table.
Каждый файл данных должен быть зарегистрирован только раз. Так как при регистрации создаются файлыLкомпоненты, то при следующем сеансе работы MapInfo может просто открывать зарегистрированную ранее таблицу (оператор Open), а не регистрировать файл заново оператор Reg4 ister Table.
396 |
Справочник MapBasic |
Оператор Register Table
Предложение Type задает формат, в котором был создан файл данных. За словом Type, может следовать одна из следующих строк: NATIVE, DBF, ASCII, WKS, XLS или Access.
Предложение CharSet является стандартным предложением и задает кодировку, в которой был создан файлLисточник, например, “MacRoman” или “WindowsLatin1”. Если этого предложения нет в операторе, MapBasic будет использовать текущую кодировку системы, в которой Вы работаете.
Предложение Delimiter задает знак разделителя между значениями полей для текстовых файлов. По умолчанию принимается символ табуляции. Предложение Titles определяет первую строку данных как названия полей в таблице MapInfo. Предложение Range определяет именованную область из исходного файла как базу данных (для электронных таблиц). Предложение Into задает в виде строки имя файла .TAB и расположение на диске. Если предложения в операторе нет, имя файла таблицы будет таким же, как имя файлаLисточника и располагаться он должен в том же каталоге. В случае, если для диска, на котором расположен файлLисточник, разрешено только чтение (например, CD– ROM), то файл таблицы будет сохранен гдеLто в другом месте, где запись разрешена.
Оператор Register Table не может быть использован для построения таблиц из файлов с растровым изображением (например, Photo.GIF). Чтобы из программы создать таблицу, основанную на растровом изображении (например, Photo.GIF), нужно использовать операторы ввода/вывода, такие, как Open File и Print #. Пример построения таблицы на основе растрового файла приводится в главе 7 Руководства пользователя MapBasic.
Регистрация таблиц Access
Когда Вы регистрируете таблицу Access, MapInfo проверяет колонку с уникальными индексами. Если уже существует такая колонка, MapInfo регистрирует ее в файле .TAB file. Эта колонка только для чтения.
Если в таблице Access нет такой колонки, MapInfo модифицирует таблицу Access добавляя к ней колонку с именем MAPINFO_ID с типом данных сounter. В этом случае, колонка тоже не отображается в MapInfo.
Предупреждение:Не пытайтесь ни каким способом изменять колонку счета. Это автоматически поддерживается только MapInfo.
Тип данных баз данных Access транслируется в закрытый тип данных MapInfo. Специальные типы данных Access, такие, как OLE объекты и бинарные поля, в MapInfo не редактируются.
Пример:
Register Table ”c:\mapinfo\data\rpt23.dbf”
Type ”DBF”
Into ”Report23”
Open Table ”c:\mapinfo\data\Report23”
Смотрите также:
Open Table, Create Table
Справочник MapBasic |
397 |