MapBasic学习教程Word格式.docx
《MapBasic学习教程Word格式.docx》由会员分享,可在线阅读,更多相关《MapBasic学习教程Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
从错误处理器返回Resume
摸拟一个错误Error
2.函数
定制函数
定义一个定制函数DeclareFunction,Function...EndFunction
退出一个函数ExitFunction
数据转换函数
转换字符串为代码的函数Asc()
转换代码为字符串的函数Chr$()
转换字符串为数字的函数Val()
数字转换成字符串的函数Str$(),Format$()
把数字或字符串转换成日期的函数NumberToDate(),StringToDate()
对象类型转换函数ConvertToRegion(),ConvertToPline()
字符串比较函数Like(),StringCompare(),StringCompareIntl()
重复字符串序列Space$(),String$()
把标注转换为文本的函数Lablelinfo()
日期和时间函数
获取当前日期CurDate()
抽取日期的某个部分Day(),Month(),Weekday(),Year()
获取系统时间Timer()
数值或字符串转换成日期函数NumberToDate(),StrintToDate(),FormatDate$()
数学函数
三角函数Cos(),Sin(),Tan(),Acos(),Asin(),Atn()
地理函数Area(),Perimeter(),Distance(),ObjectLen()
随机函数Randomize,Rnd()
符号函数Abs(),Sgn()
取整函数Fix(),Int(),Round()
其它数学函数Exp(),Log(),Minimum(),Maximum(),Sqr()
3.字符串函数
大小写函数UCase$(),LCase(),Proper$()
子串查找函数InStr()
字符串提取函数Left$(),Right$(),Mid$(),MidByte$()
删除字符串首尾空格函数LTrim$(),RTrim$()
把数值格式化为字符串Format$(),Str$(),SetFormat,
测定字符串长度Len()
把字符转换为代码Chr$(),Asc$()
获取单位名UnitAbbr$(),UnitName$()
4.表的操作
建立和编辑表
打开一个已存在的表OpenTable
关闭一个或多个表CloseTable,CloseAll
建立一个新的空表CreatTable
把一个文件转换为一个表RegisterTable
表/文件的输入/输出Import,Export
修改表的结构AlterTable,AddColumn,CreatIndex,DropIndex,CreatMap,DropMap增加,编辑或删除行Insert,Update,Delete
整理表(删除空记录行)PackTable
控制表设置SetTable
保存表的最新编辑CommitTable
放弃表的最新编辑Rollback
重命名一个表RenameTable
删除一个表DropTable
表的查询
定位行光标Fetch,EOT()
迭择数据,操作选择命令Select,SelectionInfo()
按地址查找图对象Find,FindUsing,CommandInfo()
按位置查找图对象SearchPoint(),SearchRect(),SearchInfo()
获取表的信息NumTables(),TableInfo()
获取列的信息NumCols(),ColumnINfo()
查询一个表的元数据GetMetadata$(),Metadata
查询无缝表TableInfo(),GetSeamlessSheet()
远程数据操作
与服务器通讯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()
5.非表文件操作
文件的输入与输出
打开或建立一个文件OpenFile
关闭一个文件CloseFile
删除一个文件Kill
重命名一个文件RenameFile
复制一个文件SaveFile
从文件中读取数据Get,Seek,Input#,LineInput#
向一个文件写入数据Put,Print#,Write#
测定一个文件的状态EOF(),LOF(),SeeK(),FileAttr(),FileExists()
转变一个文件成表RegisterTable
克服共享错误SetFileTimeout
文件与目录
返回系统目录ProgramDirectory$(),HomeDirectory$(),ApplicationDirectory$()
提取文件名的某个部分PathToTableName$(),PathToDirectory$(),PathToFileName$()
返回完整文件名TrueFileName$()
让用户选择文件FileOpenDlg(),FileSaveAsDlg()
返回临时文件名TempFileName$()
6.Map和Graphy对象的操作
创建Map对象
创建语句CreateArc,CreateEllipse,CreateFrame,CreateLine,CreatePline,Create
Point,CreateRect,CreateRegion,CreateRoundRect,CreateText,AutoLabel
创建函数CreateCircle(),CreateLine(),CreatePoint(),CreateText()
高级操作CreateObject,Buffer()
存对象于表中Insert,Update
编辑Map对象
改变对象属性AlterObject
改变对象类型ConvertToRegion(),ConvertToPLine()
设置编辑目标SetTarget
擦除对象某部分ObjectsErase,Erase(),ObjectsIntersect
合并对象ObjectsCombine,Combine(),CreatObject,ObjectsSplit
分离对象ObjectsSplit
在交接部位增加结点ObjectsOverLay,OverLayNodes()
控制对象分辨率SetResolution
存贮对象于表中Insert,Update
查询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()
对象式样的操作
返回当前式样CurrentPen(),CurrentBrush(),CurrentSymbol(),CurrentFont()
返回式样属性StyleAttr(),PenPattern()
建立式样值MakePen(),MakeBrush(),MakeFont(),MakeSymbol(),MakeCustomSymbol()
MakeFontSymbol(),SetStyle,RGB()
查询对象的式样ObjectInfo()
修改对象式样AlterObject
重装符号式样ReloadSymbol
式样子句Penclause,Brushclause,Symbolclause,Fontclause
Map窗的操作
打开一个Map窗Map
增加一个图层AddMap
除去一个图层RemoveMap
标注一个图层的对象AutoLabel
查询一个图的设置MapperInfo(),LayerInfo()
改变一个图的设置SetMap
建立或编辑专题图层Shade,SetShade,CreateRanges,CreateStyles
查询一个图层的标注LabelfindByID(),LabelFindFirst(),LabelfindNext(),Labelinfo()
7.建立用户介面
按钮板(工具条)
建立一个新按钮板CreatButtonPad
修改一个按钮板AlterButtonPad
修改一个按钮AlterButton
查询按钮板状态BottonPadInfo
对按钮使用的响应CommandInfo
恢复标准(默认)按钮板CreatButtonPadsAsDefault
对话框
显示标准对话框Ask(),Note,ProgressBar,FileOpenDlg(),FileSaveAsDlg()GetSeamlessShet()
显示定制对话框Dialog
对话框处理器操作AlterControl,TriggerControl(),ReadControlValue(),DialogPreserve,
Dialogremove
检测用户是否按击OKCommandInfo(CMD_INDO_DIG_OK)
使进度条不可用SetProgressBars
修改一个标准MAPINFO对话框AlterMapInfoDialog
菜单
定义一个新菜单CreateMenu
重定义菜单条CreateMenuBar
修改一个菜单AlterMenu,AlterMenuItem
修改菜单条AlterMenuBar,MenuBar
执行菜单命令MenuitemInfoByHandler()
查询某个菜单项的状态MenuitemInfoByID()
窗口
显示或隐藏一个窗口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
系统事件处理器
对选择的反应SetChangeHandler
对关闭窗口的反应WinClosedHandler
对图窗变化的反应WinChangeHandler
对窗口活化的反应WinfocusChangedHandler
对DDE请求的反应RemoteMsgHandler,RemoteQueryHandler()
对OLE自动化方法的反应RemoteMapGenHandler
提供定制工具ToolHandler
对应用程序结束的反应EndHandler
对MAPINFO获得或失去活化窗口的反应forgroundTaskSwitchHandler
使事件处理器不可用SetHandler
8.与别的应用程讯序的通讯
DDE(动态数据交换,仅Windows)
开始一个动态数据交换对话DDEInitiate()
发送一个动态数据交换命令DDEExecute
经由DDE(动态数据交换)发送一个值DDEPoke
经由DDE(动态数据交换)接收一个值DDERequest$()
关闭一个DDE(动态数据交换)对话DDETerminate,DDETerminateAll
对一个请求的响应RemoteMsgHandler,RemoteQueryHandler,CommandInfo(CMD_INFO_MSG)
集成图(只限在Windows下)
设置MAOINFO父窗口SetApplicationWindow
设置一个Map窗的父窗口SetNextDocument
建立一个图例窗口CreateLegend
萍果机事件(只限在Macintosh下)
开始一个对话AEInitiate()
发送DoScript事件AEExecute()
响应一个事件RemoteMsgHandler
9.特殊语句和函数
起动另外的程序RunProgram
返回系统信息SystemInfo()
把一个字符串作为解释命令执行RunCommand
保存一个工作现场文件SaveWorkerspace
装入一个工作现场文件或MBX文件RunApplication
设置数字化板SetDigitizer
发送一个声音到扬声器Beep
通过CommandInfo设置数据可读SetCommandInfo
设置拖位对象的延迟时间SetDragThreshold
投影和坐标系统ChooseProjection$()
二.Mapbasic各函数和语句的名称及其作用TOP
语句和函数名称所在页码功能
Abs()15返回一个数的绝对值
Acos()16返回一个数的反余弦值
AddColumn17在打开的表中,增加一临时的新列,或者用别的表的数据来更新一个已有的列
AddMap22向Map窗加一图层
AEExecute()24发送一个DoScript事件给萍果事件服务程序
AEInitiate()25建立一个通过AEExecute()函数发送苹果事件时要用的苹果事件通道说明符
AlterBotton26使按钮板(工具条)上的一个按钮可用,不可用,被选择或脱离选择
AlterBottonPad27显示或隐藏按钮板,增加或去除按钮
AlterControl32改变活化的定制对话框内控件的状态
AlterMapInfoDialog34使Mapinfo标准对话框中的控件不可用,隐匿或被赋予新值
AlterMenu37从一存在菜单中增加或去除某一菜单项
AlterMenuBar40增加或去除菜单条上的菜单
AlterMenuItem42改变指定菜单项的状态(可用或不可用)
AlterObject44修改一个对象的形状,位置或图形式样
AlterTable48改变表结构(不能用于链结表)
ApplicationDirectory$()50返回当前正在执行的MapBasic应用程序的路径字串
Area()51面积函数,返回一个对象的地理面积
AreaOverlap()52返回两个封闭对象重叠的面积
Asc()53返回字符串头一字符的字符码[如Asc("
Abcde"
)为65]
Asin()54返回一个数的反正弦值
Ask()55显示一个对话框给用户提出一个回答Yes/No(OK/Cancel)的问题
Atn()56返回一个数的反正切值
AutoLabel()57给出Map窗中的标注,并把标注存入装饰层
Beep58发出一个哔声
Browse59打开一新的Browser窗口
Brush61为图形对象指定一种填充式样
Buffer()63返回代表一个缓冲区的区域对象(在已有对象的指定缓冲距离内的区域)BottonPadInfo()64返回有关按钮板的信息
Call65调用过程或外部子程序
Centroid()67返回对象的形心(中心点)
CentroidX()68返回对象形心的X坐标
CentroidY()69返回对象形心的Y坐标
CharSet70指定MapBasic用哪一套字符集作为解释字符码
ChooseProjection$()补124显示选择投影对话框并返回用户选择的坐标系统
Chr$()73返回对应指定字符码的单字符字串
CloseALL74关闭所有打开的表
CloseFile75关闭一个打开的文件
CloseTable76关闭一个打开的表
CloseWindow77关闭或隐藏一个窗口
ColumnInfo()78返回一打开表中某列的信息
Combine()80返回代表两个对象联合的一个区域或折线
CommandInfo()81返回最近事件的有关信息
CommitTable()85把最新的编辑存盘或保存一个表的备份
Continue87继续执行MapBasic程序(在Stop语句后)
ControlButton/OKButton/CancelButton88Dialog(对话框)语句的一部分,把一弹性按钮控件加到对话框内
ControlCheckBox89Dialog语句的一部分,把一检查框控件加到对话框中
ControlEditText90Dialog语句的一部分,把一个编辑文本控件加到对话框中
ControlGroupBox91Dialog语句的一部分增加一个带标题的矩形框到对话框内
ControlListBox/MultiListBox92Dialog语句的一部分,把一个列表控件加到对话框内,ListBox(列表框内)控件与MultiListBox(多选框)控件的区别仅在于用户可以在后者中通过Shift-Click一次选取多个项
ControlPenPicker/BrushPicker/SymbolPicker/FontPicker94Dialog语句的一部分,加上一个钮以显示线形,充填,符号(点)或字体(文本)的样式
ControlPopupMenu95Dialog语句的一部分,把一个弹出式菜单控件加到对话框内
ControlRadioGroup97Dialog语句的一部分,把一组无线电按钮加到对话框内
ControlStaticText99Dialog语句的一部分,把一个标注按钮加到对话框中
ConvertToPline()100返回一个形状近似于某个对象的折线对象
ConvertToRegion()101返回一个形状近似于某个对象的区域对象
CoordSys102确定坐标系统
Cos()105返回一个数的余弦
CreateArc106创建一个弧
CreateButtonPad107创建按钮板(工具条)
CreateButtonPadsAsDefault110创建系统默认的按钮板(工具条)恢复标准按钮板(如Main按钮板)到它的默认状态
Creat