工程科技MapBasic编程基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《工程科技MapBasic编程基础课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程 科技 MapBasic 编程 基础 课件
- 资源描述:
-
1、MapBasic编程1.1 制作菜单栏1.1.1 制作全新的菜单栏1.1.2 修改已有菜单栏1.2 菜单制作1.2.1 全新菜单的制作1.2.2 更改原有菜单1.3 对话框制作1.3.1 标准对话框1.3.2 自定义对话框制作1.3.3 控件的位置和大小1.3.4 控件类型1.3.5 控件的初值和终值1.4 窗口1.4.1 窗口的大小和位置1.4.2 地图窗口1.4.3 浏览窗口1.4.4 统计窗口1.4.5 布局窗口1.4.6 信息窗口1.4.7 消息窗口1.5 工具条1.5.1 工具条的类型1.5.2 工具条的操作1.5.3 创建触发式型按钮1.5.4 创建工具按钮1.5.5 向“主”工具
2、条添加一个按钮1.5.6 选择按钮图表1.5.7 运行MapBasic应用程序1.6 MapBasic过程1.6.1 MapBasic主过程1.6.2 MapBasic子过程1.7 MapBasic变量1.8 MapBasic的表达式1.8.1 MapBasic的函数1.8.2 MapBasic的运算符1.1 分支、循环和其他流程控制1.1.1 分支语句1.1.2 循环语句1.1.3 其他流程控制语句1.10 MapBasic的表操作1.11 习题1 1.1 制作菜单栏菜单栏是MapInfo工作区域顶部的水平条,初始状态下的MapInfo的菜单栏包括“File”,“Edit”,“Objects
3、”,“Query”等。1.1.1 制作全新的菜单栏语法:CreateMenuBarAs菜单名 或ID菜单号,菜单名 或ID菜单号.【例1-1】制作一个全新菜单栏,包含“File”,“Edit”,“Query”,“Map”,“Browse”菜单。代码如下:Create Menu Bar As?汩履尬摅瑩?兜敵祲?灡?潲獷履图1-1 全新菜单栏1.1.2 修改已有菜单栏1.删除菜单语法:AlterMenuBar Remove菜单名 或ID菜单号,菜单名 或ID菜单号.【例【例1-2】在原有菜单栏的基础上,删除】在原有菜单栏的基础上,删除“Windows”,“Help”菜单。菜单。代码如下:Alte
4、r Menu Bar Remove ID 6,ID 7 图1-2 删除菜单2.增加菜单语法:Alter Menu Bar Add菜单名菜单名 或或 ID 菜单号,菜单名 或或 ID 菜单号菜单号.【例1-3】在原有菜单栏的基础上,增加“DataEntry”菜单。代码如下:Alter Menu Bar Add DataEntry 图1-3 增加菜单图1-4 在菜单栏中间增加菜单3.恢复菜单语法:CreateMenuBarAsDefault若放弃对菜单栏的修改,恢复原有菜单样式,可以运行以下代码:Create Menu Bar As Default1.2 菜单制作1.2.1全新菜单的制作语法:Cr
5、eate Menu 新菜单名ID菜单号As菜单项1ID菜单号 Calling handler|As菜单名,菜单项2.【例1-4】制作全新菜单“DataEntry”。代码如下:Create Menu?瑡?瑮祲As制作“DataEntry”菜单?摤,菜单有三个菜单项?楤屴,?汥瑥履Alter Menu Bar Add?瑡?瑮祲将菜单添加到菜单栏中图1-5 制作全新菜单1.2.2 更改原有菜单语法:CreateMenu新菜单名ID菜单号As菜单项1ID菜单项 Callinghandler|As菜单名,菜单项2.【例1-5】更改原有菜单“File”的内容。代码如下:Create Menu?楆敬As?敎
6、屷,?灏湥,?汃獯履,?慓敶,?牐湩屴,?硅瑩图1-6 更改原有菜单1.3 对话框制作1.3.1标准对话框1.消息对话框语法:Note消息图1-7 消息对话框【例1-6】例如显示一个“查询成功!”的消息对话框。代码如下:Note 查询成功!2.询问对话框询问对话框语法:Ask(提示信息,确定文本,取消文本)【例1-7】下面的例子用生成一个简单询问对话框。Dim more As Logicalmore=Ask(Do you want tocontinue?,OK,Stop)运行结果如图1-8所示。图1-8 询问对话框3.选择文件对话框语法:FileOpenDlg(路径,文件名,文件类型,标题)【
7、例1-8】下面的程序用 FileOpenDlg()函数显示提示用户打开一个文件的对话框。Dim s_filename As Strings_filename=FileOpenDlg(,TAB,OpenTable)运行结果如图1-1所示。图1-1 选择文件对话框1.3.2 自定义对话框制作【例1-1】下面是生成一个自定义对话框的代码:Dialogtitle 按省份名Control Statictexttitle 请输省份名尺Control EdittextControl OkbuttonTitle 确定Control CancelbuttonTitle 取消图1-10 自定义对话框图1-11 指
8、定位置和大小1.3.3 控件的位置和大小控件的大小由Width(宽)和Height(高)控制。位置和大小采用对话框单位为单位,每个对话框单位表示一个字符宽度的 1/4或一个字符高度的1/8,以对话框的左上角为原点,它的位置是(0,0)。【例1-10】下面的例程指定了控件的位置及大小。DialogTitle 按省份名Control StaticTextTitle 请输省份名尺Control EditTextControl OkButtonWidth 20Height 12Title 确定Position 60,32Control CancelButtonWidth 20Height 12Titl
9、e 取消Position 100,32运行结果如图1-11所示。1.3.4 控件类型1.静态文本控件语法:ControlStaticTextPositionx,yWidth宽度Height高度ID控件号Title标题【例1-11】下面是生成一个静态文本控件的代码:DialogControl StaticTextTitle Enter map 楴汴?Position 5,10Control OkButton图1-12 静态文本控件Control CancelButton运行结果如图1-12所示。2.输入文本控件输入文本控件语法:ControlEditTextPositionx,yWidth宽度H
10、eight高度ID控件号Value初始值Into变量【例1-12】下面是生成一个输入文本控件的代码:DialogControl EditTextControl OkButtonControl CancelButton运行结果如图1-13所示。图1-13 输入文本控件3.组合框控件语法:ControlGroupBoxPosition x,yWidth宽度Height高度Title标题【例1-13】下面是生成一个组合框的代码:DialogControl GroupBoxTitle Level of Detail Position 5,30Height 40Width 70Control OkBut
11、tonControl CancelButton运行结果如图1-14所示。4.单选项组合控件语法:Control RadioGroup图1-14 组合框控件 Position x,y ID控件号 Calling过程 Title 字符串表达式 或 From Variable字符串变量 Value初始选项 Into变量【例1-14】下面是生成一个单选项组合控件的代码:DialogControl RadioGroupTitle&Full Details;&Partial 敄慴汩屳Position 15,42Control OkButtonControl CancelButton运行结果如图1-15所示
12、。5.Picker选取对象类控件语法:ControlPenPicker或或BrushPicker或或SymbolPicker 或或 FontPicker Position x,y Width 宽度 Height 高高度度 ID控件号Calling过程过程Value样式表达式Into样式变量【例1-15】下面是生成一个文本选取控件的代码:DialogControl FontPickerPosition 140,42Control OkButtonControl CancelButton运行结果如图1-16所示。图1-16 文本选取控件6.ListBox列表框控件语法:Control ListBo
13、xPositionx,yWidth宽度Height高度ID控件号Calling过程Title字符串表达式 或FromVariable字符串变量Value初始选项Into变量【例1-16】下面是生成一个列表框控件的代码:DialogControl ListBoxTitle st Quarter;2ndQuarter;3rd Quarter;4th畑牡整屲Position 10,12Height 40Control OkButtonControl CancelButton运行结果如图1-17所示。图1-17列表框控件7.多重列表框控件多重列表框控件语法:ControlMultiListBoxPos
14、itionx,yWidth宽度Height高度ID控件号Calling过程Title字符串表达式 或FromVariable字符串变量Value初始选项Into变量【例1-17】下面是生成一个多重列表框控件的代码:DialogControl MultiListBoxTitle 卜牴敥獴?杩睨祡?潔湷?潃湵牴敩?瑓瑡獥Position 10,12Width 65Height 35Control OkButtonControl CancelButton运行结果如图1-18所示。图1-18 多重列表框控件8.下拉列表框控件语法:ControlPopupMenuPositionx,yWidth宽度ID
15、控件号Calling过程TitleTitle 字符串表达式或FromVariable字符串变量Value初始选项Into选项变量【例1-18】下面是生成一个下拉列表框控件的代码:DialogControl PopupMenuTitleTown;County;Territory;Region;Entire瑳瑡履Position 10,150Control OkButtonControl CancelButton图1-11 下拉列表框控件1.复选框控件语法:ControlCheckBoxPositionx,yWidth宽度ID控件号Calling过程Title标题Value逻辑值Into逻辑变量【
16、例1-11】下面是生成一个复选框控件的代码:DialogControl CheckBoxTitle Include?来湥層Position 115,155Control OkButton图1-20 复选框控件Control CancelButton运行结果如图1-20所示。10.按钮控件MapBasic包含两个按钮:OkButton和CancelButton。1.3.5 1.3.5 控件的初值和终值控件的初值和终值大部分控件都有一可选的 Value从句,这个从句定义了对话框第一次显示时该控件的状态。大多控件都有一Into从句,这个从句后面有一个变量,MapInfo用这个变量存储对话框的数据。如
17、果有Into从句,用户通过单击“Ok”按钮确认该对话框后,MapInfo会用Into后的变量存储控件的最终值。1.4 窗口MapBasic应用程序能够控制所有的MapInfo窗口,包括标准窗口、地图窗口、浏览(Browse)窗口、布局(Layout)窗口、专题图(Graph)窗口、信息窗口。1.4.1窗口的大小和位置窗口的大小和位置可以通过两种方法控制:在打开的窗口的同时指定窗口的大小和位置。【例1-20】下面的语句指定地图窗口及布局窗口的位置及大小:Open Table 睜牯摬Open Table 捜獵?尴As customersMap from customers,worldPositio
18、n(1,1)Width 3Height 2Layout Position(0,0)Width 2Height 4 在打开窗口后调整窗口的位置和大小。使用Set Window语句。语法:SetWindow窗口号Position(x,y)Units纸面单位 Width窗口宽度 Units纸面单位 Height 窗口高度窗口高度 Units 纸面单位纸面单位 1.4.2地图窗口1.图层的操作增加图层的语法为:AddMapWindow窗口号Layer表1,表2.AutoAnimate 2.设置地图投影可以使用Set Map CoordSys.语句改变地图投影,若要保存投影,使用 Commit Tabl
19、e.As.CoordSys.语句。3.制作专题图专题图有六种形式。每种都可以用相应的MapBasic语句实现。(1)范围值范围值(rangesofvalues)语法:ShadeWindow窗口号图层号 或 图层名With表达式Ignore忽略的数值RangesApply Color或Size或All 【例1-22】下面的例子是根据美国 1110年人口生成的范围值图,总共有三个范围,每个范围用不同颜色、样式填充。Open TablestatesMap FromShade states With Pop_1110 Ranges4827000:21280000 Brush(2,0,201326511
20、),1783000:4827000 Brush(8,0,16777215),441000:1783000 Brush(5,0,16777215)(2)独立值(individual values)语法:ShadeWindow窗口号图层号 或 图层名With表达式Ignore忽略的数值Values字段 1Pen.Line.Brush.Symbol.,字段2Pen.Line.Brush.Symbol.【例 1-23】下面的例子假定“uk_sales”表中有“Sales_Rep”字段,该字段代表在英国销售代理的名字。根据销售商来制作独立值图。Open Table 甥彫慳敬屳Map From uk_sa
21、lesShade 1 With Proper$(Sales_Rep)Ignore ValuesAlan,Amanda,Bob,?湡(3)点密度(dotdensity)语法:ShadeWindow窗口号图层号 或 图层名With表达式Density数值:点的尺寸Color颜色号【例1-24】下面的例子根据人口制作点密度图,60000个人用一个4个像元大小的点表示。OpenTable卜慴整屳MapFromstatesShadestatesWithNum_HH_10Density 60000:4(4)等级符号等级符号(graduated symbols)语法:ShadeWindow窗口号图层号 或
展开阅读全文