Option Explicit
Dim k, d, f As Integer
Dim Drive(0 To 100) As String
Dim file(0 To 200) As String
Dim dir(0 To 150) As String
Dim datiricevuti As String
Private Sub Combo1_Click()
On Error GoTo Error
Drive1.Drive = Combo1.List(Combo1.ListIndex)
Error:
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
Call Aggiorna
End Sub
Private Sub Drive1_Change()
On Error GoTo error_handler
Dir1.Path = Drive1.Drive
error_handler:
End Sub
Private Sub Aggiorna()
List1.Clear
List2.Clear
For k = 0 To (Drive1.ListCount - 1)
Drive(k) = Drive1.List(k)
Combo1.List(k) = Drive(k)
Next k
List1.AddItem ("..")
For d = 0 To (Dir1.ListCount - 1)
dir(d) = Dir1.List(d)
List1.List(d + 1) = dir(d)
Next d
For f = 0 To (File1.ListCount - 1)
file(f) = File1.List(f)
List2.List(f) = file(f)
Next f
resend
End Sub
Private Sub connetti()
If Not wsk.State = sckConnected Then
wsk2.Close
wsk.LocalPort = 21
wsk.Listen
End If
If Not wsk2.State = sckConnected Then
wsk2.Close
wsk2.RemotePort = 22
wsk2.RemoteHost = "127.0.0.1"
wsk2.Connect
End If
End Sub
Private Sub Form_Load()
Aggiorna
connetti
End Sub
Private Sub List1_dblClick()
On Error GoTo Error
Dir1.Path = List1.List(List1.ListIndex)
Error:
End Sub
Private Sub wsk2_Connect()
Aggiorna
End Sub
Private Sub wsk_ConnectionRequest(ByVal requestID As Long)
If wsk.State <> sckClosed Then wsk.Close
wsk.Accept requestID
connetti
End Sub
Public Sub resend()
On Error GoTo Error
wsk2.SendData "start"
DoEvents
For k = 0 To List2.ListCount - 1
wsk2.SendData "file:" & List2.List(k)
DoEvents
Next k
For k = 0 To Combo1.ListCount - 1
wsk2.SendData "drive:" & Combo1.List(k)
DoEvents
Next k
For k = 0 To List1.ListCount - 1
wsk2.SendData "dir:" & List1.List(k)
DoEvents
Next k
Error:
End Sub
Private Sub wsk_DataArrival(ByVal bytesTotal As Long)
wsk.GetData datiricevuti
If Mid(datiricevuti, 1, 6) = "drive:" Then
Combo1.ListIndex = Mid(datiricevuti, 7, Len(datiricevuti) - 6)
ElseIf Mid(datiricevuti, 1, 4) = "dir:" Then
List1.ListIndex = Mid(datiricevuti, 5, Len(datiricevuti) - 4)
List1_dblClick
End If
End Sub