地理信息系统世界
一 从功能查函数和语句
二 各个语句和函数的功能说明
三 参考手册原文关于句法字体的约定
Mapbasic参考手册索引
这本手册对MapBasic 编程语言中的每个语句和函数都进行了详细说明, 要学习MapBasic 语言编程的基本概念或者要学习开发环境的应用,请参考《用户手册》.
一.Mapbasic语言概述    TOP
1.基本语法
变量
声明局部变量和全局变量 Dim,Global
扩大或缩小数组变量 Redim,Ubound(),UnDim
声明定制的数据结构 Type
循环和分枝
循环 Next,Exit Loop,Exit Wend
分枝 If...Then,Do Case,Go To
其它流程控制 End Program,Terminate Application,End Mapinfo
输出和打印
打印窗口内容 PrintWin
输出文本到信息窗口 Print
设置页面窗口 Layout,Create Frame,Set Window
输出一个窗口内容到文件中 Save Window
过程(Mn和Saiubs)
定义一个过程 Declare End Sub
调用一个过程 Call
退出一个过程 Exit Sub
Main过程 Main
错误处理
设置一个错误控制 OnError
返回当前错误信息 Err(),Error$()
从错误处理器返回 Resume
摸拟一个错误 Error
2.函数
定制函数
定义一个定制函数 Declare End Function
退出一个函数 Exit Function
数据转换函数
转换字符串为代码的函数 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$(),Set Format,
测定字符串长度 Len()
把字符转换为代码 Chr$(),Asc$()
字符串比较函数 Like(),StringCompare(),StringCompareIntl()
重复字符串序列 Space$(),String$()
获取单位名 UnitAbbr$(),UnitName$()
4.表的操作
建立和编辑表
改变button按钮的形状打开一个已存在的表 Open Table
关闭一个或多个表 Close Table,Close All
建立一个新的空表 Creat Table
把一个文件转换为一个表 Register Table
表/文件的输入/输出 Import,Export
修改表的结构 Alter Table,Add Column,Creat Index,Drop Index,Creat Map,Drop Map 增加,编辑或删除行 Insert,Update,Delete
整理表(删除空记录行) Pack Table
控制表设置 Set Table
保存表的最新编辑 Commit Table
放弃表的最新编辑 Rollback
重命名一个表 Rename Table
删除一个表 Drop Table
表的查询
定位行光标 Fetch,EOT()
迭择数据,操作选择命令 Select,SelectionInfo()
按地址查图对象 Find,Find Using,CommandInfo()
按位置查图对象 SearchPoint(),SearchRect(),SearchInfo()
获取表的信息 NumTables(),TableInfo()
获取列的信息 NumCols(),ColumnINfo()
查询一个表的元数据 GetMetadata$(),Metadata
查询无缝表 TableInfo(),GetSeamlessSheet()
远程数据操作
与服务器通讯 Server_Connect()
开始远程服务器操作 Server Begin Transaction
分配本机内存 Server Bind Column
获取列信息 Server_ColumnInfo(),Server_NumCols()
发送一个SQL语句 Server_Execute()
定位行光标 Server Fetch,Server_EOT()
保存变化 Server Commit
放弃改变 Server Rollback
释放远程资源 Server Close
把远程数据变为可成图的 Server Creat Map
改变对象格式 Server Ser Map
使联结表同步 Server Refresh
建立一个联结表 Server Link Table
断开联结表 Unlink
取消与服器的联结 Server Disconnect
恢复驱动器信息 Server_DriverInfo(),Server_NumDrivers()
获取QELib的联结句柄 Server_GetqeHConn()
获取QELib的语句句柄 Server_GetqeHStmt()
ODBC联结 Server_GetodbcHConn(),Server_GetodbcHStmt()
5.非表文件操作
文件的输入与输出
打开或建立一个文件 Open File
关闭一个文件 Close File
删除一个文件 Kill
重命名一个文件 Rename File
复制一个文件 Save File
从文件中读取数据 Get,Seek,Input #,Line Input #
向一个文件写入数据 Put,Print #,Write #
测定一个文件的状态 EOF(),LOF(),SeeK(),FileAttr(),FileExists()
转变一个文件成表 Register Table
克服共享错误 Set File Timeout
文件与目录
返回系统目录 ProgramDirectory$(),HomeDirectory$(),ApplicationDirectory$()
提取文件名的某个部分 PathToTableName$(),PathToDirectory$(),PathToFileName$()
返回完整文件名 TrueFileName$()
让用户选择文件 FileOpenDlg(),FileSaveAsDlg()
返回临时文件名 TempFileName$()
6.Map和Graphy对象的操作
创建Map对象
创建语句 Create Arc,Create Ellipse,Create Frame,Create Line,Create Pline,Create
Point,Create Rect,Create Region,Create RoundRect,Create Text,AutoLabel
创建函数 CreateCircle(),CreateLine(),CreatePoint(),CreateText()
高级操作 Create Object,Buffer()
存对象于表中 Insert,Update
编辑Map对象
改变对象属性 Alter Object
改变对象类型 ConvertToRegion(),ConvertToPLine()
设置编辑目标 Set Target
擦除对象某部分 Objects Erase,Erase(),Objects Intersect
合并对象 Objects Combine,Combine(),Creat Object,Objects Split
分离对象 Objects Split
在交接部位增加结点 Objects OverLay,OverLayNodes()
控制对象分辨率 Set Resolution
存贮对象于表中 Insert,Update
查询Map对象
返回计算值 Area(),Perimeter(),Distance(),ObjectLen(),Overlap(),AreaOverlap(),
ProportionOverlap()
返回坐标值 ObjectGeography(),MBR(),ObjectNodeX(),ObjectNodeY(),Centroid(),

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。