高分求:如何获得远程ftp服务器上某一指定文件夹下面的所有的文件(一级就可以了!)谢谢,在线等!

解决方案 »

  1.   

    照着这个写应该没有问题的
    在窗体添加inet控件,一个command控件
    Dim FtpUrl As String
    Dim Username As String
    Dim PassWord As StringPrivate Sub Command1_Click()
      GetFileList (Trim("你要找的远程主机的目录"))
    End SubPrivate Sub Form_Load()
      FtpUrl = "ftp服务器地址"
      Username = "用户名"
      PassWord = "密码"
      init
    end sub
    Private Function init()
    On Error GoTo eh
     '------------------------------------------------------------------
     '初始化Inet
        With Form1.Inet1
            Form1.List1.AddItem (CStr(Now) + " init inet")
            .URL = "ftp://" + Trim(FtpUrl)
            .Username = Trim(Username)
            .PassWord = Trim(PassWord)
            .Execute , "dir"
            
            'Inet的StillExecuting表示是否成功,否则一直等待
            While .StillExecuting
            DoEvents
            Wend
            
            '向list中写入状态信息
            Form1.List1.AddItem CStr(Now) + " Inet init successfully!"
            Form1.Refresh
        End With 
    Exit Function
    eh:
    MsgBox "error", vbOKOnly, Me.Caption
    End Function
     Private Sub GetFileList(ByVal sDIR As String)Dim tstrsMe.List1.AddItem CStr(Now) + "显示文件名称"
    Me.List1.AddItem "*****************开始********************"
    Me.Refresh
    With Form1.Inet1    While .StillExecuting = True
            DoEvents
        Wend
        'inet控件的方法 查找远程主机的文件目录
        .Execute , "dir " + sDIR + ""
        
        While .StillExecuting = True
            DoEvents
        Wend
        
        'Inet控件的GetChunk方法得到目录路径数据
        Tstr = .GetChunk(0)
        
        tstrs = Split(Tstr, vbCrLf)
        
        For i = 0 To UBound(tstrs)
        
            If Trim(tstrs(i)) <> "./" And Trim(tstrs(i)) <> "../" And Trim(tstrs(i)) <> "" Then
            
            Me.List1.AddItem tstrs(i)
            Me.Refresh
            End If
        Next
        Me.List1.AddItem "*****************结束********************"
        Me.Refresh
    End WithEnd Sub