说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

设计Browser及FTP程序 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
设计Browser及FTP程序 -VB资料
作者:张冠军

用VB 5.0 设计Browser及FTP程序

前言
  自从Internet盛行以来,人们对于文件下载、即时信息获取、电子邮件传送变得方便许多。 Internet可以说是21世纪人类科技的一大创新。由于这个重大改变,人们的生活方式也受到非常大的影响;电子购物、网上信息库、网上股市实时交易如雨后春笋般的出现。以往,Visual Basic 4.0并没有提供一个完整的solution供Visual Basic的爱好者设计Internet程序。 还好,Visual Basic 5.0提供了一些控件,供我们设计Internet的相关程序。在本文中,笔者将会用Internet Transfer control配合Web Browser control,来告诉读者如何用Visual Basic 5.0轻松地设计Browser及FTP程序。

Control简介
 Internet Transfer control
  Internet Transfer control 是微软为方便使用者设计Internet应用程序所提供的一种control。它提供两种Internet protocol:HTTP及FTP。我们在使用时,必须先设置好它的存取方式。存取方式分为直接连接到Internet网络,或通过proxy来连接Internet网络两种,完全依我们的网络性质来定。当我们设置好了相关参数之后,Internet Transfer control提供两个method:OpenURL及Execute 来让我们执行网络相关操作,我们可以用这两个命令来执行一些Internet command。在下面的设计中,笔者会说明它的用法。

 Web Browser control
  Web Browser control最早是由IE 3.0所提供,在安装IE 3.0时就会自动载入;Visual Basic 5.0 将它变成内部控件。它提供Navigate method,使我们能够连接到我们想要去的WWW Server。

  各位读者一定很奇怪:既然Internet Transfer control能够通过HTTP及TP protocol连接到 Internet,我们还要Web Browser control干甚么?只因为Internet Transfer control并没有提供图形模式的存取方式,所得到的文件仅能以文本模式传回。如果传回的文件包含图形的话,还必须将所得到的HTML文件用程序来做一个转换。所以笔者选择了Web Browser control来帮我们做一个转换。
  以下就让笔者来告诉读者如何设计Web Browser及FTP client。

Web Browser程序设计

Step 1:设置好网络参数
  首先要知道我们的网络系统是直接连到Internet,还是通过proxy连接到Internet。我们可以通过以下的步骤来确定我们的系统是以哪种方式连接Internet:在"我的电脑"选项double click进入"控制面板"。在"控制面板"选项中double click进入"Internet" 选项。在Internet Dialog Box中选择connection。由屏幕显示的Dialog Box就可以知道系统是通过proxy还是通过dialing的方式连接到Internet。由于笔者的系统是通过proxy连接到Internet,我们必须要找出proxy Server的address及port,以利于程序设置。
  接着click"setting"选项来查看它的address及port。屏幕接着会显示一个Dialog Box,里面记着"address of proxy to use ": 172.18.16.65,"port" : 8080。将它记录下来,等会儿就会用到这些参数。

Step 2:开始设计程序
  在File选项中选择New Project建立一个新的工程,在屏幕上会看到许多选项,如ActiveX Document.EXE、ActiveX Document.DLL、ActiveX.EXE、ActiveX Control等,这时要选Standard.EXE。
  接着在Project下,选择Property属性选项,在general选项下将Project Name改为Webbrowser。在屏幕的Form上加入一个Web browser control,取名为web1;接着加入一个Internet Transfer control,取名为Inet1。加入三个TextBox control,分别取名为CGISearch、webname和htmlshow,并在CGISearch TextBox前加入一个Label,将其Caption改为Search。加入三个Button control,分别取名为Search、Go和ShowDoc。将Caption分别改为Search、Go to和show document。

为方便读者了解关系,以下以表格解释一遍:
(TextBox)
Name
-------------------------------------------------
CGISearch(输入CGI命令)
webname(输入要前往的web address)
htmlshow(显示html文字结果)

(Button)
Name Caption
-------------------------------------------------
Search(执行CGI命令) search
Go(执行前往web address的动作) Go to
ShowDoc(显示html文字结果) show document

  接着将Inet1的各项属性设置如下:
Accesstype=2-icnamedproxy
protocol=4-icHTTP
proxy=172.18.16.65:8080

  在Go_Click()中加入以下程序代码, 这个动作是连接到所想要去的web Server,并将屏幕显示在web1的方块区域内:
Private Sub Go_Click()
web1.Navigate webname.Text
End Sub
  以上程序是运用web1的Navigate,这个method将屏幕连接到web name TextBox中所指定的网络站点。

  在htmlshow _Click()加入以下的程序代码:
