<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Feng.Li's Java See

    抓緊時間,大步向前。
    隨筆 - 95, 文章 - 4, 評論 - 58, 引用 - 0
    數據加載中……

    昨天現學現賣,幫小慧寫了Mapbasic 的一些小程序

    主要功能:面積計算,條件查詢。

    ????? 雖然第一次寫GIS的二次開發程序,不過感覺上手真的很快。也就是用了1個半小時,就把大概的知識點過了一遍,接著就開始對著Mapbasic開始敲鍵盤。

    ????? 不過畢竟沒有基礎,寫出來的程序很丑陋(不會basic語言,所以很多東西寫得特別長)
    在此把代碼貼出,希望路過的朋友,可以看看。

    nclude "mapbasic.def"
    Include "menu.def"
    declare Sub 道路
    declare Sub 高薪產業區
    declare Sub 工業發展用地
    declare Sub 教育科研用地
    declare Sub 居住用地
    declare Sub 綠地
    declare Sub 行政辦公用地
    declare Sub 文化娛樂用地
    declare Sub 面積
    Declare Sub duihua
    Declare Sub Main
    Declare Sub tiaojian
    Dim mianji as Float
    Dim i as Integer
    Dim mianji1 as float
    Dim zongmianji1 as float
    Dim 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<=da Then
    ????????? i = i + 1
    ????????? Print "教育科研用地id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 教育科研用地
    Loop
    End If
    ?? 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<=da Then
    ????????? i = i + 1
    ????????? Print "居住用地id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 居住用地
    Loop
    End If
    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<=da Then
    ????????? i = i + 1
    ????????? Print "道路id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 道路
    Loop
    End If

    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<=da Then
    ????????? i = i + 1
    ????????? Print "高薪產業區id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 高薪產業區
    Loop
    End If
    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<=da Then
    ????????? i = i + 1
    ????????? Print "文化娛樂用地id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 文化娛樂用地
    Loop
    End If
    ?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<=da Then
    ????????? i = i + 1
    ????????? Print "行政辦公用地id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 行政辦公用地
    Loop
    End If
    ?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<=da Then
    ????????? i = i + 1
    ????????? Print "工業發展用地id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 工業發展用地
    Loop
    End If
    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<=da Then
    ????????? i = i + 1
    ????????? Print "綠地id:" + i + "面積:" + Str$(mianji)
    ???
    ???? End If
    ?? Else
    ????????? Print "沒有您要搜索的對象名稱"
    ?? End If
    ?? Fetch Next From 綠地
    Loop
    End If

    End 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 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 +":"+ 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 = 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 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
    ?? zongmianji1 = zongmianji1 + mianji1
    ?Fetch Next From 道路
    Loop
    ? print "道路總面積為:" + Str$(zongmianji1)
    ?End If


    ?End Sub

    Sub 道路
    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 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 Sub
    Sub 文化娛樂用地
    Open Table "C:\shix\文化娛樂用地 "
    Add Map
    ?Layer 文化娛樂用地
    Map From 文化娛樂用地
    End Sub?

    posted on 2006-09-02 13:22 小鋒 閱讀(976) 評論(0)  編輯  收藏 所屬分類: GIS

    主站蜘蛛池模板: a级毛片在线视频免费观看| 久草视频免费在线| 亚洲第一二三四区| 国产极品美女高潮抽搐免费网站| 高清免费久久午夜精品| 91亚洲国产在人线播放午夜| 影音先锋在线免费观看| 全黄大全大色全免费大片| 亚洲人和日本人jizz| 老司机亚洲精品影视www| 一色屋成人免费精品网站| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 久久久久亚洲AV无码永不| 日韩精品免费电影| 一区二区三区四区免费视频| 成人精品国产亚洲欧洲| 亚洲黄色一级毛片| 亚洲人成色7777在线观看不卡| 91精品成人免费国产片| 四虎影视久久久免费观看| 亚洲国产人成在线观看| 国产亚洲精AA在线观看SEE| 性做久久久久免费看| 69pao强力打造免费高清| 一级特黄录像视频免费| 亚洲一级特黄特黄的大片| 国产亚洲精品a在线观看app| 香蕉视频在线观看免费国产婷婷| 无码A级毛片免费视频内谢| 人妻18毛片a级毛片免费看| 精品国产日韩久久亚洲| 久久精品国产亚洲AV电影| 亚洲中文字幕无码爆乳av中文| 四虎成人精品一区二区免费网站| 久久成人免费电影| 一级做a爰片久久毛片免费看| 国产偷国产偷亚洲清高APP| 亚洲二区在线视频| 亚洲电影在线免费观看| 久久夜色精品国产嚕嚕亚洲av| 亚洲毛片不卡av在线播放一区|