文档介绍:MapInfo概论
第一讲 MapInfo简介及基本概念
第二讲 MapInfo基本操作—表
第三讲 MapInfo查询及分析
第四讲空间分析及属性信息图形化
第五讲 OLE 嵌入与MapBasic 简介
第六讲 MapInfo集成地图开发
第七讲组件式GIS与MapX基础
第八讲 MapX二次开发
上节总结:
1、MapBasic的软件集成环境:
(1)文本编辑器:用于程序的编辑与修改;
(2)程序编译器:用于源程序编译,生成可执行程序;
(3)程序链接器:将若干独立的模块链接成一个应用程序;
(4)联机帮助:提供MapBasic 每条语句或函数的详细说明资料
mb文件→mbx文件;mb文件→mbo文件+mbp文件→mbx文件
2、创建、编译和链接项目文件( Project File ):
[link]-Application-Module
mbp文件+mbo文件-mbx可执行文件(实例)
3、程序组织:Include “”
Type … End Type
Declare/Declare function
Define /Global
Sub Main … End Sub
Sub … End Sub
Function … End Function
4、事件处理程序:
单击鼠标或其他由用户发出的动作称为事件。
事件处理程序:WinClosedHandler、 WinChangedHandler、ToolHandler 、EndHandler 等
程序运行时,MapBasic自动调用相应程序,不需要在主过程中调用,只在程序开头声明即可。
5、对于定长字符串变量,MapBasic总是用空格去填充不足部分;
6、如果在字符串常量里本身就有双引号,那么需要插入两个连续的双引号到这个字符串中,例如:
Note “The Table ““World”” is already open.”
这个语句的运行结果是显示下面的一条信息:
The Table “World” is already open.
7、值参数传递(ByVal)
(1)在Call语句中不必一定要为参数指定一个变量名。可以指定一个变量名、常量值或其他的表达式。
(2)如果在子过程中赋了一个新的值给值参数,将不影响调用者。换句说话,子过程不能通过值参数把一个值返回给调用者。
8、访问表的指定列:
; ; (n)
9、创建一个新表:Create table tablename
用Create Index给一个表增加索引
Create Index on Cust(CustID)
用Create Map使一张表可地图化
Create Map For Cust Coordsys Earthy
10、修改表结构:Alter Table
mit Table
或放弃当前编辑:Rollback Table
11、顺序文件的输入/输出:
Open File filename For Input/Output/Append As #1
用Input#或Line input#语句读文件,用Write#语句写数据到文件中。
12、随机文件的输入/输出:
Open File “filename” For Random As #1 Len=length
用Get和Put语句读写数据
13、二进制文件的输入/输出:
Open File “filename” For Binary As #1
可以用Get和Put语句读写数据
14、如何查询、创建、修改地图对象:Obj
第六讲 MapInfo集成地图开发
一、创建用户界面
菜单(menu)
工具条(ButtonPads)
对话框(Dialog)
窗口(Windows)
二、 MapInfo集成地图开发
集成地图开发的概念
MapInfo集成地图开发过程
回调(Callbacks)
程序运行语句
一、创建用户界面
菜单(menu)
菜单栏-Menu Bar ;菜单-Menu ; 菜单项-Menu Item
①新建菜单:Create Menu “MenuName” as “SubMenuName” calling Sub
②新建菜单栏:Create Menu Bar As
恢复MapInfo标准菜单栏:Create Menu Bar As Default
③增加/移除菜单项:Alter Menu add / remove
加分割线“(-”
④增加/移除菜单:Alter Menu Bar