我的VB作品|初学指南|编程技巧|源码下载|工具控件|VBA应用|Blog|【电信线路】|【网通线路】
   位置: VB知识库 >> 编程技巧 >> INET >> 正文
最新调查
    你是怎样知道VB知识库的?
通过搜索引擎
即时通讯工具
朋友介绍
友情链接
其它

  

频道统计
在VB中实现文件上传[VB知识库-Visual Basic Knowledge base]
在VB中实现文件上传[VB知识库-Visual Basic Knowledge base]
 更新时间:2008-1-11 19:40:08  点击数:13
【字体: 字体颜色

InternetTransfer控件提供了Internet上最常使用的两种协议:HTTP和FTP。使用HTTP协议可以连接到WWW服务器上来下载文件;使用FTP协议则可以登录到FTP服务器。一般的FTP命令,例如CD、GET都可以通过Execute方法实现。
  下面是一个设置INET控件属性的例子。
  inet1.URL=ftp://username:password@hostname/document
  inet1.Protocol=2-icFTP
  inet1.RemoteHost=hostname
  inet1.RemotePort=21
  inet1.Username=username
  inet1.Password=password
  执行文件传输:
  Inet1.Execute"ftp://username:password@hostname",_
  "PUT"&local_filename&"UPLOAD1.TXT"
  right1=Inet1.StillExecuting
  DoWhileright1
   right1=Inet1.StillExecuting
   DoEvents
  Loop
  这样便实现了文件的上载。
  *SINET控件的优点
  INET控件与Shell()函数的不同之处在于INET控件通过调用语句
  right1=Inet1.StillExecuting
  DoWhileright1
   right1=Inet1.StillExecuting
   DoEvents
  Loop来控制语句执行的顺序。在文件传输工作未完成之前,程序不会执行其它语句,自然也就不会出现调用Shell函数所出现的问题。变量right1用来测试inet1的执行状态,如果进程中仍在进行文件传输的工作,则调用过程DoEvents给系统空闲时间来做文件传输工作,这样便成功地执行了文件上载的功能。该文件使用完毕之后将被删除。
  Inet1.Execute"ftp://informix:informix@rd",_
  "DELETEUPLOAD1.TXT"
  right1=Inet1.StillExecuting
  DoWhileright1
  right1=Inet1.StillExecuting
  DoEvents
  Loop
  将上载的文件删除是为了避免占用服务器端磁盘空间。
  *S利用StateChanged事件提示信息
  服务器在执行inet1.execute的同时也激活了Inet1_StateChanged事件,进程可以根据捕获到的状态进行动作。
  object_StateChanged(ByValStateAsInteger)
  State:整数类型Integer
  下面是状态的说明。
  常数值   描述icNone
  0     未报告状态icHostResolvingHost
  1     控件正在寻找指定主机的IP地址icHostResolved
  2     控件已成功找到指定主机的IP地址icConnecting
  3     控件正在与指定主机进行连接icConnected
  4     控件已成功与指定主机连接icRequesting
  5     控件正在向主机发出请求icRequestSent
  6     控件已成功向主机发出请求icReceivingResponse
  7     控件正在从主机接收反馈信息icResponseReceived
  8     控件已成功从主机接受反馈信息icDisconnecting
  9     控件正在与主机断开icDisconnected
  10     控件已与主机断开icError
  11     在与主机通信的过程中发生了错误icResponseCompleted
  12     请求结束且数据已经接收到
  下面是一个例子。
  PrivateSubInet1_StateChanged(ByValStateAsInteger)
  'RetrieveserverresponseusingtheGetChunk
  'methodwhenState=12.Thi***ampleassumesthe
  'dataistext.
  SelectCaseState
  '...Othercasesnotshown.
  CaseicResponseReceived'12
  DimvtDataAsVariant'Datavariable.
  DimstrDataAsString:strData=""
  DimbDoneAsBoolean:bDone=False
  'Getfirstchunk.
  vtData=Inet1.GetChunk(1024,icString)
  DoWhileNotbDone
  strData=Data&vtData
  'Getnextchunk.
  vtData=Inet1.GetChunk(1024,icString)
  IfLen(vtData)=0Then
   bDone=True
  EndIf
  Loop
  txtData.Text=strData
  EndSelect
  EndSub
至少要成为本站的注册会员才能下载! 注册点我!
  • 上一篇: 没有了
  • 下一篇: INET示例代码
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    河北宝宝网河北教育网址导航VB知识库点击申请点击申请点击申请点击申请点击申请点击申请点击申请
    点击申请点击申请点击申请点击申请点击申请点击申请
    Copyright© 2008 vbkbase.com All Rights Reserved QQ群:54150844
    冀ICP备08000517号