This event fires as result of GetFiles,
DeleteFiles,
PutFiles
and LoopFiles
methods. It provides information about each item in the
sequence (meaning file or folder) before actual operation
on that item is executed - allowing you to optionally
Skip the operation for this
particular item.
Since both LocalFile and RemoteFile arguments can be
changed, you can also cause operation to be performed on
completely different files than it would be in original
operation.
For example, you can use LoopItem event like this:
Private Sub Ftp1_LoopItem(LocalFile As String, RemoteFile
As String,
ByVal ItemType As wodFtpDLXComLib.DirItemTypes, Skip
As Boolean)
If ItemType
= typeDirectory Then
Skip =
False
Else
If Right$(RemoteFile, 4) = ".txt" Then
Skip
= False
Else
Skip
= True
End If
End
If
End Sub
which means that only files ending with ".txt"
are copied - others are skipped (but directories are
created, just in case).
You can also use it like this: we will copy all
".txt" files to the same directory, no matter
where they originate from:
Private Sub Ftp1_LoopItem(LocalFile As String, RemoteFile
As String,
ByVal ItemType As wodFtpDLXComLib.DirItemTypes, Skip
As Boolean)
If
Right$(RemoteFile, 4) = ".txt" Then
LocalFile =
"c:\mytxtfiles\file"
& Counter & ".txt"
Counter =
Counter + 1
Skip =
False
Else
Skip =
True
End
If
End Sub
above sample will not create directory structure at all
- but still would copy all .txt files to differently named
files on local disk.
NOTE: in some environments Skip argument cannot send value
back to wodFtpDLX, such as in Delphi and BCB. For this purpose we
have added also
ItemSkip property that can be set to value True,
producing same result as if Skip argument would be set to
True.