- •Оператор 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: Таблица кодов символов
- •Приложение В: Арифметические и географические операторы
- •ИНДЕКС
Функция Centroid( )
Функция Centroid( )
Назначение:
Возвращает центральную точку объекта (центроид).
Синтаксис:
Centroid(obj_expr)
где
obj_expr – объектное выражение
Величина, полученная в результате:
Точка. Величина типа Object.
Описание:
Функция Centroid(_) возвращает точечный объект, расположенный в центре объекта, представленного параметром obj_expr.
Замечание: В MapInfo области не всегда имеют центроид в центре объекта. Вы всегда можете передвинуть центроид области в нужное место на изменяемом слое Карты в режиме изменения формы. От расположения центроида области зависит расположение подписей, полученных в результате автоподписывания, точек геокодирования и расположения графиков и диаграмм на тематическом слое Карты.
Если объект obj_expr является точечным, то функция его и вернет.
Если объект – линия, то в результате получится точка между ее концами. Если параметр obj_expr представляет объект типа "полилиния", то Centroid(_) возвращает середину среднего сегмента полилинии.
Для других типов объектов функция возвращает точку с координатами действительного центроида. Если объект прямоугольник, дуга, текст или эллипс, то точка будет равноудалена между верхней и нижней границами, и между правой и левой границами. Для объекта типа "область" центроид всегда лежит внутри объекта, но не обязательно находится в геометрическом центре объекта.
Пример :
Dim pos As Object
Open Table ”world”
Fetch First From world
pos = Centroid(world.obj)
Смотрите также:
CentroidX( ), CentroidY( )
62 |
Справочник MapBasic |
Функция CentroidX( )
Функция CentroidX( )
Назначение:
Возвращает координату центральной точки (центроида) по оси X.
Синтаксис:
CentroidX(obj_expr)
где
obj_expr – объектное выражение.
Величина, полученная в результате:
Вещественное число. Величина типа Float.
Описание:
Функция CentroidX(_) возвращает XLкоординату (или долготу) центральной точки объекта – точечного объекта, который можно получить, используя функцию Centroid(_).
Координаты возвращаются относительно действующей координатной системы, которая была назначена до этого оператором Set CoordSys. По умолчанию MapBasic использует систему широта/ долгота.
Пример 1:
Функция CentroidX(_) возвращает долготу одного географического объекта.
Dim x As Float
Open Table "world.tab"
Fetch First From world
x = CentroidX(world.obj)
Note "Долгота: " + x + " град."
Пример 2:
В этом примере продемонстрировано использование функций CentroidX(_) и CentroidY(_) в операторе Select при формировании SQLLзапроса. В результате нижеприведенных операторов получается временная таблица из трех колонок, где первая содержит названия стран, а следующие две содержат XL и YLкоординаты (долготу и широту) центроида каждой страны.
Open Table "world"
Select country, CentroidX(obj), CentroidY(obj)
From world Into results
Смотрите также:
Centroid(_), CentroidY(_), Set CoordSys
Справочник MapBasic |
63 |
Функция CentroidY( )
Функция CentroidY( )
Назначение:
Возвращает координату центральной точки (центроида) по оси Y.
Синтаксис:
CentroidY(obj_expr)
где
obj_expr – объектное выражение.
Величина, полученная в результате:
Вещественное число. Величина типа Float.
Описание:
Функция CentroidY(_) возвращает YLкоординату (или широту) центральной точки объекта – точечного объекта, который можно получить, используя функцию Centroid(_).
Координаты возвращаются относительно действующей координатной системы, которая была назначена перед этим оператором Set CoordSys. По умолчанию MapBasic использует систему широта/долгота.
Пример:
Функция CentroidY(_) возвращает широту одного географического объекта.
Dim y As Float
Open Table "world"
Fetch First From world
y = CentroidY(world.obj)
Смотрите также:
Centroid(_), CentroidX(_), Set CoordSys
64 |
Справочник MapBasic |
Предложение CharSet
Предложение CharSet
значение:
Определяет набор кодов, используемый в MapBasic для интерпретирования символов.
Синтаксис:
CharSet char_set
где
char_set – строковая величина, содержащая имя кода, например, "ANSI".
Описание:
Предложение CharSet используется для перекодировки символов в операциях чтения из файла или записи в файл или таблицы. Предложение не является самостоятельным оператором и входит в состав таких операторов, работающих с файлами, как Export и Open File.
Для чего нужна система кодов?
Каждому символу клавиатуры соответствует свой численный код. Например, буква латинского алфавита “A” имеет код 65. Системой кодов называют набор соответствий кодов символам, используемый компьютером для представления этих символов в текстовых данных.
Существуют несколько систем кодов, используемых в разных операционных системах. Например, Windows версии для Северной Америки и Западной Европы использует код 176 для представления знака градуса (°), тогда как Windows другой языковой версии может использовать этод код для другого символа. Тем более различаются системы кодов в операционных системах разных компьютерных платформ. Знак градуса в системе Macintosh имеет код 161.
Большинство программ DOS используют расширенную систему кодов ASCII для представления символов. В среде Windows используется ANSILстандарт. Одним из следствий существования нескольких наборов символов является необходимость перекодировки данных при переносе их с одной вычислительной платформы на другую.
Для определения системы кодов символов используйте вызов функции System4 Info(SYS_INFO_CHARSET).
Как кодировка символов влияет на программу MapBasic?
В большинстве кодировок часть символов представлена одинаковыми числами, например, символ английской буквы A имеет один и тот же код 65 в средах Windows, UNIX и Macintosh. Начиная с 126 символа размещаются символы различных языков.
Если Ваш файл включает текст, в котором используются символы, имеющие коды от 32 (пробел) до 126 (тильда), то Вам не надо беспокоиться о конфликтах, которые могут произойти изLза некорректности перевода данных.
Даже если Вы использовали символы из интернациональной клавиатуры, но не выходите за пределы своей операционной среды (например, Вы работаете только в Windows), то тоже нет причин для беспокойства.
Однако, если файл включает интернациональные символы и Вы хотите его перенести в другую операционную среду, которая использует другую кодировку, Вам не обойтись без предложения CharSet для сохранения целостности Ваших данных.
Справочник MapBasic |
65 |
Предложение CharSet
Например, приложение MapBasic, выполняющееся в MapInfo для Windows, может использовать операторы Open File и Line Input для открытия файла и чтения из него текста. Если этот текстовый файл был создан в операционной среде Macintosh, то оператору Open File... For Input необходимо иметь предложение CharSet для того, чтобы текст был правильно прочитан:
Open File "cogo23.txt" For INPUT As #2 CharSet "MacRoman"
Аналогично, если программа записывает в этот файл, оператор Open File... For Output должен иметь такое же предложение CharSet, чтобы текстовый файл можно было прочитать в Macintosh.
Предложение CharSet имеет только один строковый параметр, возможные значения которого приведены в следующей таблице:
Character Set |
Комментарии |
"Neutral" |
нет преобразования кодов |
"ISO8859_1" |
ISO 8859L1 (Unix) |
"ISO8859_2" |
ISO 8859L2 (Unix) |
"ISO8859_3" |
ISO 8859L3 (Unix) |
"ISO8859_4" |
ISO 8859L4 (Unix) |
"ISO8859_5" |
ISO 8859L5 (Unix) |
"ISO8859_6" |
ISO 8859L6 (Unix) |
"ISO8859_7" |
ISO 8859L7 (Unix) |
"ISO8859_8" |
ISO 8859L8 (Unix) |
"ISO8859_9" |
ISO 8859L9 (Unix) |
"PackedEUCJapanese" |
Unix, японский стандарт |
"WindowsLatin1" |
Windows, стандарт США и Западной Европы |
"WindowsLatin2" |
Windows, стандарт Восточной Европы |
"WindowsArabic" |
Windows, стандарт арабских языков |
"WindowsCyrillic" |
Windows, стандарт русского языка |
"WindowsGreek" |
Windows, стандарт греческого языка |
"WindowsHebrew" |
Windows, стандарт иврита |
"WindowsTurkish" |
Windows, стандарт турецкого языка |
"WindowsTradChinese" |
Windows, стандарт традиционный китайский |
"WindowsSimpChinese" |
Windows, стандарт упрощенный китайский |
"WindowsJapanese" |
Windows, стандарт японского языка |
"WindowsKorean" |
Windows, стандарт корейского языка |
66 |
Справочник MapBasic |
|
Предложение CharSet |
|
|
"MacRoman" |
Macintosh, стандарт США и Западной Европы |
"MacArabic" |
Macintosh арабский |
"MacGreek" |
Macintosh греческий |
"MacHebrew" |
MacintoshLиврит |
"MacCentralEuropean" |
Macintosh для Центральной Европы |
"MacCroatian" |
Macintosh для Хорватии |
"MacCyrillic" |
Macintosh русский |
"MacIcelandic" |
Macintosh исландский |
"MacThai" |
Macintosh таиландский |
"MacTurkish" |
Macintosh турецкий |
"MacTradChinese" |
Macintosh китайский традиционный |
"MacSimpChinese" |
Macintosh китайский упрощенный |
"MacJapanese" |
Macintosh японский |
"MacKorean" |
Macintosh корейский |
"CodePage437" |
DOS Code Page 437 = расширенная кодировка ASCII для IBM |
"CodePage850" |
DOS Code Page 850 = многоязычная |
"CodePage852" |
DOS Code Page 852 = Восточная Европа |
"CodePage855" |
DOS Code Page 855 = Кириллица |
"CodePage857" |
|
"CodePage860" |
DOS Code Page 860 = Португальская |
"CodePage861" |
DOS Code Page 861 = Исландская |
"CodePage863" |
DOS Code Page 863 = ФранцузскоLКанадская |
"CodePage864" |
DOS Code Page 864 = Арабская |
"CodePage865" |
DOS Code Page 865 = Норвежская |
"CodePage869" |
DOS Code Page 869 = Современная Греческая |
"LICS" |
Кодировка Lotus версии 1,2 |
"LMBCS" |
Кодировка Lotus версии 3,4 |
Заметим, что в операторе Open Table нет необходимости использовать предложение CharSet, так как файл таблицы содержит информацию о той системе, где она была создана и MapInfo автоматически подбирает необходимую кодировку для перевода.
Предложение CharSet может понадобиться в операторе Commit Table... As, если Вы хотите
Справочник MapBasic |
67 |
Предложение CharSet
сохранить данные в таблице в определенной кодировке.
Синтаксис предложения в языке MapBasic версии 2.x
MapBasic версии 2.x располагает только тремя именами систем кодов: "XASCII", "ANSI" и "MAC". Тексты программ, написанные во времена этой версии, и которые используют эти имена систем кодов, могут быть откомпилированы и запущены в MapBasic версии 3.0. Однако, использовать имена систем кодов из версии 2.x не рекомендуется:
Предложение CharSet "XASCII" соответствует предложению CharSet "CodePage437".
Предложение CharSet "MAC" соответствует предложению CharSet "MacRoman".
Если Вы работаете в Windows, то предложение CharSet "ANSI" задает кодировку, которая используется в Windows. Если программа запускается в UNIX или Macintosh, то CharSet "ANSI" задает такую же кодировку, как предложение CharSet "WindowsLatin1".
Пример:
Текстовый файл PARCEL.TXT был создан в DOS, поэтому в следующем примере используется код "CodePage437".
Open File "parcel.txt"
For INPUT As #1
CharSet "CodePage437"
Смотрите также:
Commit Table, Create Table, Export, Open File, Register Table
68 |
Справочник MapBasic |