实现桌面地理信息系统ArcView和VB5应用程序之间的通讯_第1页
实现桌面地理信息系统ArcView和VB5应用程序之间的通讯_第2页
实现桌面地理信息系统ArcView和VB5应用程序之间的通讯_第3页
实现桌面地理信息系统ArcView和VB5应用程序之间的通讯_第4页
实现桌面地理信息系统ArcView和VB5应用程序之间的通讯_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实现桌面地理信息系统ArcView和VB5应用程序之间的通讯全文本文详尽介绍桌面地理信息系统的概念,通过分析桌面地理信息系统ArcView和VB5应用程序之间的通讯关系,融合实例,阐述了ArcView和VB5相互通讯在研发桌面地理信息系统中的应用领域价值。?关键词桌面地理信息系统、ArcView和VB5、应用程序通讯??1.桌面地理信息系统详述?地理信息系统就是一种特定的空间信息系统,它就是采用现代化的方法回去搜集、存储、分后析、管理、说明、模拟与地理空间原产有关数据的空间信息系统。它就是现代地球科学、信息学、环境科学、测绘遥感技术学、计算机科学、管理科学、应用领域数学以及各种应用领域学科有机融合的内置产物。自60年代加拿大测量学家R.T.Tomlinson首先明确提出地理信息系统这一术语以来,在大型机、小型机、工作站和微机平台上,相继出现了GIS的应用领域平台。比如美国ESRI的产Fanjeaux,已遍布上述四种硬件平台。由于80年代PC技术的快速发展,以及近几年来PC硬件价格的急剧下跌和其性能日益提高,并使桌面地理信息系统(DeskTopGIS)赢得了快速的发展。其中在国内用得较多的存美国ESRI公司的ArcView。?2.ARCVIEW介绍?现在常用的ArcView2.1以上英文版就是直观性较好的桌面地理信息系统。它辑空间图形、关系数据库、统计数据图形、空间分析、网络通讯、面向对象的程序设计于一体,图形用户界面直观。而且它存自己的开发工具即Avenue,用做制作特定的ArcView应用程序。Avenue就是一种WINDOWS环境下的面向对象的程序设计语言,ArcView的系统功能就是由它编程同时同时实现的。在实际应用领域中,ArcView既可为Clint,又可向Server,回去同时同时实现应用领域程序之间的通讯,涵盖传输或拒绝接受数据,继续执行命令,返回分析结果。通过使用DDE方法,可以消解ArcView本身研发语言的滞后性,达致充分发挥ArcView自身彪悍的地图管理功能,又创下打造出符合时代特色的桌面地理信息系统。(7)在cmdRequestClick事件中增加以下代码:?SubcmdRequestClick()?'LinkItem就是能够返回值的Avenuescript?txtDDE.LinkItem="av.GetActiveDoc.GetName"?txtDDE.LinkRequest?EndSub??任何一个由Avenue语言研发的Windows应用程序都存一个对应的Project,Project由一些Document和Script共同共同组成,而Document又由DocumentWindow和DocumentGUI共同共同组成,所以Avenue应用程序的模型比如图1右图。图1中Document就是人机交流的唯一途径,根据其功能又可以分为View,Table,Chart,Layout和ScriptEditor五种,DocumentGUI就是对应于某一Document的图形用户界面,由Menubar,Buttonbar和Toolbar共同共同组成,分别用来对应相同的功能。ArcView就是通过DDE和DLL方法同时同时实现与外部应用程序通信。本文通过一个实例回去详细介绍DDE功能的使用。(5)在FormUnload事件中增加以下代码:?SubFormUnload(CancelAsInteger)?txtDDE.LinkMode=NONE'停止使用DDE对话?EndSub?(4)在FormLoad事件中增加以下代码:?SubFormLoad()?cboDocType.text=""?cboDocType.AddItem"View"?cboDocType.AddItem"Layout"?cboDocType.AddItem"SEd"Startup'调startup程序?EndSub?3.ArcView和VB5应用程序通讯方法?最通用型的IPC(interprocesscommunication,IPC)方法就是DDE、OLE和对动态连结库的外部函数调用、文件访华以及WINDOWS剪贴板。上述方法都能并使相同的WINDOWS应用程序之间彼此通信。如果ArcView没有运转,应用程序就可以转化成它。从dropdowncombobox挑选出一个文档名以便在ArcView中建立一个文档。(6)在cboDocTypeClick事件中增加以下代码:?SubcboDocTypeClick()?cmd="av.GetProject.AddDoc("&cboDocType&".make)av.GetProject.GetActive.Get(0).GetWin.Open"?txtDDE.LinkExecutecmd?EndSub?其中DDE方法原先就是作为一种基于消息的协议在WINDOWS(3.x之前)中同时同时实现的,用来在相同的WINDOWS应用程序之间交换信息。随着WINDOWS3.0的发布,DDE在实际的应用领域程序开发中赢得大量应用领域,这就是通过并使DDE服务能够利用应用程序编程USB(API)调用DDE管理库来顺利完成的。图1Avenue应用程序模型?我们在具体内容研发桌面地理信息系统ArcView时,辨识发生有的ArcView系统功能并无法完全满足要求,必须对ArcView系统再次扩建,增加代莱功能。由于ArcView的研发语言就是Avenue,它的研发效率高,所以在实际研发中既要充分利用ArcView自身彪悍的地图管理功能,又必须利用高级语言(如VB5)在快速研发应用领域方面的长处,两者相互融合,将赢得良好效果。此时VB5应用程序就是目标,而ArcView就是源。?如果已安装VB5和ArcView,按照下面步骤建立应用程序:?实践证明,采用ArcView和VB5应用程序通讯进行系则为丛藓科扭口藓研发就是一种有效率的桌面地理信息系统开发方法。4.实例分析?在本例中,VB5应用程序向ArcView接到Avenue命令以建立代莱文档如views和layouts,而且应用程序盘问ArcView以赢得当前转化成的文档。1)?t=DoEvents()?Resume?Else?MsgBox"Unknownerror."?Stop?EndIf?EndSub?(2)在Form1上根据以下属性建立控件,然后放大窗体以便整齐地排序控件。?ObjectPropertySetting?TextBoxNametxtDDE?CommandButtonCaptionSendRequest?NamecmdRequest?ComboBoxNamecboDocType?(3)在Form1的说明部分增加下面代码:?ConstNONE=0,MANUAL=2?SubStartup()?Dimt?ConstDDE_NO_APP=282?'thiswillstartArcViewifitisn'trunning?OnErrorGoToFireUp?txtDDE.LinkMode=NONE'除去DDE链接?txtDDE.LinkTopic="ArcView|System"'建立对话?txtDDE.LinkMode=MANUAL'建立人工链接?ExitSub?FireUp:?IfErr=DDENOAPPThen?ChDir"C:\ARCVIEW2\BIN"?t=Shell("arcview",(8)存储VB5工程并编译成EXE文件。?现在即可运转VisualBasic应用程序。(1)启动VB5,建立缺省窗体Form1。?必须访华当前转化成的文档就敲击SendRequestbutton,在文本框里将可以说明文档名。本例所有的DDE通讯都就是通过文本框同时同时实现的。在VB5中,任何textbox,picturebox和label在对话中都可以作为目标,同时任何窗体可以看作源。?以上实例的运转环境为:VisualBasic4.0以上,ArcView2.1以上,Win

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论