所用软件:Mapinfo,MapBasic,VC++6.0
先装Mapinfo,后装MapBasic.不装mapinfo,MapBasic不能运行。
Drew学习Mapinfo, MapBasic.的主要参考资料:
MapInfo Professional User's Guide
MapInfo MapBasic 7.0 User's Guide
MapInfo MapBasic Reference Guide v7.0 (PDF 7.1 MB)
打开Mapinfo,打开一个.tab或.wor文件,有些例子文件在Mapinfodata中。.tab文件是图层文件,不同的图层有不同的定义。一般一个图有几个图层组成。同时打开相关的几个图层,选择打开.wor文件就行了。.tab文件仅含有图层的结构信息,如姓名,年龄...。这些项行和列的数据在和它相同名称的其它四个文件里,如xxx.DAT,xxx.ID,xxx.MAP,xxx.IND。用WindowNew brower window可以看到表的结构和数据。
在options菜单中打开show Mapbasic window窗口,可以看到在mapinfo中操作所对应的mapbasic命令。如由MapInfo中打开china.tab文件,则相应的MapBasic命令显示在Mapbasic window里
Open Table D:aachina.TAB Interactive Map From plane
如果把上述命令copy到mapbasic window里,打回车,又重复了刚刚的菜单命令。
好了,再看一下MapBasic程序。打开MapBasic,FileNew新建一个空白.MB文件,将上两行代码放进去,运行projectcompile the current file,存储后,显示对话框 Compiled:xxx.MBX,No Eorrors:Compilation Successful. 编译成功。选择projectrun,你会看到这个china.tab文件被打开,和刚才在MapInfo中用菜单打开的结果一摸一样。mapbasic不复杂吧:)
当然能用拿手的VC来编程就更好了。
下面来试试用VC++程序编程打开这个文件吧。
VC和Mapinfo的接口,可以参考文章:
下面是用VC编程打开文件的代码:
sprintf(str,Set Next Document Parent %lu Style 1 ,(long)(UINT)m_hWnd);
mapinfo.Do(str);//创建地图窗口
mapinfo.Do(Open Table D:aajapanJPN1RAIL Map From JPN1RAIL);//打开地图
=======================================================================
MapInfoMapBasicSamplesMFC中的两个文件。提供了VC下编写mapinfo程序的例子findzip和mdimfc。不过看上去有些复杂。
(责任编辑:admin)