caoyuanzhilang
路人甲
路人甲
  • 注册日期2004-05-13
  • 发帖数27
  • QQ
  • 铜币23枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1963回复:2

MapBasic紧缩表源代码给大家参考!

楼主#
更多 发布于:2005-08-04 11:40
<IMG src="http://www.gisempire.com/bbs/Skins/Default/topicface/face1.gif" align=absMiddle border=0> <B>紧缩表源代码</B><BR>Include "mapbasic.def"<BR>Include "icons.def"<BR>Include "menu.def"<BR>'***********************************************************<BR>Declare Sub Main<BR>Declare Sub packtable<BR>Declare Sub BatchPackTable<BR>Declare Sub Exit<BR>'***********************************************************<BR>Sub Main<BR>    Create Menu "紧缩表" As <BR>         "(-",    <BR>         "紧缩表"  +Chr$(9)+"Ctrl+M/W^M" Calling PackTable,<BR>         "(-", <BR>         "退出"Calling Exit<BR>    Alter Menu Bar Add "紧缩表"<BR>    Set Window Message Font ("宋体", 0, 10, Blue) <BR>End Sub <BR><BR>
<P>'***********************************************************<BR>Sub PackTable<BR>Dim Ptable,LayName As String<BR>Dim Winid,I,J,LayNums As Integer<BR>    Cls<BR>    onError GoTo ErrorType<BR>    If Not FrontWindow() Then<BR>        Note "没有图层,请打开图层......"<BR>        Exit Sub<BR>    End If<BR>    For j=1 To NumWindows()<BR>        If WindowInfo(FrontWindow(),Win_Info_Type)<>Win_Mapper Then<BR>            Close Window FrontWindow()<BR>        Else<BR>            Exit For<BR>        End If<BR>    Next<BR>    Winid=FrontWindow()<BR>    LayNums=MapperInfo(WinID, Mapper_Info_Layers)<BR>    Open File "c:\紧缩完的表.txt" For Output As #2<BR>    For I=1 To Laynums    <BR>        LayName= LayerInfo(WinID,I,Layer_Info_Name)<BR>        If LayerInfo(WinID,I,Layer_Info_type)=Layer_Info_Type_Normal Then<BR>            Commit Table LayName                                               <BR>            Set Map Layer LayName Editable On<BR>            Ptable="Pack Table "+LayName+" Graphic Data "<BR>            Run Command Ptable<BR>            Print "已经将 ("+LayName+") 表紧缩完! "<BR>            Print #2, "已经将 ("+LayName+") 表紧缩完! "<BR>            If LayNums>1 Then <BR>                Add Map Auto Layer LayName<BR>            Else <BR>                Map From LayName <BR>            End If<BR>        End If<BR>    Next<BR>    Close File #2<BR>    Note "紧缩完毕!"<BR>    Exit Sub<BR>    ErrorType:<BR>        Exit Sub<BR>        Print "操作被取消!"<BR>End Sub<BR>'***********************************************************    <BR>Sub Exit<BR>    If Ask("Hi!你是否愿意退出?","是","否") = 1 Then<BR>        End Program<BR>    End If<BR>End Sub<BR>'*********************************************************** <BR>做大家学习例子</P>
喜欢0 评分0
qsdys
路人甲
路人甲
  • 注册日期2006-03-18
  • 发帖数16
  • QQ
  • 铜币156枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-03-18 17:59
<img src="images/post/smile/dvbbs/em05.gif" /><img src="images/post/smile/dvbbs/em06.gif" /><img src="images/post/smile/dvbbs/em07.gif" /><img src="images/post/smile/dvbbs/em08.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em05.gif" />
风雨漫漫人生路,喜怒哀乐自知量。
举报 回复(0) 喜欢(0)     评分
zwcmap
路人甲
路人甲
  • 注册日期2004-05-06
  • 发帖数59
  • QQ
  • 铜币555枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-08-05 09:23
<img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em03.gif" /><img src="images/post/smile/dvbbs/em03.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部