




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开发范例-小白.txt人和人的心最近又最远,真诚是中间的通道。试金可以用火,试女人可以用金,试男人可以用女人-往往都经不起那么一试。昨天现学现卖,帮小慧写了Mapbasic 的一些小程序 主要功能:面积计算,条件查询。 虽然第一次写GIS的二次开发程序,不过感觉上手真的很快。也就是用了1个半小时,就把大概的知识点过了一遍,接着就开始对着Mapbasic开始敲键盘。 不过毕竟没有基础,写出来的程序很丑陋(不会basic语言,所以很多东西写得特别长)在此把代码贴出,希望路过的朋友,可以看看。nclude mapbasic.defInclude menu.defdeclare Sub 道路declare Sub 高薪产业区declare Sub 工业发展用地declare Sub 教育科研用地declare Sub 居住用地declare Sub 绿地declare Sub 行政办公用地declare Sub 文化娱乐用地declare Sub 面积Declare Sub duihuaDeclare Sub Main Declare Sub tiaojianDim mianji as Float Dim i as Integer Dim mianji1 as floatDim zongmianji1 as floatDim jilushu as Integer Sub Main Create Menu 条件查询 as 请输入条件 Calling tiaojian Alter Menu Bar Add 条件查询 Create Menu 统计查询 as 面积 Calling duihua Alter Menu Bar Add 统计查询 Create Menu 分类查询 as 道路 Calling 道路, 高薪产业区 Calling 高薪产业区, 工业发展用地 Calling 工业发展用地, 教育科研用地 Calling 教育科研用地, 居住用地 Calling 居住用地, 绿地 Calling 绿地, 行政办公用地 Calling 行政办公用地, 文化娱乐用地 Calling 文化娱乐用地 Alter Menu Bar Add 分类查询 End Sub Sub tiaojian Dim yongdileixing as String Dim xiao,da as Integer Dialog Title 条件查询 Control StaticText Into yongdileixing Control StaticText Title 查询的用地类型 Control EditText Into yongdileixing Control StaticText Title 面积的最小值 Control EditText Into xiao Control StaticText Title 面积的最大值 Control EditText Into da Control OkButton Title 确定 Control CancelButton Title 取消 Open Table c:shix + yongdileixing If yongdileixing = 教育科研用地 Then Fetch First From 教育科研用地 Do While Not EOT(教育科研用地) mianji = Area(教育科研用地.obj,sq km) If CommandInfo (CMD_INFO_DLG_OK) Then If mianji=xiao and mianji=xiao and mianji=xiao and mianji=xiao and mianji=xiao and mianji=xiao and mianji=xiao and mianji=xiao and mianji=da Then i = i + 1 Print 绿地id: + i + 面积: + Str$(mianji) End If Else Print 没有您要搜索的对象名称 End If Fetch Next From 绿地LoopEnd IfEnd Sub Sub duihua Dim search As String Dialog Title 面积查询 Control StaticText Title 输入您要查询的用地类型 Control EditText Into search Control OKButton Title 确定 Control CancelButton Title 取消 Open Table C:shix + search If search = 教育科研用地 Then Dim i,counter as Integer Fetch First From 教育科研用地 Do While Not EOT(教育科研用地) mianji1 = Area(教育科研用地.obj,sq km) i = i + 1 If CommandInfo (CMD_INFO_DLG_OK) Then print 教育科研用地id + i +: + Str$(mianji1)Else print 没有您要搜索的对象名称End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 教育科研用地Loop print 教育科研用地总面积为: + Str$(zongmianji1) End If If search = 高薪产业区 Then Dim a as Integer Fetch First From 高薪产业区 Do While Not EOT(高薪产业区) mianji1 = Area(高薪产业区.obj,sq km) a = a + 1 If CommandInfo (CMD_INFO_DLG_OK) Then print 高薪产业区id + a + :+Str$(mianji1)Else print 没有您要搜索的对象名称End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 高薪产业区Loop print 高薪产业区总面积为: + Str$(zongmianji1) End If If search = 居住用地 Then Dim b as Integer Fetch First From 居住用地 Do While Not EOT(居住用地) mianji1 = Area(居住用地.obj,sq km) b = b + 1 If CommandInfo (CMD_INFO_DLG_OK) Then print 居住用地id +b+ : + Str$(mianji1)Else print 没有您要搜索的对象名称End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 居住用地Loop print 居住用地总面积为: + Str$(zongmianji1) End IfIf search = 行政办公用地 Then Dim c as Integer Fetch First From 行政办公用地 Do While Not EOT(行政办公用地) mianji1 = Area(行政办公用地.obj,sq km) c = c + 1 If CommandInfo (CMD_INFO_DLG_OK) Then print 行政办公用地id+c +:+ Str$(mianji1)Else print 没有您要搜索的对象名称End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 行政办公用地Loop print 行政办公用地总面积为: + Str$(zongmianji1) End IfIf search = 文化娱乐用地 Then Dim d as Integer Fetch First From 文化娱乐用地 Do While Not EOT(文化娱乐用地) mianji1 = Area(文化娱乐用地.obj,sq km) d = d + 1 If CommandInfo (CMD_INFO_DLG_OK) Then print 文化娱乐用地id +d+:+ Str$(mianji1)Else print 没有您要搜索的对象名称End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 文化娱乐用地Loop print 文化娱乐用地总面积为: + Str$(zongmianji1) End If If search = 绿地 Then Dim r as Integer Fetch First From 绿地 Do While Not EOT(绿地) mianji1 = Area(绿地.obj,sq km) r = r + 1 If CommandInfo (CMD_INFO_DLG_OK) Then print 绿地id +r+:+ Str$(mianji1)Else print 没有您要搜索的对象名称End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 绿地Loop print 绿地总面积为: + Str$(zongmianji1) End IfIf search = 道路 Then Dim v as Integer Fetch First From 道路 Do While Not EOT(道路) v = v + 1 mianji1 = Area(道路.obj,sq km) If CommandInfo (CMD_INFO_DLG_OK) Then print 道路id +v+: +Str$(mianji1)Else print 没有您要搜索的对象名称End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 道路Loop print 道路总面积为: + Str$(zongmianji1) End If End SubSub 道路Open Table C:shix道路 Add Map Layer 道路End Sub Sub 高薪产业区Open Table C:shix高薪产业区 Add Map Layer 高薪产业区Map From 高薪产业区End Sub Sub 工业发展用地Open Table C:shix工业发展用地 Add Map Layer 工业发展用地Map From 工业发展用地End Sub Sub 教育科研用地Open Table C:shix教育科研用地 Add Map Layer 教育科研用地Map From 教育科研用地End SubSub 居住用地Open Table C:shix居住用地 Add Map La
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本科html考试试题及答案
- 北京高中数学考试卷子及答案
- N6-Allylamino-carbonothioyl-lysine-13C6-15N2-生命科学试剂-MCE
- 电焊工焊接知识培训总结课件
- hu3S193-生命科学试剂-MCE
- 保险金融资格考试题库及答案
- 新解读《GB-T 2999-2016耐火材料 颗粒体积密度试验方法》
- 高楼居民安全知识培训课件
- 电炉操作知识培训课件
- 电源线缆安全知识培训课件
- 13.2+磁感应强度+磁通量+课件-2024-2025学年高二上学期物理人教版(2019)必修第三册
- 急诊科护理月质量分析
- 糖尿病病人饮食健康宣教
- 结肠癌围手术期管理
- 儿童健康开学第一课-守护成长,从健康开始
- 2025秋统编版(2024)道德与法治二年级上册教学计划
- 寿险财务流程管理办法
- 支付宝迎新活动策划方案
- 在线教研室活动方案
- 实验小学教学常规培训
- 安保日常培训课件
评论
0/150
提交评论