gesamtes Edit in Array einlesen.

  • hey Leute ich hab folgendes Problem.
    Ich will von meiner GUI (Editbox) einen Text mittels Guictrlread einlesen und zwar in folgendem Format:

    $Array[ZEILE][WORT]

    als Split dient natürlich @crlf und " ".

    Ich bekomms allersings überhaupt nicht hin. hab jemand eine idee?


    mfg Timo

  • Hi,

    suchst du etwas in dieser Richtung?

    Spoiler anzeigen
    [autoit]


    #include <GuiEdit.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $hGui = GUICreate("Gui", 365, 237, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_close")
    $cEdit = GUICtrlCreateEdit("", 16, 16, 201, 209)
    $cButton = GUICtrlCreateButton("Text to Array", 232, 80, 121, 65)
    GUICtrlSetOnEvent(-1, "_textToArray")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(10)
    WEnd

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

    Func _textToArray()
    If GUICtrlRead($cEdit) = "" Then Return
    Local $hWnd = GUICtrlGetHandle($cEdit), $iLines = _GUICtrlEdit_GetLineCount($hWnd), $aWords[$iLines][1], $aSplit
    For $i = 0 To $iLines - 1
    $aSplit = StringSplit(_GUICtrlEdit_GetLine($hWnd, $i), " ", 1)
    If Not IsArray($aSplit) Then ContinueLoop
    If $aSplit[0] > UBound($aWords, 2) Then ReDim $aWords[$iLines][$aSplit[0]]
    For $a = 0 To $aSplit[0] - 1
    $aWords[$i][$a] = $aSplit[$a + 1]
    Next
    Next
    _ArrayDisplay($aWords)
    EndFunc ;==>_textToArray

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

    Func _close()
    Exit
    EndFunc ;==>_close

    [/autoit]

    Gruß stay

    3 Mal editiert, zuletzt von stayawayknight (26. März 2012 um 18:25)