Textdatei auslesen und als Array speichern

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Textdatei auslesen und als Array speichern

    Hallo @ all,

    ich bin neu hier und auch auf dem Gebiet der Programmierung....
    Ich soll für meine Diplomarbeit ein kleines Programm schreiben dass Textdatei liest, in ein Array umformt, eine Typenumwandlung von String zu Double vollzieht und dann in einer Array schleife noch etwas berechnet. Ich habe mich auch schon in die sprache rein gearbeitet. Leider bleib ich jetzt immer wieder hängen und komme nicht weiter.... 8|

    Die Textdatei ist durch einen Tabstop getrennt und nicht durch ein semikolon...

    bisher habe ich folgendes probiert...und ich hoffe ihr fallt nicht gleich vom Stuhl vor lachen :D , aber ich hab es versucht!!

    Quellcode

    1. Sub Main()
    2. ' datei öffnen
    3. Dim fileReader As String
    4. fileReader = CStr(My.Computer.FileSystem.ReadAllText("D:\DA\Ereignisse.txt"))
    5. 'einlesen der werte
    6. While Not EOF(1)
    7. Try
    8. Catch
    9. 'umformen der variablen von string zu double
    10. Dim zahl As String
    11. Dim result As Double
    12. Dim returnResult As Boolean
    13. returnResult = Double.TryParse(CStr(zahl), result)
    14. Dim Value As Array
    15. Dim rest As Double
    16. Dim ArrayIsDynamic As Boolean
    17. Dim StringIsFixedLength As Boolean
    18. FileSystem.FileGet(CInt(zahl), Value, CLng(CDbl(rest)), ArrayIsDynamic, StringIsFixedLength)
    19. End Try
    20. End While
    21. End Sub


    textdatei einlesen klappt schon ganz gut, nur hab ich keine ahnung wie ich die tabstops einbauen soll...und ob das überhaupt sinn macht was ich da gebastelt hab?!?....
    Eine kleine Hilfestellung zu Schleifen in Array´s wäre auch toll...
    Ich weiß viele Wünsche auf einmal...aber ich wäre euch sehr dankbar wenn ihr mir helfen könntet?!

    lg
    Probier mal dies:

    VB.NET-Quellcode

    1. Dim fileReader() As String = System.IO.File.ReadAllLines("D:\DA\Ereignisse.txt")
    Da hast Du jede Zeile Deiner Datei in einer Zeile des Feldes fileReader
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke :)

    weist du zufälligerweise auch ob ich erst die daten in das array einlesen muss und dann die typenumwandlung erfolgt oder andersrum?!

    Try
    Catch
    'umformen der variablen von string zu double
    Dim zahl As String
    Dim result As Double
    Dim returnResult As Boolean

    returnResult = Double.TryParse(zahl, result)

    VB.NET-Quellcode

    1. Dim fileReader() As String = System.IO.File.ReadAllLines("D:\DA\Ereignisse.txt")
    2. For Each line As String in fileReader
    3. ' hier etwas mit jeder einzelnen Zeile tun, z.B. nach Double konvertieren.
    4. Next
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich denke ich bin jetzt schon ein stückchen weiter, nur leider fehlt mir ein Gedankensprung wie ich zahlen nach dem umwandeln in das Array bekomme....
    wenn ich so mache

    VB.NET-Quellcode

    1. 'in array list kopieren
    2. arrayList.Insert(CInt(zahl))
    3. Next line
    4. End


    kommt folgender Fehler?!?! ?(

    Fehler 1 Für den Parameter "value" von "Public Overridable Sub Insert(index As Integer, value As Object)" wurde kein Argument angegeben.
    Probiers mal so:

    VB.NET-Quellcode

    1. Dim fileReader() As String = System.IO.File.ReadAllLines("D:\DA\Ereignisse.txt")
    2. Dim arrayList As New List(Of Integer)
    3. For Each line As String in fileReader
    4. arrayList.Add(CInt(line))
    5. Next
    sofern Dir diese anfällige Konvertierung genügt (-> Integer.Parse(), Integer.TryParse()).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!