怎么用Inet控件的FTP功能上传和下传文件???
有没有相应的学习代码下载???

解决方案 »

  1.   

    http://vb1.myrice.com/article/net/net017.htm不过可能上不去了,我直接抄下来吧:
    Internet Transfer控件提供了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 
      Do While right1 
        right1 = Inet1.StillExecuting 
        DoEvents 
      Loop 
      这样便实现了文件的上载。 
      *SINET 控件的优点 
      INET控件与Shell()函数的不同之处在于INET控件通过调用语句 
      right1 = Inet1.StillExecuting 
      Do While right1 
        right1 = Inet1.StillExecuting 
        DoEvents 
      Loop来控制语句执行的顺序。在文件传输工作未完成之前,程序 不会执行其它语句,自然也就不会出现调用Shell 函数所出现的问题 。变量right1用来测试inet1 的执行状态,如果进程中仍在进行文件 传输的工作,则调用过程DoEvents给系统空闲时间来做文件传输工作, 这样便成功地执行了文件上载的功能。该文件使用完毕之后将被删除 。 
      Inet1.Execute "ftp://informix:informix@rd", "DELETE UPLOAD1.TXT" 
      right1 = Inet1.StillExecuting 
      Do While right1 
        right1 = Inet1.StillExecuting 
        DoEvents 
      Loop 
      将上载的文件删除是为了避免占用服务器端磁盘空间。 
      *S利用StateChanged事件提示信息 
      服务器在执行inet1.execute 的同时也激活了Inet1_StateChang ed事件,进程可以根据捕获到的状态进行动作。 
      object_StateChanged(ByVal State As Integer) 
      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     在与主机通信的过程中发生了错误icResponseComp leted 
      12     请求结束且数据已经接收到   下面是一个例子。   Private Sub Inet1_StateChanged(ByVal State As Integer) 
        ' Retrieve server response using the GetChunk 
        ' method when State = 12. This example assumes the 
        ' data is text. 
        Select Case State 
          ' ... Other cases not shown. 
          Case icResponseReceived ' 12 
              Dim vtData As Variant ' Data variable. 
              Dim strData As String: strData = "" 
              Dim bDone As Boolean: bDone = False 
              ' Get first chunk. 
              vtData = Inet1.GetChunk(1024, icString) 
              Do While Not bDone 
                strData = Data & vtData 
                ' Get next chunk. 
                vtData = Inet1.GetChunk(1024, icString) 
                If Len(vtData) = 0 Then 
                   bDone = True 
                End If 
              Loop 
              txtData.Text = strData 
        End Select 
      End Sub 
      

  2.   

    2. INET 控件 
      Internet Transfer控件提供了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 
      Do While right1 
        right1 = Inet1.StillExecuting 
        DoEvents 
      Loop 
      这样便实现了文件的上载。 
      *SINET 控件的优点 
      INET控件与Shell()函数的不同之处在于INET控件通过调用语句 
      right1 = Inet1.StillExecuting 
      Do While right1 
        right1 = Inet1.StillExecuting 
        DoEvents 
      Loop来控制语句执行的顺序。在文件传输工作未完成之前,程序 不会执行其它语句,自然也就不会出现调用Shell 函数所出现的问题 。变量right1用来测试inet1 的执行状态,如果进程中仍在进行文件 传输的工作,则调用过程DoEvents给系统空闲时间来做文件传输工作, 这样便成功地执行了文件上载的功能。该文件使用完毕之后将被删除 。 
      Inet1.Execute "ftp://informix:informix@rd", _ 
      "DELETE UPLOAD1.TXT" 
      right1 = Inet1.StillExecuting 
      Do While right1 
      right1 = Inet1.StillExecuting 
      DoEvents 
      Loop 
      将上载的文件删除是为了避免占用服务器端磁盘空间。 
      *S利用StateChanged事件提示信息 
      服务器在执行inet1.execute 的同时也激活了Inet1_StateChang ed事件,进程可以根据捕获到的状态进行动作。 
      object_StateChanged(ByVal State As Integer) 
      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     在与主机通信的过程中发生了错误icResponseComp leted 
      12     请求结束且数据已经接收到 
      下面是一个例子。 
      Private Sub Inet1_StateChanged(ByVal State As Integer) 
      ' Retrieve server response using the GetChunk 
      ' method when State = 12. This example assumes the 
      ' data is text. 
      Select Case State 
      ' ... Other cases not shown. 
      Case icResponseReceived ' 12 
      Dim vtData As Variant ' Data variable. 
      Dim strData As String: strData = "" 
      Dim bDone As Boolean: bDone = False 
      ' Get first chunk. 
      vtData = Inet1.GetChunk(1024, icString) 
      Do While Not bDone 
      strData = Data & vtData 
      ' Get next chunk. 
      vtData = Inet1.GetChunk(1024, icString) 
      If Len(vtData) = 0 Then 
        bDone = True 
      End If 
      Loop 
      txtData.Text = strData 
      End Select 
      End Sub  
       
     
      
      

  3.   


    http://www.applevb.com/sourcecode/snet.htmwww.dapha.net
      

  4.   

    http://www.china-askpro.com/msg16/qa87.shtml