Tree-View aus einer Textdatei auslesen

  • Hallo,

    ich bräuchte Hilfe bei auslesen einer Textdatei. Die Textdatei ist zum ersten sehr groß (1.8MB) und zum anderen weis ich leider nicht genau wie ich das anstellen soll genau diese Struktur aus der Datei auszulesen.


    Einteil Auszug aus der Datei.

    Grün = Varbiable die beim anklicken in dem Tree-View zum passenden Text ausgelesen wird.
    Rot = Text in dem Tree-View

    Struktur:


    Techn. Platz DE02 Gültig ab 27.05.15
    Bezeichnung Test
    DE02 Test
    |
    |-- DE02-CCP Processing
    | |
    | |-- DE02-CCP-010 Processing allgemein
    | | |
    | | |-- DE02-CCP-010-010 ALLGEMEIN
    | | | |
    | | | |--- DE02-CCP-010-010-010 WAENDE, DECKEN, FUSSBOEDEN / CCP
    | | | |--- DE02-CCP-010-010-020 KALT- UND WARMWASSER-LEITUNGEN / FC
    | | | |--- DE02-CCP-010-010-030 SCHMUTZWASSER-LEITUNGEN / FC
    | | | |--- DE02-CCP-010-010-040 REGENWASSER-LEITUNGEN / FC
    | | | |--- DE02-CCP-010-010-050 DAMPF-LEITUNGEN / FC
    | | | |--- DE02-CCP-010-010-060 KONDENSAT-LEITUNGEN / FC
    | | | |-- DE02-CCP-010-010-070 PRESSLUFT-LEITUNGEN / FC
    | | | | |
    | | | | |-- 5269116 CPS Druckluft-Sterilfilter SMF 05/25,UF1 1 ST
    | | | | |
    | | | | |--- 79712744 ULTRAFILTERELEMENT SMF05/25 L 2 ST
    | | | |
    | | | |--- DE02-CCP-010-010-080 PRODUKTLEITUNGEN / FC
    | | | |--- DE02-CCP-010-010-090 CO2 LEITUNGEN / FC
    | | | |--- DE02-CCP-010-010-100 N2 LEITUNGEN / FC
    | | | |--- DE02-CCP-010-010-110 LEITERN / FC
    | | | |-- DE02-CCP-010-010-120 HOLAC-VIELZWECKSCHNEIDER
    | | | | |
    | | | | |--- 5269147 CPS HOLAC-VIELZWECKSCHNEIDER 1 ST
    | | | |
    | | | |--- DE02-CCP-010-010-130 Nauter Mischer T460
    | | | |--- DE02-CCP-010-010-140 Pufferbehalter T 461
    | | | |-- DE02-CCP-010-010-145 Sauger BQ690 WAP Alto Typ22

    Einmal editiert, zuletzt von TheDeath24 (29. Mai 2015 um 16:04)

  • Für mich sieht die Struktur deiner Textdatei aber eher nach einer TreeView aus... Listview ist eigentlich nur ne Tabelle. Bäume (Trees) sind eher selten für ListViews.
    Und ansonsten:
    FileReadLine()
    Dann kannst du ja die anzahl der | und --- zählen (stringinstr(),...) und dann passend splitten.
    Struktur ist ja immer: (| )[0,*](-)[0,*]( )[0,1](DE...)( )(Text)
    Sollte mit RegExp auch gut lösbar sein :)
    (Falls sich bis heut abend keiner gefunden hat, werd ichs mir genauer ansehen. Jetzt muss ich erstmal off.)

  • Habs fertiggeschrieben.

    Falls du möchtest kannst du das auswerten der TreeView ja noch verbessern (mit dem Klick). Hatte grad nicht mehr die Motivation das mit WM_Notifity,... umzusetzen.
    An deinem Beispiel funktioniert es. Ich hoffe, so war es gemeint.
    Mit freundlichen Grüßen, Kanashius :)

  • Ich habs umgeändert.
    Allgemein:
    1. Wenn du in Zukunft sowas postest, häng bitte direkt eine txt dran, so wie es sein soll. Mit den Daten, die du oben gepostet hattest funktionierte es Perfekt. (hatte die Daten Copy&Paste in eine Txt geschrieben).
    Es ist gerade beim Text-Parsen wichtig, alles exakt so anzugeben, wie es ist. Jedes Zeichen zählt da. Wenn da 1 Leerzeichen zu viel ist kann es schon Fehler geben. Teilweise auch durch unsichtbare Zeichen, wie Zeilenumbrüche.
    So musste ich doppelt arbeiten -.-
    2.Wenn du ein fertiges Script haben möchtest, und nicht eigenen Quellcode lieferst, wo du nur nicht weiterkommst, oder wenn du nicht nur eine Anregung/Idee brauchst, dann Poste bitte deine Anfrage in die Unterkategorie Programmieranfragen mit/ohne Gegenleistung.

    Hier das Script, wie es für die von dir gepostete Txt funktioniert:


    MfG Kanashius