auslesen und ausgeben einer txt

  • Guten Morgen,

    ich habe folgendes Programm geschrieben und möchte, dass mir die Elemente aus der txt Datei folgendermaßen ausgegeben werden:

    Code
    test1; test2
    test3; test4

    ...

    Die txt Datei sieht folgendermaßen aus:

    Code
    test1;test2
    test3;test4

    ...

    Leider funktioniert bei mit der Stringsplit nicht bei diesem Programm. Dazu werden die einzelnen Zeilen der txt Datei immer einzeln in der MsgBox ausgegeben.

    Ich will diese allerdings alle untereinander haben. kann mir da vielleicht jemand behilflich sein?

    Einmal editiert, zuletzt von AspirinJunkie (28. November 2022 um 08:13) aus folgendem Grund: Codebereiche formatiert

  • 1. Deine Jetzige Funktion kann so nicht klappen, da 1. du immer nur die Erste Zeile ausließt (keine Zeilenangabe in Filereadline und kein durchlaufen der einzelnen Zeilen).

    Les dir dazu mal die Hilfe zu FileReadLine() durch.

    2. Du zeigst dir auch eben immer nur diese Zeile in der MsgBox an, deine Zeile Local $array = StringSplit($line, ";") ist bedeutungslos, da du $array nie benutzt.

    Les dir dazu mal die Hilfe zu Stringsplit() durch.

    Tipp: Les die Datei mit _Filereadtoarray() ein und je nachdem ob du dann verarbeite den Inhalt in einer Schleife bzw. kannst du sie dann per _ArrayDisplay() anzeigen lassen.

    Les dir dazu mal die Hilfe zu _Filereadtoarray() und _ArrayDisplay() durch.

  • In diesem Fall musst du nicht zeilenweise durchgehen oder soetwas.
    Im Grunde musst du nur alle ; durch ersetzen.

    Das geht z.B. so:

  • Hey,

    wie kann ich die Datei in einer GUI anzeigen lassen?

    Muss ich dafür ein label benutzen und gibt es einen ähnlichen Befehl wie ArrayDisplay?

    Vielen Dank :)

  • wie kann ich die Datei in einer GUI anzeigen lassen?

    Muss ich dafür ein Label benutzen und gibt es einen ähnlichen Befehl wie ArrayDisplay?

    Du könntest z.B. GUICtrlCreateEdit verwenden.

    Hier ein Beispiel (mit erhöhter Menge an Zeichen) :

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Local $file =FileOpen("test.txt")

    Local $line = FileReadLine($file)

    Local $idAusgabeNamen = GUICtrlCreateLabel($line & CRLF, 25, 130, 250, 25)

    GuiSetState(@SW_SHOW)

    Send("{END}")

    Habe jetzt mal die GUI erstellt und folgendes Programm. Kann ich keine Parameter beim FileReadLine verstellen, sodass alle Zeilen meiner txt Datei angezeigt werden?

    Sorry, hänge gerade bissle aufm Schlauch...

  • Hey AUTOIT321,

    was genau willst du mit den Daten denn machen? Nur anzeigen? Wieviel Text wird angezeigt? Das einfachste zum "nur gucken" ist die Messagebox, die ich genau dazu auch zum debuggen verwende (in Scite den Cursor auf die Variable stellen und dann die Tasten CTRL-SHIFT-D drücken)

  • Tut mir Leid @AUTOIT321 aber du solltest dringend mal die Hilfe anschauen :rtfm:

    Du erzeugst ein Label, weißt ihm aber keinen Wert zu...

    Außerdem ließt du mit FileReadLine() weiterhin nur die erste Zeile aus, sofern du im 2. Parameter nicht die Zeilen durch gehst.

    Ich habe dich darauf bereits in Post #2 hingewiesen und für alles andere hast du hier auch bereits (andere) Lösungsansätze erhalten.

    Das Ganze funktioniert jedoch nicht, wenn du nicht das kleine 1*1 beherrschst bzw. dir nciht die Hilfe anschaust.