




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、昨天现学现卖,帮小慧写了Mapbasic 的一些小程序主要功能:面积计算,条件查询。虽然第一次写GIS的二次开发程序,不过感觉上手真的很快。也就是用了1个半小时,就把大概的知识点过了一遍,接着就开始对着Mapbasic开始敲键盘。不过毕竟没有基础,写出来的程序很丑陋(不会basic语言,所以很多东西写得特别长在此把代码贴出,希望路过的朋友,可以看看。nclude "mapbasic.def"Include "menu.def"declare Sub 道路declare Sub 高薪产业区declare Sub 工业发展用地declare Sub 教育科研
2、用地declare Sub 居住用地declare Sub 绿地declare Sub 行政办公用地declare Sub 文化娱乐用地declare Sub 面积Declare Sub duihuaDeclare Sub MainDeclare Sub tiaojianDim mianji as FloatDim i as IntegerDim mianji1 as floatDim zongmianji1 as floatDim jilushu as IntegerSub MainCreate Menu "条件查询" as "请输入条件" Calli
3、ng tiaojianAlter Menu Bar Add "条件查询"Create Menu "统计查询" as "面积" Calling duihuaAlter Menu Bar Add "统计查询"Create Menu "分类查询" as "道路" Calling 道路,"高薪产业区" Calling 高薪产业区,"工业发展用地" Calling 工业发展用地,"教育科研用地" Calling 教育科研用地,
4、"居住用地" Calling 居住用地,"绿地" Calling 绿地,"行政办公用地" Calling 行政办公用地,"文化娱乐用地" Calling 文化娱乐用地Alter Menu Bar Add "分类查询"End SubSub tiaojianDim yongdileixing as StringDim xiao,da as IntegerDialogTitle "条件查询"Control StaticTextInto yongdileixingControl St
5、aticTextTitle "查询的用地类型"Control EditTextInto yongdileixingControl StaticTextTitle "面积的最小值"Control EditTextInto xiaoControl StaticTextTitle "面积的最大值"Control EditTextInto daControl OkButtonTitle "确定"Control CancelButtonTitle "取消"Open Table "c:shix&q
6、uot; + yongdileixingIf yongdileixing = "教育科研用地" ThenFetch First From 教育科研用地Do While Not EOT(教育科研用地mianji = Area(教育科研用地.obj,"sq km"If CommandInfo (CMD_INFO_DLG_OK ThenIf mianji>=xiao and mianji<=da Theni = i + 1Print "教育科研用地id:" + i + "面积:" + Str$(mianjiE
7、nd IfElsePrint "没有您要搜索的对象名称"End IfFetch Next From 教育科研用地LoopEnd IfIf yongdileixing = "居住用地" ThenFetch First From 居住用地Do While Not EOT(居住用地mianji = Area(居住用地.obj,"sq km"If CommandInfo (CMD_INFO_DLG_OK ThenIf mianji>=xiao and mianji<=da Theni = i + 1Print "居住用地
8、id:" + i + "面积:" + Str$(mianjiEnd IfElsePrint "没有您要搜索的对象名称"End IfFetch Next From 居住用地LoopEnd IfIf yongdileixing = "道路" ThenFetch First From 道路Do While Not EOT(道路mianji = Area(道路.obj,"sq km"If CommandInfo (CMD_INFO_DLG_OK ThenIf mianji>=xiao and mianji&
9、lt;=da Theni = i + 1Print "道路id:" + i + "面积:" + Str$(mianjiEnd IfElsePrint "没有您要搜索的对象名称"End IfFetch Next From 道路LoopEnd IfIf yongdileixing = "高薪产业区" ThenFetch First From 高薪产业区Do While Not EOT(高薪产业区mianji = Area(高薪产业区.obj,"sq km"If CommandInfo (CMD_IN
10、FO_DLG_OK ThenIf mianji>=xiao and mianji<=da Theni = i + 1Print "高薪产业区id:" + i + "面积:" + Str$(mianjiEnd IfElsePrint "没有您要搜索的对象名称"End IfFetch Next From 高薪产业区LoopEnd IfIf yongdileixing = "文化娱乐用地" ThenFetch First From 文化娱乐用地Do While Not EOT(文化娱乐用地mianji = A
11、rea(文化娱乐用地.obj,"sq km"If CommandInfo (CMD_INFO_DLG_OK ThenIf mianji>=xiao and mianji<=da Theni = i + 1Print "文化娱乐用地id:" + i + "面积:" + Str$(mianjiEnd IfElsePrint "没有您要搜索的对象名称"End IfFetch Next From 文化娱乐用地LoopEnd IfIf yongdileixing = "行政办公用地" Then
12、Fetch First From 行政办公用地Do While Not EOT(行政办公用地mianji = Area(行政办公用地.obj,"sq km"If CommandInfo (CMD_INFO_DLG_OK ThenIf mianji>=xiao and mianji<=da Theni = i + 1Print "行政办公用地id:" + i + "面积:" + Str$(mianjiEnd IfElsePrint "没有您要搜索的对象名称"End IfFetch Next From 行政
13、办公用地LoopEnd IfIf yongdileixing = "工业发展用地" ThenFetch First From 工业发展用地Do While Not EOT(工业发展用地mianji = Area(工业发展用地.obj,"sq km"If CommandInfo (CMD_INFO_DLG_OK ThenIf mianji>=xiao and mianji<=da Theni = i + 1Print "工业发展用地id:" + i + "面积:" + Str$(mianjiEnd IfE
14、lsePrint "没有您要搜索的对象名称"End IfFetch Next From 工业发展用地LoopEnd IfIf yongdileixing = "绿地" ThenFetch First From 绿地Do While Not EOT(绿地mianji = Area(绿地.obj,"sq km"If CommandInfo (CMD_INFO_DLG_OK ThenIf mianji>=xiao and mianji<=da Theni = i + 1Print "绿地id:" + i +
15、"面积:" + Str$(mianjiEnd IfElsePrint "没有您要搜索的对象名称"End IfFetch Next From 绿地LoopEnd IfEnd SubSub duihuaDim search As StringDialogTitle "面积查询"Control StaticTextTitle "输入您要查询的用地类型"Control EditTextInto searchControl OKButtonTitle "确定"Control CancelButtonTit
16、le "取消"Open Table "C:shix" + searchIf search = "教育科研用地" ThenDim i,counter as IntegerFetch First From 教育科研用地Do While Not EOT(教育科研用地mianji1 = Area(教育科研用地.obj,"sq km"i = i + 1If CommandInfo (CMD_INFO_DLG_OK Thenprint "教育科研用地id" + i +":" + Str$
17、(mianji1Else 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,"s
18、q 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 = "居住用地
19、" 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 F
20、etch Next From 居住用地 Loop print "居住用地总面积为:" + Str$(zongmianji1 End If If 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
21、 +":"+ Str$(mianji1 Else print "没有您要搜索的对象名称" End If zongmianji1 = zongmianji1 + mianji1 Fetch Next From 行政办公用地 Loop print "行政办公用地总面积为:" + Str$(zongmianji1 End If If search = "文化娱乐用地" Then Dim d as Integer Fetch First From 文化娱乐用地 Do While Not EOT(文化娱乐用地 mianji1
22、 = 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 En
23、d 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 = zongmian
24、ji1 + mianji1 Fetch Next From 绿地 Loop print "绿地总面积为:" + Str$(zongmianji1 End If If 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑项目安全生产文明施工承包合同书
- 第01讲 丰富的图形世界(原卷板)
- 气象灾害防御条例解读
- 【语用新题】2025届高三下4月名校模考试题
- 二零二五版心理咨询师聘用合同
- 二零二五版货物运输保险合同条款
- 二零二五劳动合同中的危害告知
- 学校聘用教师合同书范例二零二五年
- 安全生产合同书协议书
- 运营管理环卫服务项目合同二零二五年
- 广东省深圳市福田区2023-2024学年六年级下学期英语期中试卷(含答案)
- 2023-2024学年广东省广州七中七年级(下)期中数学试卷(含答案)
- 2025年北京城市排水集团有限责任公司招聘笔试参考题库含答案解析
- 课件-2025年春季学期 形势与政策 第一讲-加快建设社会主义文化强国
- 2025年山东惠民县农业投资发展限公司招聘10人历年高频重点提升(共500题)附带答案详解
- 大学美育知到智慧树章节测试课后答案2024年秋长春工业大学
- 《基于嵌入式Linux的农业信息采集系统设计与研究》
- 外科创伤处理-清创术(外科课件)
- 小型手推式除雪机毕业设计说明书(有全套CAD图)
- 2024年中国酸奶袋市场调查研究报告
- 合同到期不续签的模板
评论
0/150
提交评论