Private Sub htmlshow _Click()
a$ = web1.LocationURL
ShowDoc.Text = Inet1.OpenURL(a$)
End Sub
  以上程序,是先将web1所连接到的URL address,通过LocationURL这个property读出,并将它暂存于字符串a。接着使用OpenURL()命令来将所接收到的HTML程序代码,显示在ShowDoc这个TextBox中。

  在CGIserch _Click()中加入以下程序代码:
Private Sub CGIserch _Click()
Web1.Navigate "http://search.yahoo.com/bin/Search ? p=" + CGI.Text
End Sub
  这个动作是用CGI命令来查询文件。在这里我们将查询命令指定传送到Yahoo 这个网络搜寻站。这样我们就完成了一个小型的Web Browser。

Step 3:测试程序
  执行刚设计完的Web Browser,并在web name这个TextBox中填入所要去的网址。这里我们将它设置为http://www.Microsoft.com。接着按下Go Button,将会看到在web1 control的方块区域内显示了Microsoft的HomePage。按下ShowDoc Button,将可以在htmlshow这个TextBox中看到Microsoft HomePage的HTML程序代码。
  接下来让我们试试CGI搜寻功能。在CGIserch TextBox中加入communication,结果我们发觉查询的结果显示在web1方形区域中。同样的,我们也可以按下ShowDoc Button,将可以在htmlshow这个TextBox中,看到查询结果所传回的HTML程序代码。
  恭喜您成功了!
============================================

FTP程序设计
  前面提到Internet Transfer control可以提供FTP protocol,这里我们便要告诉您如何运用 Internet Transfer control来设计一个可以连接FTP Server的client程序,并将FTP Server上的bbb.txt文件download到local端。

Step 1:程序设计
  在File选项中选择NewProject建立一个新的工程,在屏幕上看到许多选项,如ActiveX Document.EXE、ActiveX Document.DLL、ActiveX.EXE、ActiveX Control等,这时要选Standard.EXE。接着在Project下,选择Property属性选项,在general选项下将Project Name改为FTP client。
  屏幕的Form上加入一个Internet Transfer control,取名为Inet1。将Inet1 property的参数设置如下:
Accesstype=2-icnamedproxy
Username="david"
password="2333334"
protocol=2-icFTP
proxy=172.18.16.65:8080

  我们在此将Username及password设置好,当我们Login进入FTP Server时,Server将会直接跳过输入Username和password的屏幕。加入一个TextBox control,取名为FTPgetfile。加入两个Button control,取名为FTPget和FTPLink,分别将其Caption改为FTPget和 FTPLink。

  在FTPLink _Click()中加入以下程序代码:
Private Sub FTPLink _Click()
Inet1.excute "FTP 128.9.200.4"
End Sub
 Execute是Internet Transfer control提供的一个用来执行FTP公用程序的method,我们可以在它的后面加入FTP的命令,这样我们就可以使用任何熟悉的FTP公用程序来完成工作。
  笔者的FTP Server地址是128.9.200.4,所以我们在FTP命令后面填入这个地址。

  接着在FTPget _Click()中加入以下程序代码:
Private Sub FTPLink _Click()
Inet1.excute "GET aaa.txt c:\bbb.txt"
End Sub
  这个动作是将FTP Server上的aaa.txt文件传送到client端。

Step 2:测试
  将FTPclient执行起来,按下FTPLink Button,连结到 FTP Server。按下FTPget Button,取回文件。有没有发觉到在C:\目录下面多了一个bbb.txt的文件?恭喜您成功了!
