完整word版MapBasic中文参考手册.docx
- 文档编号:4226783
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:24
- 大小:30.76KB
完整word版MapBasic中文参考手册.docx
《完整word版MapBasic中文参考手册.docx》由会员分享,可在线阅读,更多相关《完整word版MapBasic中文参考手册.docx(24页珍藏版)》请在冰豆网上搜索。
完整word版MapBasic中文参考手册
Mapbasic中文参考手册
*******************************************************************************
一从功能查函数和语句
二各个语句和函数的功能说明
三参考手册原文关于句法字体的约定
*******************************************************************************
Mapbasic参考手册索引
这本手册对MapBasic编程语言中的每个语句和函数都进行了详细说明,要学习MapBasic语言编程的基本概念或者要学习开发环境的应用,请参考《用户手册》。
*******************************************************************************
*******************************************************************************
1、Mapbasic语言概述
1.1、基本语法
1.1.1、变量
声明局部变量和全局变量Dim,Global
扩大或缩小数组变量Redim,Ubound(),UnDim
声明定制的数据结构Type
1.1.2、循环和分枝
循环For...Next,Exitfor,Do...Loop,ExitDo,While...Wend
分支If...Then,DoCase,GoTo
其它流程控制EndProgram,TerminateApplication,EndMapinfo
1.1.3、输出和打印
打印窗口内容PrintWin
输出文本到信息窗口Print
设置页面窗口Layout,CreateFrame,SetWindow
输出一个窗口内容到文件中SaveWindow
1.1.4、过程(Main和Sub)
定义一个过程DeclareSub,Sub...EndSub
调用一个过程Call
退出一个过程ExitSub
Main过程Main
1.1.5、错误处理
设置一个错误控制OnError
返回当前错误信息Err(),Error$()
从错误处理器返回Resume
摸拟一个错误Error
1.2、函数
1.2.1、定制函数
定义一个定制函数DeclareFunction,Function...EndFunction
退出一个函数ExitFunction
1.2.2、数据转换函数
转换字符串为代码的函数Asc()
转换代码为字符串的函数Chr$()
转换字符串为数字的函数Val()
数字转换成字符串的函数Str$(),Format$()
把数字或字符串转换成日期的函数NumberToDate(),StringToDate()
对象类型转换函数ConvertToRegion(),ConvertToPline()
字符串比较函数Like(),StringCompare(),StringCompareIntl()
重复字符串序列Space$(),String$()
把标注转换为文本的函数Lablelinfo()
1.2.3、日期和时间函数
获取当前日期CurDate()
抽取日期的某个部分Day(),Month(),Weekday(),Year()
获取系统时间Timer()
数值或字符串转换成日期函数NumberToDate(),StrintToDate(),FormatDate$()
1.2.4、数学函数
三角函数Cos(),Sin(),Tan(),Acos(),Asin(),Atn()
地理函数Area(),Perimeter(),Distance(),ObjectLen()
随机函数Randomize,Rnd()
符号函数Abs(),Sgn()
取整函数Fix(),Int(),Round()
其它数学函数Exp(),Log(),Minimum(),Maximum(),Sqr()
1.2.5、字符串函数
大小写函数UCase$(),LCase(),Proper$()
子串查找函数InStr()
字符串提取函数Left$(),Right$(),Mid$(),MidByte$()
删除字符串首尾空格函数LTrim$(),RTrim$()
把数值格式化为字符串Format$(),Str$(),SetFormat,
测定字符串长度Len()
把字符转换为代码Chr$(),Asc$()
字符串比较函数Like(),StringCompare(),StringCompareIntl()
重复字符串序列Space$(),String$()
获取单位名UnitAbbr$(),UnitName$()
1.3、表的操作
1.3.1、建立和编辑表
打开一个已存在的表OpenTable
关闭一个或多个表CloseTable,CloseAll
建立一个新的空表CreatTable
把一个文件转换为一个表RegisterTable
表/文件的输入/输出Import,Export
修改表的结构AlterTable,AddColumn,CreatIndex,DropIndex,CreatMap,DropMap
增加,编辑或删除行Insert,Update,Delete
紧缩表(删除空记录行)PackTable
控制表设置SetTable
保存表的最新编辑CommitTable
放弃表的最新编辑Rollback
重命名一个表RenameTable
删除一个表DropTable
1.3.2、表的查询
定位行光标Fetch,EOT()
迭择数据,操作选择命令Select,SelectionInfo()
按地址查找图对象Find,FindUsing,CommandInfo()
按位置查找图对象SearchPoint(),SearchRect(),SearchInfo()
获取表的信息NumTables(),TableInfo()
获取列的信息NumCols(),ColumnINfo()
查询一个表的元数据GetMetadata$(),Metadata
查询无缝表TableInfo(),GetSeamlessSheet()
1.3.3、远程数据操作
与服务器通讯Server_Connect()
开始远程服务器操作ServerBeginTransaction
分配本机内存ServerBindColumn
获取列信息Server_ColumnInfo(),Server_NumCols()
发送一个SQL语句Server_Execute()
定位行光标ServerFetch,Server_EOT()
保存变化ServerCommit
放弃改变ServerRollback
释放远程资源ServerClose
把远程数据变为可成图的ServerCreatMap
改变对象格式ServerSerMap
使联结表同步ServerRefresh
建立一个联结表ServerLinkTable
断开联结表Unlink
取消与服器的联结ServerDisconnect
恢复驱动器信息Server_DriverInfo(),Server_NumDrivers()
获取QELib的联结句柄Server_GetqeHConn()
获取QELib的语句句柄Server_GetqeHStmt()
ODBC联结Server_GetodbcHConn(),Server_GetodbcHStmt()
1.4、非表文件操作
1.4.1、文件的输入与输出
打开或建立一个文件OpenFile
关闭一个文件CloseFile
删除一个文件Kill
重命名一个文件RenameFile
复制一个文件SaveFile
从文件中读取数据Get,Seek,Input#,LineInput#
向一个文件写入数据Put,Print#,Write#
测定一个文件的状态EOF(),LOF(),SeeK(),FileAttr(),FileExists()
转变一个文件成表RegisterTable
克服共享错误SetFileTimeout
1.4.2、文件与目录
返回系统目录ProgramDirectory$(),HomeDirectory$(),ApplicationDirectory$()
提取文件名的某个部分PathToTableName$(),PathToDirectory$(),PathToFileName$()
返回完整文件名TrueFileName$()
让用户选择文件FileOpenDlg(),FileSaveAsDlg()
返回临时文件名TempFileName$()
1.5、Map和Graphy对象的操作
1.5.1、创建Map对象
创建语句CreateArc,CreateEllipse,CreateFrame,CreateLine,CreatePline,
CreatePoint,CreateRect,CreateRegion,CreateRoundRect,CreateText,AutoLabel
创建函数CreateCircle(),CreateLine(),CreatePoint(),CreateText()
高级操作CreateObject,Buffer()
存对象于表中Insert,Update
1.5.2、编辑Map对象
改变对象属性AlterObject
改变对象类型ConvertToRegion(),ConvertToPLine()
设置编辑目标SetTarget
擦除对象某部分ObjectsErase,Erase(),ObjectsIntersect
合并对象ObjectsCombine,Combine(),CreatObject,ObjectsSplit
分离对象ObjectsSplit
在交接部位增加结点ObjectsOverLay,OverLayNodes()
控制对象分辨率SetResolution
存贮对象于表中Insert,Update
1.5.3、查询Map对象
返回计算值Area(),Perimeter(),Distance(),ObjectLen(),Overlap(),AreaOverlap(),
ProportionOverlap()
返回坐标值ObjectGeography(),MBR(),ObjectNodeX(),ObjectNodeY(),Centroid(),
CentroidX(),CentroidY(),ExtractNodes(),IntersectNodes()
设置测量单位SetAreaUnites,SetDistanceUnites,SetPaperUnites,
UnitAbbr$(),UnitName$()
设置坐标系统SetCpprdSys
返回样式设置ObjectInfo()
查询一个图层的标注LabelFindByID(),LabelFindFirst(),LabelFindNext(),Labelinfo()
1.5.4、对象样式的操作
返回当前样式CurrentPen(),CurrentBrush(),CurrentSymbol(),CurrentFont()
返回样式属性StyleAttr(),PenPattern()
建立样式值MakePen(),MakeBrush(),MakeFont(),MakeSymbol(),MakeCustomSymbol()
MakeFontSymbol(),SetStyle,RGB()
查询对象的样式ObjectInfo()
修改对象样式AlterObject
重载符号样式ReloadSymbol
样式子句Penclause,Brushclause,Symbolclause,Fontclause
1.5.5、Map窗的操作
打开一个Map窗Map
增加一个图层AddMap
除去一个图层RemoveMap
标注一个图层的对象AutoLabel
查询一个图的设置MapperInfo(),LayerInfo()
改变一个图的设置SetMap
建立或编辑专题图层Shade,SetShade,CreateRanges,CreateStyles
查询一个图层的标注LabelfindByID(),LabelFindFirst(),LabelfindNext(),Labelinfo()
1.6建立用户介面
1.6.1、按钮板(工具条)
建立一个新按钮板CreatButtonPad
修改一个按钮板AlterButtonPad
修改一个按钮AlterButton
查询按钮板状态BottonPadInfo
对按钮使用的响应CommandInfo
恢复标准(默认)按钮板CreatButtonPadsAsDefault
1.6.2、对话框
显示标准对话框Ask(),Note,ProgressBar,FileOpenDlg(),FileSaveAsDlg(),
GetSeamlessShet()
显示定制对话框Dialog
对话框处理器操作AlterControl,TriggerControl(),ReadControlValue(),
DialogPreserve,Dialogremove
检测用户是否按击OKCommandInfo(CMD_INDO_DIG_OK)
使进度条不可用SetProgressBars
修改一个标准MAPINFO对话框AlterMapInfoDialog
1.6.3、菜单
定义一个新菜单CreateMenu
重定义菜单条CreateMenuBar
修改一个菜单AlterMenu,AlterMenuItem
修改菜单条AlterMenuBar,MenuBar
执行菜单命令MenuitemInfoByHandler()
查询某个菜单项的状态MenuitemInfoByID()
1.6.4、窗口
显示或隐藏一个窗口OpenWindow,CloseWindow,Setwindow
打开一个新窗口Map,Browse,Graph,Layout,CreateRedistricter,CreateLegend
检测一个窗口的标识FontWindow(),WindowID()
修改一个已存在的窗口SetMap,Shade,AddMap,RemoveMap,SetBrowse,SetGraph,
SetLayout,CreateFrame,SetLegend,SetRedistricter,StatusBar
返回一个窗口的设置WindowInfo(),MapperInfo(),LayerInfo()
打印一个窗口PrintWin
控制窗口重画SetEventProcessing,UpdateWindow
计算窗口数NumWindows(),NumAllWindows()
隐藏浏览窗口中的列Reproject
1.6.5、系统事件处理器
对选择的反应SetChangeHandler
对关闭窗口的反应WinClosedHandler
对图窗变化的反应WinChangeHandler
对窗口活化的反应WinfocusChangedHandler
对DDE请求的反应RemoteMsgHandler,RemoteQueryHandler()
对OLE自动化方法的反应RemoteMapGenHandler
提供定制工具ToolHandler
对应用程序结束的反应EndHandler
对MAPINFO获得或失去活化窗口的反应forgroundTaskSwitchHandler
使事件处理器不可用SetHandler
1.7、与别的应用程序的通讯
1.7.1、DDE(动态数据交换,仅Windows)
开始一个动态数据交换对话DDEInitiate()
发送一个动态数据交换命令DDEExecute
经由DDE(动态数据交换)发送一个值DDEPoke
经由DDE(动态数据交换)接收一个值DDERequest$()
关闭一个DDE(动态数据交换)对话DDETerminate,DDETerminateAll
对一个请求的响应RemoteMsgHandler,RemoteQueryHandler,
CommandInfo(CMD_INFO_MSG)
1.7.2、集成图(只限在Windows下)
设置MAOINFO父窗口SetApplicationWindow
设置一个Map窗的父窗口SetNextDocument
建立一个图例窗口CreateLegend
1.7.3、苹果机事件(只限在Macintosh下)
开始一个对话AEInitiate()
发送DoScript事件AEExecute()
响应一个事件RemoteMsgHandler
1.8、特殊语句和函数
运行另外的程序RunProgram
返回系统信息SystemInfo()
把一个字符串作为解释命令执行RunCommand
保存一个工作现场文件SaveWorkerspace
装入一个工作现场文件或MBX文件RunApplication
设置数字化板SetDigitizer
发送一个声音到扬声器Beep
通过CommandInfo设置数据可读SetCommandInfo
设置拖位对象的延迟时间SetDragThreshold
投影和坐标系统ChooseProjection$()
*******************************************************************************
2、Mapbasic各函数和语句的名称及其作用
2.1、A
Abs()---返回一个数的绝对值
Acos()---返回一个数的反余弦值
AddColumn---在打开的表中,增加一临时的新列,或者用别的表的数据来更新一个已有的列
AddMap---向Map窗加一图层
AEExecute()---发送一个DoScript事件给萍果事件服务程序
AEInitiate()---建立一个通过AEExecute()函数发送苹果事件时要用的苹果事件通道说明符
AlterBotton---使按钮板(工具条)上的一个按钮可用,不可用,被选择或脱离选择
AlterBottonPad---显示或隐藏按钮板,增加或去除按钮
AlterControl---改变活化的定制对话框内控件的状态
AlterMapInfoDialog---使Mapinfo标准对话框中的控件不可用,隐匿或被赋予新值
AlterMenu---从一存在菜单中增加或去除某一菜单项
AlterMenuBar---增加或去除菜单条上的菜单
AlterMenuItem---改变指定菜单项的状态(可用或不可用)
AlterObject---修改一个对象的形状,位置或图形式样
AlterTable---改变表结构(不能用于链结表)
ApplicationDirectory$()---返回当前正在执行的MapBasic应用程序的路径字串
Area()---面积函数,返回一个对象的地理面积
AreaOverlap()---返回两个封闭对象重叠的面积
Asc()---返回字符串头一字符的字符码[如Asc("Abcde")为65]
Asin()---返回一个数的反正弦值
Ask()---显示一个对话框给用户提出一个回答Yes/No(OK/Cancel)的问题
Atn()---返回一个数的反正切值
AutoLabel()---给出Map窗中的标注,并把标注存入装饰层
2.2、B
Beep---发出一个哔声
Browse---打开一新的Browser窗口
Brush---为图形对象指定一种填充式样
Buffer()---返回代表一个缓冲区的区域对象(在已有对象的指定缓冲距离内的区域)
BottonPadInfo()---返回有关按钮板的信息
2.3、C
Call---调用过程或外部子程序
Centroid()---返回对象的形心(中心点)
CentroidX()---返回对象形心的X坐标
CentroidY()---返回对象形心的Y坐标
CharSet---指定MapBasic用哪一套字符集作为解释字符码
ChooseProjection$()---显示选择投影对话框并返回用户选择的坐标系统
Chr$()---返回对应指定字符码的单字符字串
CloseALL---关闭所有打开的表
CloseFile---关闭一个打开的文件
CloseTable---关闭一个打开的表
CloseWindow---关闭或隐藏一个窗口
ColumnInfo()---返回一打开表中某列的信息
Combine()---返回代表两个对象联合的一个区域或折线
CommandInfo()---返回最近事件的有关信息
CommitTable()---把最新的编辑存盘或保存一个表的备份
Continue---继续执行MapBasic程序(在Stop语句后)
ControlButton/OKButton/CancelButton---Dialog(对话框)语句的一部分,把一弹性按钮控件加到对话框内
ControlCheckBox---Dialog语句的一部分,把一检查框控件加到对话框中
ControlEditText---Dialog语句的一部分,把一个编辑文本控件加到对话框中
ControlGroupBox---Dialog语句的一部分增加一个带标题的矩形框到对话框内
ControlListBox/MultiListBox---Dialog语句的一部分,把一个列表控件加到对话框内,ListBox(列表框内)控件与MultiListBox(多选框)控件的区别仅在于用户可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word MapBasic 中文 参考手册