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

设计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的文件?恭喜您成功了!
Linus Torvalds宣布Linux kernel3.12正式发布! 硅谷的技术文化——渴求独处! MDCC为移动开发者服务:一看、一聊、一聚 做华为合伙人:华为开发者联盟沙龙·北京站纪实 Q3全球智能手机报告:Android和iOS基本不变 WP最得意 Google Apps不再支持IE9 IE9用户或将无法使用Gmail等服务 [开源推荐]CecOS:企业级的云操作系统和虚拟化平台 Avangate SaaS模式开启全球软件新营销之门 Android平台的两大移动威胁现状与变化趋势 推荐五款优秀的PHP代码重构工具 11个值得注意的安全问题及应对,第12个高端黑 微软新举措:打通Windows和WP开发者账户,下调注册费用 合并两应用商店的前兆?微软开始合并Windows Store和WP开发者账户 最难忘的Bug调试经历 LiveCode:让每个人都能开发APP的开发平台 17173总经理赵佳:媒体移动化需抓住三大要素 Django 1.6发布 支持持久数据库链接 如何优化单页面网站搜索引擎? TechCrunch国际创新峰会将于上海举行 极路由:一场由路由器引发的概念盛宴 14nm制程:三星64bit处理器 Exynos 6/S曝光 从Oracle到MySQL,余额宝云实践分享 从南水北调东线工程看物联网,大数据的另一面 不只是技术!成为IT经理必备的十大软技能 看看传说5亿行代码的Healthcare.gov网站的架构 如何走出选择PHP还是ASP.NET的两难境地? 你的设计够档次吗?分享25个奇异的404页面 百度LBS推Openmap战略:无编程经验者可通过拖拽制作个性化地图应用 百万用户时尚分享网站feed系统扩展实践 Twitter上市首战告捷的四大因素 大幕将启!MDCC2013移动开发者大会下周召开 delphi7怎么注册? 请问:VB中如何实现Crystal Report打印? VB可以使用MySQL数据库吗? libc stdio中fgets的疑问! 还是文档拷贝问题,原文档中的RTF域怎么拷贝到另一数据库中的新文档中。 请估价开发一个b/s结构的桥牌网站 关于名字空间namespace.散分了!! 文件上传,急!! 初学者问题之数据库连接--有点急 http://CDNA.8q8.net/受到黑客攻击,请发表意见 兄弟们,请问在win2k下,怎么实现在exe文件加上自己的一段代码,给点思路? “好的” 接分! 有关闭包问题,在线求解! 如何在Datagrid中实现交叉表? 我想请问一下,在SQL_SERVER中,可不可以发送URL啊,可以的话怎么写法?谢谢! VB 编程发 Lotus Notes 邮件。(200分) 请问使用sql2000 for jdbc连接sql7的问题 请估价一个bs结构的桥牌游戏网站 IIS以及SSL代理的简单问题!急急急急!来者有分!!! 如何把24和32位图的文件保存为2色位图? 请问一下用winsock怎样绑定两块网卡? 请估价一个bs结构的桥牌游戏网站。 如何在win2000/xp上限制内网用户上网的带宽? 硬盘不知是什么问题! 如何用asp创建exchange用户邮箱地址: 一个人在北京好孤独。 如何知道 DataGrid水平滚动条的位置(值) Servlet/JSP可以使用Local Interface么? 请问哪里能下载到一些asp编写的趣味小程序~(例如猜数字之类的) 第一期:Flash文字特效 急问:如何在C++ Builder中动态添加控件????? session是什么 (紧急)请问,我写了一个 delete 语句,写完才发现错了,请问,可以恢复我的数据吗? form上面有一个按钮,引发绘图,当我隐藏该页面后,画的图消失了,又要从新激发该事件,怎么保持图不改变 有没有免费的全文搜索引擎? 我要是写一套ejb在weblogic和jboss两种server下运行可以吗? 那位知道如何仅用api把一个窗口做得和MessageBox一样? 谢谢!! .net会应用广泛吗? 请问jboss下如何在根路径显示出http://localhost:8080/image.jpg? 在php中如何使文本框只输入数字? 有什么网站专门是谈C#的? 谁有effective stl或者关于stl的资料? 如何给ACCESS数据库添加PASSWORD? 很久没有问问题了,问上两个小问题吧,呵呵 那里有《unix编程环境》的电子书呀?(内空) 我达到五个三角,高兴,并多谢black_snail,散分 我有一个程序,没用项目时(就是写在一个文件中)是可以的,用项目写的就提示错误: JAVA I/O 问题,请指点! fso对象出错:Permission denied (Error 70) 请推荐LINUX下的C编程的好书 请推荐LINUX下的C编程的好书 作文:我的心事我知道500字以上, 有意义的小故事 实验室消防器材有哪些 要英文,把名字和职业空着. 尺规作图题,已知,线段A,H,求作,以A为底,以H为高地等腰三角形A---------------------H--------------------------------------------- 我想经营消防器材 都需要办哪些手续 消防器材哪里有批发的 职业名称(带英语翻译) 这个多肉植物叫什么啊? 消防器材有哪些 多肉植物景天科都分哪些属? 这个多肉植物是什么呀 消防器材都有哪些 伊贝莎这个名字如果翻译成英文名该怎么写? 多肉植物有哪些? 实验室的消防器材配备有要求吗?比如说多少灭火器?多少黄沙?等等以及其他的一些要求? 英语题第6题VI 晨旭这个名字的含义是什么 莫愁前路无知己,天下谁人不识君 什么是三煞 三煞是什么意思我家想在2014年6月16日搬家 我家新家的方向在南边 单元楼也是坐南朝南开门 我家房门是朝西开 请问这一天的三煞在哪儿 是否适合我们搬家 各种职业名称用英语写duombyuvvapxz怎么办呢? 求教!高一英语语法填空题!To complete the task ahead of time,the workers had to work in the ______(bite) wind for two days. 天劫、地煞 运势里面的天劫、地煞 写出30个职业名称!(用英文写)拜托了各位 我想有个英文名字,有含义的,比较特殊 琉璃美人煞中的煞是什么意思 根据英文解释写出职业名称(要快!)1.person who designs,builds or controls machines.2.person who operates the control of an aircraft3.person who writes programs for a computer4.person who practises any of the fine arts,especially painti "产品标签" 翻译成英文是什么"标签" 翻译成英文是什么 就是有条形码什么写上面的那个东东 黄历冲鸡煞西.煞是什么意思 英语翻译 植物羊毛和世纪棉是什么面料成分呢,不知由什么制成的?在网上买了一套保暖内衣,现在还没有收到货不知怎么样.看面料成分是由植物羊毛和世纪棉组成,想问向大家请教一下这两种面料的相 a.表示什么词性书上这样写 fog(a.)---foggy truth(a.)---true deeply(n.)---depth deadly(n.)---deathvolunteer(v.)---volunteer deserted(v.)---desertstressed(v./n.)---stress 这写a.v.n.后面的单词又是什么词性? 已知等腰三角形的底边等于a,底边上的高等于b,你能用尺规作图的方法作出这个等腰三角形吗? 多肉植物越长越红的有哪些 通()()径四字词语或成语 已知底边及底边上的高,求作等腰三角形 【多肉植物知识】多肉植物为什么会变红(变色) 我还从“-------------,-------------.”这句诗中明白了------------------的道理 已知一个等腰三角形的底边及底边上的高,求作这个等腰三角形求图 中国汛期最长的河流是长江还是珠江? 谁知道 在你身上已经万年我的心事全被你看见 是哪个歌的词 已知等腰三角形底边上的高等于底边的一半,腰长为根号5,求底边的长? 在哪里学化学 有人说我命犯桃花. 么意思 ?来个专家解释下? 多肉植物要怎么浇水?什么叫干透浇透,浇透会不会导致徒长?我有一盆好像叫(初恋),买来的时候土比较湿,几天阴雨天下来,徒长了,现在十天左右,一直没敢浇水,不过看它的样子可能要烂根了, 贵阳有没有化工店,具体位置在那里呀有没有联系电话,店名 小的时候 有个算命的说我 ...什么什么的一大堆,不过后来说"命犯桃花"这个是什么意思?后来在有些书上也看到过,这个词 不是说男的么,难道对女的也这么说? 这样多肉植物 有徒长么?如果有应该怎么解决?为什么多肉植物会徒长? 西安化工城在哪里? 本人是农历1986年12月27日凌晨3-5点出生.也算是虎年虎时辰出生吧请问我是不是真的命犯桃花以前听个人说我.不要和女人走的太近容易怎么着怎么着.意思就是不好的意思,现在想想也许是吧 请 这里分别是什么多肉植物 公共英语三级要考口试吗?如果考的话会很难吗? 两个算命先生都说了同样的话,说我命犯桃花,女生。好害怕说地不好! 请问这是什么多肉植物? 帮忙取个谐音的英文名字辛苦了名字叫燕清 想要取个谐音的名字 如果可以附上含义就太感谢了女性! 和衷语文古诗一般默几句,还是就名句,明天就考了, 多肉植物缓根是什么意思rt 玩具类的英文单词越多越好,如:doll ball puppet Gameboy 以我的心事我知道写作文 莫愁前路无知己,天下谁人不识君中两个朋友是谁 十种形状及其英文再列举3种日用品是此形状格式:形状+英文+日用品(中英文对照)一定要在今天上午12点前回答啊
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