StringSplit schwierigkeit

  • [autoit]

    #include <String.au3>
    #include<Array.au3>
    #include<file.au3>
    Local $datei, $line
    Global $sFileName
    Global $hFFFF = FileFindFirstFile(@TempDir & "\*.html") ; Finde alle html-Dateien im Temp-Dir
    $Radio = "test-radio"
    $handle = "Edit1"
    $text1= ("Pauli")
    $text2= ("andiii")
    Do
    $sFileName = FileFindNextFile ($hFFFF) ; hole nächsten gefundenen Dateinamen
    If @error Then ExitLoop

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

    If StringRegExp($sFileName, "^Flatcast-\d+-\w+\.html$") Then
    $datei = FileOpen (@TempDir & "\"& $sFileName)
    EndIf
    Until 0

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

    while 1

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

    Sleep(1000)
    $line= FileReadline($datei)
    $split = StringSplit($line,'</a>:&nbsp;&nbsp;',1)
    _ArrayDisplay($split)
    ;bis _ArrayDisplay läuft alles problemlos! Er Sucht die Datei, öffnet diese und zeigt mir die spalten im _ArrayDisplay untereinandern an.
    ;wie kann ich jetzt aus der oberen Zeile den Text auslesen? (.html-Datei als txt im Anhang)

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

    ;ich habe es so verucht, klappt aber natürlich nicht :(
    $gesting = FileReadline($split,2)

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

    If StringInStr ( $gesting, $text1,0, 1) Then
    ConsoleWrite ("pauli-zeile")
    Sleep(100)
    Send ("{ENTER}")
    EndIf
    If StringInStr ( $gesting, $text2,0, 1) Then
    ConsoleWrite ("andiii-zeile")
    Sleep(100)
    Send ("{ENTER}")
    WEnd

    [/autoit]


    Wäre echt genial, wenn jemand einen vorschlag oder eine Lösung hätte
    Danke schonmal

  • Spoiler anzeigen
    [autoit]

    #include <String.au3>
    #include<Array.au3>
    #include<file.au3>
    Local $datei, $line
    Global $sFileName
    Global $hFFFF = FileFindFirstFile(@TempDir & "\*.html") ; Finde alle html-Dateien im Temp-Dir
    $Radio = "test-radio"
    $handle = "Edit1"
    $text1= ("Pauli")
    $text2= ("andiii")

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

    $sFileName = FileFindNextFile ($hFFFF) ; hole nächsten gefundenen Dateinamen
    If @error Then Exit

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

    If StringRegExp($sFileName, "^Flatcast-\d+-\w+\.html$") Then
    $datei = FileOpen (@TempDir & "\"& $sFileName)
    EndIf

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

    while 1
    Sleep(1000)
    $line= FileReadline($datei)
    $split = StringSplit($line,'</a>:&nbsp;&nbsp;',1)
    _ArrayDisplay($split)
    ;bis _ArrayDisplay läuft alles problemlos! Er Sucht die Datei, öffnet diese und zeigt mir die spalten im _ArrayDisplay untereinandern an.
    ;wie kann ich jetzt aus der oberen Zeile den Text auslesen? (.html-Datei als txt im Anhang)

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

    ;ich habe es so verucht, klappt aber natürlich nicht :(
    $gesting = $split[1] ;Er liest aus dem ersten Array (abgesehen der Anzahl der Arrays[0]) also $Array[1]

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

    If StringInStr ( $gesting, $text1,0, 1) Then
    ConsoleWrite ("pauli-zeile")
    Sleep(100)
    Send ("{ENTER}")
    EndIf
    If StringInStr ( $gesting, $text2,0, 1) Then
    ConsoleWrite ("andiii-zeile")
    Sleep(100)
    Send ("{ENTER}")
    EndIf
    WEnd

    [/autoit]
  • hast du den anhang irgendwie bearbeitet? bei mir geht das nicht
    habe mich jetzt soweit vorgerungen nur geht immer noch nicht...

    Spoiler anzeigen
    [autoit]

    #include <String.au3>
    #include<Array.au3>
    #include<file.au3>
    Local $datei, $line
    Global $sFileName
    Global $hFFFF = FileFindFirstFile(@TempDir & "\*.html")
    $Radio = "testi"
    $handle = "Edit1"
    $text1= ("Pauli")
    $text2= ("andiii")
    Do
    $sFileName = FileFindNextFile ($hFFFF)
    If @error Then ExitLoop

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

    If StringRegExp($sFileName, "^flatcast-\d+-\w+\.html$") Then
    $datei = FileOpen (@TempDir & "\"& $sFileName)
    EndIf
    Until 0
    ;sucht mir die datei und ofnet sie, alles problemlos!
    while 1

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

    Sleep(1000)
    $line= FileReadline($datei)
    $split = StringSplit($line,'</a>:&nbsp;&nbsp;',1)
    ;_ArrayDisplay($split) Zeigt mir den chatverlauf an
    ;MsgBox(0,"Chat", $split[2]) ;gib mir die zeile wieder, warum aber nicht meine antwort in der Console?

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

    $gesting = ($split[2])
    ;;;;;neu eingearbeitet;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    If StringInStr ( $gesting, $text1,0, 1) Then
    ConsoleWrite ("paulizeile")
    Sleep(100)
    Send ("{ENTER}")
    EndIf

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

    If StringInStr ( $gesting, $text2,0, 1) Then
    ConsoleWrite ("andiiizeile")
    Sleep(100)
    Send ("{ENTER}")
    EndIf
    WEnd

    [/autoit]

    4 Mal editiert, zuletzt von AsiX-5 (19. April 2011 um 22:18)

  • keiner eine Idee? wenn ich die MSGbox aktiviere (Zeile 26, dann zeigt er
    mir die, bringt danach aber ein Error. und ohne macht er nur den
    Enter-klick, was ist an $split[2] falsch?
    (Die [2], weil ich, wenn _ArrayDisplay (Zeile25) an ist die 2te Zeile möchte, also die erst geschriebene)