Listbox mit mehreren Spalten befüllen?

  • Hallo
    Ich brauche mal wieder eure Hilfe.
    Habe folgende Situation:
    Ich habe eine Textdatei in der z.B. folgendes steht.Hier steht nur eine Zeile. Es sind etliche Zeilen in der Datei aber mit immer unterschiedlichen Orten usw.

    Code
    Tel.:08152/12882-11 Maschnr.:14 Typ:Borhmaschine Kunde:Müller GmbH Strasse:Bonner Straße 257 Plz.:23232 Ort:Köln Land:DE


    Habe mir jetzt folgendes Script gebastelt:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    Global $suchtext
    Global $gesamttext

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $gesamttext = ""
    If Not IsDeclared("sInputBoxAnswer") Then Local $suchtext
    $suchtext = InputBox("Kundensuche","Wonach soll gesucht werden?",""," ","-1","-1","-1","-1")
    Select
    Case @Error = 0 ;OK - The string returned is valid
    suchen()
    Case @Error = 1 ;The Cancel button was pushed
    Exit
    Case @Error = 3 ;The InputBox failed to open
    MsgBox(0,"Kundensuche", "Fehler beim eingeben des Suchtextes aufgetreten")
    Exit

    EndSelect

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    func suchen()
    $file = FileOpen(@ScriptDir & "\Maschinennummern mit Adresse und Telefon.txt", 0)

    [/autoit] [autoit][/autoit] [autoit]

    If $file = -1 Then
    MsgBox(0, "Fehler beim öffnen der Datei:", @ScriptDir & "\Maschinennummern mit Adresse und Telefon.txt")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    if StringInStr($line,$suchtext) >= 1 Then
    $gesamttext = $gesamttext & $line & chr(10)
    EndIf
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    if $gesamttext <> "" Then
    MsgBox(262144,"Gefunden",$gesamttext)
    Else
    MsgBox(0,"Nichts gefunden mit folgendem Text",$suchtext)
    EndIf

    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    Mit diesem Script kann ich z.B. alle Zeilen in der Messagebox ausgeben indem sich der Begriff befindet den ich suche.
    Da wird aber alles unübersichtlich in einer Textbox untereinandergeschrieben.

    Jetzt möchte ich das in eine Listbox satt in einer Messagebox ausgeben.

    Habe mir folgendes Script geschrieben mit einer Gui und passender Listbox.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    $form_ergebnis = GUICreate("Kundensuche Ergebnis", 1005, 171, 5, 500, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
    GUISetOnEvent($GUI_EVENT_CLOSE, "form_ergebnisClose")
    $gefundenliste = GUICtrlCreateListView("Telefon|MaschNr.|Typ|Kunde|Strasse|Plz|Ort|Land", 8, 8, 985, 153)

    [/autoit] [autoit][/autoit] [autoit]

    $gefundenliste_0 = GUICtrlCreateListViewItem("1-Telefon|1-Maschinennummer|1-Typ|e-Kunde|1-strasse|1-plz|1-ort|1-land", $gefundenliste)
    $gefundenliste_1 = GUICtrlCreateListViewItem("2-telefon|2-maschinennummer|2-Typ|e-Kunde|2-strasse|2-plz|2-ort|2-land", $gefundenliste)
    GUICtrlSetOnEvent(-1, "gefundenlisteClick")
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(100)
    WEnd

    Func form_ergebnisClose()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]


    Func gefundenlisteClick()

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]


    Wie bekomme ich jetzt die Listbox mit meinen gefundenen Zeilen aus dem ersten Script in meine Listbox.
    Ich könnte ja

    [autoit]

    $gefundenliste_0 = GUICtrlCreateListViewItem($var1 & "|" & $var2 &"|" & ...usw. , $gefundenliste)

    [/autoit]


    programmieren. Dann für die nächste gefundene Zeile mit $gefundenliste_1 usw. weitermachen.
    Das ist aber sehr Müheselig und mit Sicherheit nicht elegant. Wie ich Autoit kenne geht das mit Sicherheit besser.
    Da ich auch nicht vorhersagen kann wieviele Zeilen mit dem gewünschten Text gefunden werden, weiss ich bei meiner Müheseligen Variante auch nicht wieviele $gefundenliste_... ich programmieren soll.

    Bin wie immer um Hilfen sehr dankbar.

    Gruß Autoirrer 8o