O2O大潮来袭,洗牌将至? 谈谈UI架构设计的演化 Node.js 开源基金会成立,Joyent让出领导权 LinkedIn分布式实时性能跟踪与效率优化实例 DIY机器人不是事!软硬两不误的开发平台RoboCORE 详解OS X和iOS图像处理框架Core Image 快的打车联合创始人兼技术副总裁闻诚:CTO要有“334”能力 阿里巴巴正式加入W3C,成为W3C会员 在Swift中,如何像Objective-C定义可选接口? DARPA:4年内推出具备触觉的机械手 Silver:用Swift编写iOS、Android和.NET应用 Swift没有异常处理,遇到功能性错误怎么办? 基于Python的测试驱动开发实战 不能守株待兔!移动互联网时代:产品找用户 淘汰传统屏幕,虚拟现实新纪元何时开启? 《近匠》SENSORO CTO赵东炜:解密iBeacon生态 我由Angular转向React,为什么? 产品设计中的九个注意事项 昂贵、复杂、不可靠!智能家居产品的尴尬现状 Facebook的CIO都做些什么? 穷游网CTO黄向阳:成果与价值是最好的驱动力 2015移动游戏行业方向标:创业者必须关注的几个领域 基于Python的行为驱动开发实战 面向WP和Android!微软车库发布多款免费应用 GRPC:谷歌发布的首款基于HTTP/2和protobuf的RPC框架 革命,就是现在!——CES 2015行纪 HTML5游戏引擎排行榜 Construct 2最受欢迎 2015手游营销新趋势:电视广告,及其投放逻辑 详解下一代开源混合应用框架Reapp 应用内一键交易!Google公布Android Pay项目 Timehop为什么要放弃Rails,转向Go? 建好表后,如何添加数据?不要导入的方法 用dbstart启动时出现Can't find init file ......请指点! 我用17"的顯示器設為1024*768顯示,但pb9開發工具的字體很小,怎麼設啊? 对于解决站点使用基本验证的自定义客户端验证界面的一篇有价值的文章 运行java3D后这样的提示,怎么回事????? 高分求 关于DLL程式异步通知,类示xmlhttp 组件的onreadystatechange事件 初学者请高手指点迷经? Form上没有缺省按钮,在控件上Enter按键时,喇叭老是响,怎样解决? 如何实现导入数据库中的数据--急,知道的请帮忙 有关dataset的问题?? 使用用户控件提示找不到许可证信息,刚才都是好好的 数据库问题:有什么好的解决办法。 请问如何避免client连接server端出现WSAENOTCONN的错误? 自动注册ODBC数据源问题 请大家注意:遇到有人骂你的时候请通知斑竹,不要回骂。 dbsrv7.exe为何长时间的占用我的CPU? 菜鸟问题,麻烦帮帮忙!!!!!!!!! 在delphi中如何做ocx,大家帮我介绍一下。最好是能放在浏览器中用的。 各位大哥,请教一个菜鸟问题!!! 我电脑里装的win2000使用的时候经常死机,就是突然鼠标,键盘都没反应,只能重起, 谁能帮我判断一下会是什么原因? 如何取得TextField的选择区域? 请问浙江有高程培训班吗? 昨天有人扎了我三针...... CallableStatement 问题 “ActiveX 不能创建对象, 错误号429”,请问谁这个问题,急切求助 为什么建立虚拟目录时这样不行? <Context path="/xuu27" debug="0" docBase="C:\jsp\xuu27" reloadable="true" crossContext="true"/> 问搞版主竞选的版主们: web服务服务器端设置 我的一个页面中有三个frame,请问如何在其中一个frame中点击连接,关闭窗口。然后整个页面就关闭了. 刚学sql语言,有点不懂 一个很弱的问题 有谁知道开书店的进书渠道吗? 我的一个页面中有三个frame,请问如何在其中一个frame中点击连接,关闭窗口。然后整个页面就关闭了. 动态链表。。。 VB,excel关于单元格的问题 谁能介绍一下mysql的数据表结构 急!急!有关Resource DLL的问题。 我想考程序员,请问该买些什么参考书看?哪个网站有这方面的资料? 用VB开发的软件,我想。。。。 寻求有关电子商务的英文文章$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 为什么该语句不正常了?? 我写的分页程序,很短,请教错误! 认为自己的【昵称】够个性的,欢迎进来。。。 想请高手指点一下! 你天看到一篇文章,感觉不错。贴上来供大家欣赏。 如何把Access中的图片显示在Webbrowser控件包含的Html文件中? 水晶报表中设置的参数无效? 请教Oracle错误:ORA-12560: TNS: 协议适配器错误 基础 xp共享 ADO怎样对视图进行查询 弧长等于直径的圆弧所对的圆周角为A .360°/π B.180°/π C.90°/π D.45°/π 《人鬼情未了》英文简介翻译 “你不存在了,但生活还在.”赏析句子 天蓝色的彼岸 独坐敬亭山的中心思想帮个忙 2010年第5号热带风暴今年第4号热带风暴“电母 求《天蓝色的彼岸》中经典的句子! 澎湃是什么意思? 2010年第2号热带风暴怎么还不来 求骈偶句的定义~~~(语文作业) 热情澎湃的意思 梨花带雨不是诗是什么意思 甲与乙共谋共同杀丙但届时乙因生病而没有前往犯罪地点由甲一人杀死丙乙甲是否构成共同犯罪为什么 澎湃是什么意思啊 毛泽东的《沁园春 长沙》的“怅寥廓,问苍茫大地,谁主沉浮”这一问题的回答是? 构成共同犯罪,主体必须是二人以上,包括二人吗? “云麻一号”有毒吗? 梨花带雨.是什么意思? 讨论方程y=||x|-1|的性质,并描绘其曲线如题 彩虹云点播有毒吗? f(x)=(a(x-1)^2+1)/(bx+c-b)(abc为N,f(2)=2,f(3) 骨瓷杯都含有什么成份 越南云脚蜘蛛有毒么? 如题,“前不着村, 外表很平静内心很澎湃什么意思 人类已知最大星球 前不见村,后不着店. 澎湃激荡什么意思 慈禧太后是个怎样的人物.谈谈你对其历史人物的看法.觉得她是个怎样的领导人.她做的对与错?说出你的见解.如果你有渊博的知识和独特的历史见解,那请你用精辟的语言来形容她. 前()()(),后()()() 成语 如前不着村,后不着店 "胸中涌起澎湃"的成语解释火速 若函数f(x)的定义域为[a,b],且b>-a>0,求函数g(x)=f(x)-f(-x)的定义域 麻烦说一下方法 已知一个多边形的内角等于1440度,则过此多边形的一个顶点有几条对角线,把这个多边形分成几个三角形 我没脱衣服,但他上我身上了,他下身还不停地动.他是不是渴望我的身体? 澎湃的意思 梨花带雨是什么意识 重婚罪的定义是什么. 澎湃是什么意思啊啊 梨花带雨什么意思 什么东西具有升值空间请说明具体的东西 描写山水原野的成语 二次函数的关键要素是————,————. 米老鼠多少笔划 独坐敬亭山的主旨 老家 前几年,我曾诌过两句旧诗:“梦中每迷还乡路,愈知晚途念桑梓.”最近几天,又接连做这样的梦:要回家,总是不自由.请假不准,或是路途遥远.有时决心起程,单人独行,又总是在日已西斜 重婚罪能判几年 澎湃是什么意思? 来龙去脉 莫小米 送人,到底有多少笔划! 澎湃什么意思? 到目前为止,人类发现的行星、恒星和星系最大的各是什么 重婚罪一般判几年?为了写胡诌乱诌的政治话题有关的作文- - 谁有的英文影评?有急用先谢谢了 醋,水,米水,盐水浇花,哪朵花活得长? 夫子的意思是什么,快点告诉我吧! y=ax的平方+bx+c中,b和c变化会使图像形状发生的变化? 共同犯罪必须区分主从犯吗 米老鼠共几笔画 二次函数y=ax^2+bx+c的图像过(-1,4),(2,8)两点,且与二次函数y2x^2的图像开口方向相反形状一样,只是位置不求该二次函数表达式是过(2,-8)y2x^2改为y=2x^2 《绝顶》和《天蓝色的彼岸》中深刻的句子和好段(长一点).急其他描写生命的书都行,(写书名和作者)谢啦 犯重婚罪能判几年刑 联合国计划成立预警机构 防范小行星撞俄罗斯称政府内部系统可防止领导人电话女童目睹家人在车祸中被烧死 获赔1.安倍经济学:IMF认为有益经济 日本女子坚持嫁给残障男友 坚贞真爱感动世策划暗杀曼德拉犯罪团伙获重判 主犯拒日媒:安倍将亲自向中国救人留学生颁发萌猫每天造访商店 望着橱窗里老鼠或鱼奥巴马医改网站安全漏洞细节曝光 内测伊拉克向美国请求军事援助 对抗“基地美一客机紧急迫降阿拉斯加偏远小镇 无年轻人使用手机成瘾 或因社交焦虑渴望英媒:美国窃听盟国收益是否大于成本存波士顿爆炸案后美警方为纽约马拉松投入印尼爆发全国大罢工 抗议租不起房吃不美“监听”区别对待盟友非盟友 公信力日本拟任命民间人士担任日“国家安全局英小报窃听引关注 法庭百年后解除部分巴黎中国电影节开幕 计划放映56部新专家称叙总统解职叙副总统 传达不愿谈纽约提高香烟禁售最低年龄 未满21不四川董事长业余篮球赛三节砍15+10朝鲜言辞强硬:否认入侵索尼影业粤媒:罗旭东将追随李秋平加盟新疆2014屌炸天的那些平台持久谁不爱?小辣椒新机即将推出苹果橘子甜汤百万辆死亡率为0!它们才是中国车市最泡椒腰花真正的母爱,是一场得体的退出世纪大盗张子强与李嘉诚的神秘对话圆白菜炒豆腐干清炒茼蒿我见过自闭症孩子的父母是怎么熬过来的大蒜炒萝卜丝欢庆三冠,MSN共享汉堡大餐圣诞杯子蛋糕自制香肠农家炒藕丁恩里克:感谢球迷,请继续支持巴萨炒萝卜片里斯本杯国青未尝胜绩,两平一负排名第
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