Problem mit Auslesen von Ordnern und Datein auf einen FTP

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 28 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.Text.RegularExpressions
    3. Public Class frmHttpFileList
    4. Private _Wc As New WebClient
    5. Private _rgxLink As New Regex("(@\w+)/"">\1")
    6. Private _loadedLinks As List(Of String)
    7. Private Sub btReLoad_Click(sender As Object, e As EventArgs) Handles btReLoad.Click
    8. _loadedLinks = LoadLinks("http://arma3dl2.85th-operations-command.de/")
    9. ListBox1.DataSource = _loadedLinks
    10. End Sub
    11. Private Function LoadLinks(url As String) As List(Of String)
    12. Dim s = _Wc.DownloadString(url)
    13. Dim lst = New List(Of String)
    14. For Each mt As Match In _rgxLink.Matches(s)
    15. lst.Add(mt.Groups(1).Value)
    16. Next
    17. Return lst
    18. End Function
    19. End Class
    Danke für die mühe aber ich schreibe in C#
    und wenn ich nen Code Converter benutze um das in C# Umzuwandeln bekomme ich folgenden fehler:

    Fehler 1 Der nicht aufrufbare Member "System.Text.RegularExpressions.Match.Groups" kann nicht wie eine Methode verwendet werden.

    C#-Quellcode

    1. private WebClient _Wc = new WebClient();
    2. private Regex _rgxLink = new Regex("(@\\w+)/\">\\1");
    3. private List<string> _loadedLinks;
    4. private void btReLoad_Click(object sender, EventArgs e)
    5. {
    6. _loadedLinks = LoadLinks("http://arma3dl2.85th-operations-command.de/");
    7. listBox1.DataSource = _loadedLinks;
    8. }
    9. private List<string> LoadLinks(string url)
    10. {
    11. dynamic s = _Wc.DownloadString(url);
    12. dynamic lst = new List<string>();
    13. foreach (Match mt in _rgxLink.Matches(s))
    14. {
    15. lst.Add(mt.Groups(1).Value);
    16. }
    17. return lst;
    18. }


    fehlerzeile 15
    kurzer Einschub - Entschuldigt:
    kann also ein Konverter nur schlecht zwischen Array und Funktionsaufruf unterscheiden?
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:

    Acr0most schrieb:

    kurzer Einschub - Entschuldigt:
    kann also ein Konverter nur schlecht zwischen Array und Funktionsaufruf unterscheiden?
    Nein, kanner nicht.
    Ein vb.net->c# - Konverter ist nur ein sehr kluger Text-Ersetzer, es ist kein Compiler.

    Und in vb kann man prinzipiell einen Funktions-Aufruf nicht vom Abruf eines Array-Elementes unterscheiden, weil vb nur runde Klammern.

    VB.NET-Quellcode

    1. Dim x = foo(3) ' ist foo eine Methode, ein Array, oder gar eine indizierte Property?
    2. Dim y = foo2(3) '

    C#-Quellcode

    1. var x = foo(3) // Methoden-Aufruf
    2. var y = foo2[3] // Array oder (sonstiger) Indexer

    Nun ja... Ein cleverer VB.NET -> C#-Konverter ersetzt nicht den Text... Er kompiliert den VB-Code und wandelt den P-Code wieder zurück nach C#, wodurch auch Array-Zugriffe sauber erkannt und umgewandelt werden.
    Mag sein - ich kenne keine solchen.
    Ich kenne nur so Online-SnippetConverter, wo man ein paar zeilen Code reinpastet, und zurück bekommt, wie das wohl so ungefähr in c# aussähe.

    Was du berschreibst ist ja ein Compiler+Decompiler, und der könnte so Snippets garnet verarbeiten, sondern nur vollständige, lauffähige Projekte.