' Refresh Remote Dir
' ------------------
Sub RefreshRemoteDir
DefInt iCount, subDirCount, fileCount, dirSize
DefStr sFile
subDirCount = 0
fileCount = 0
dirSize = 0
DefInt col0Width
col0Width = lvwRemoteHost.Column(0).Width
' Save new directory
gridServer.Cell(1,3) = Ftp.GetDir
remotePath = gridServer.Cell(1,3)
' Write new directory in column (0) caption (column header)
lvwRemoteHost.Column(0).Caption = "REMOTE " & remotePath
lvwRemoteHost.Clear ' very slow
iCount = 0
' Add the ".." directory if not root
If Len(remotePath) > 3 then
lvwRemoteHost.AddItems ("..")
lvwRemoteHost.item(iCount).ImageIndex = 1
Inc iCount
End If
' List directories
sFile = Ftp.FindFirstFile (Ftp.GetDir)
While sFile <> ""
If Instr (Ftp.fileAttributesAsString, "D") Then
Inc subDirCount
lvwRemoteHost.AddItems (Ftp.fileName)
lvwRemoteHost.item(iCount).ImageIndex = 1 ' Icone Directory
lvwRemoteHost.AddSubItem (iCount, formatFileSize(Ftp.fileSize))
lvwRemoteHost.AddSubItem (iCount, Ftp.fileDateEU)
lvwRemoteHost.AddSubItem (iCount, Ftp.fileTime)
lvwRemoteHost.AddSubItem (iCount, Ftp.fileAttributesAsString)
Inc iCount
End If
sFile = Ftp.FindNextFile
Wend
' list Files
sFile = Ftp.FindFirstFile (Ftp.GetDir)
While sFile <> ""
If Instr (Ftp.fileAttributesAsString, "D") = 0 Then
Inc fileCount
dirSize = dirSize + Ftp.FileSize
lvwRemoteHost.AddItems (Ftp.fileName)
lvwRemoteHost.item(iCount).ImageIndex = 0 ' Icone file
lvwRemoteHost.AddSubItem (iCount, formatFileSize(Ftp.fileSize))
lvwRemoteHost.AddSubItem (iCount, Ftp.fileDateEU)
lvwRemoteHost.AddSubItem (iCount, Ftp.fileTime)
lvwRemoteHost.AddSubItem (iCount, Ftp.fileAttributesAsString)
Inc iCount
End If
sFile = Ftp.FindNextFile
Wend
lvwRemoteHost.Column(0).Width = col0Width
AddText("End of Directory " & remotePath & _
"\n Contains " & Str$(subDirCount) & " Sub Directories" & _
"\n Contains " & Str$(fileCount) & " Files" & _
"\n For a Total of " & StrF$(dirSize, ffNumber, 18, 0) & "
Bytes")
End Sub