FTP Explorer mit ListView oder TreeView

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von passive.

    FTP Explorer mit ListView oder TreeView

    Hallo,
    Ich möchte ein FTP Explorer in ein Program einbauen aber habe leider Keine Ahnung wie.
    Ich habe etwas im Inet gefunden aber es funktioniert leider nicht.
    Hier:

    Quellcode

    1. Imports System.Net
    2. Imports System.IO
    3. Public Class MainForm
    4. Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    5. txtServer.Select()
    6. End Sub
    7. Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
    8. tvServer.Nodes.Item(0).Collapse()
    9. LoadFTPRemote(txtServer.Text, tvServer)
    10. End Sub
    11. Public Sub LoadFTPRemote(ByVal dirpath As String, eTree As TreeView)
    12. eTree.Nodes.Item(0).Nodes.Clear()
    13. eTree.BeginUpdate()
    14. Dim request As FtpWebRequest = DirectCast(WebRequest.Create(dirpath), FtpWebRequest)
    15. request.Method = WebRequestMethods.Ftp.ListDirectory
    16. request.Credentials = New NetworkCredential(txtUsername.Text, txtPassword.Text)
    17. Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
    18. Dim responseStream As Stream = response.GetResponseStream()
    19. Dim reader As New StreamReader(responseStream)
    20. Do While reader.Peek() >= 0
    21. Dim nD As TreeNode = New TreeNode(reader.ReadLine())
    22. eTree.Nodes.Item(0).Nodes.Add(nD)
    23. Loop
    24. reader.Close()
    25. response.Close()
    26. eTree.Nodes.Item(0).Expand()
    27. eTree.EndUpdate()
    28. End Sub
    29. Private Sub tvServer_AfterExpand(sender As Object, e As TreeViewEventArgs) Handles tvServer.AfterExpand
    30. tvServer.BeginUpdate()
    31. Dim Node As TreeNode = e.Node
    32. For Each CNode As TreeNode In Node.Nodes
    33. Dim PathBuilder As String = txtServer.Text & ProperRemoteLink(CNode.FullPath)
    34. If Not Path.HasExtension(PathBuilder) Then
    35. CNode.Nodes.Clear()
    36. Dim request As FtpWebRequest = DirectCast(WebRequest.Create(PathBuilder), FtpWebRequest)
    37. request.Method = WebRequestMethods.Ftp.ListDirectory
    38. request.Credentials = New NetworkCredential(txtUsername.Text, txtPassword.Text)
    39. Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse)
    40. Dim responseStream As Stream = response.GetResponseStream()
    41. Dim reader As New StreamReader(responseStream)
    42. Dim strList As New List(Of String)
    43. Do While reader.Peek() >= 0
    44. Dim xNod As TreeNode = New TreeNode(IO.Path.GetFileName(reader.ReadLine()))
    45. CNode.Nodes.Add(xNod)
    46. Loop
    47. reader.Close()
    48. response.Close()
    49. End If
    50. Next
    51. tvServer.EndUpdate()
    52. End Sub
    53. Public Function ProperRemoteLink(ByVal input As String) As String
    54. Dim output As String = input
    55. If input.StartsWith("FTP Server") Then output = input.ToString.Remove(0, 10)
    56. Return output
    57. End Function
    58. Private Sub tvServer_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles tvServer.AfterSelect
    59. lblStatus.Text = txtServer.Text & ProperRemoteLink(e.Node.FullPath)
    60. End Sub
    61. End Class

    passive schrieb:

    Ich möchte ein FTP Explorer in ein Program einbauen aber habe leider Keine Ahnung wie.
    Ich tät sagen: Vergisses.
    Das ist für einen Einsteiger ein viel zu anspruchsvolles Projekt.
    Auch mit Unterstützung des Forums - man müsste dir dabei so viel helfen und erklären, dass mans viel einfacher selbst schriebe und dir fertig gäbe.