GUI - GUICtrlRead nur zweite Zeile

  • Ist es möglich nur die zweite Zeile auszulesen?

    [autoit]

    #include <GUIConstantsEx.au3>
    GUICreate("TEST", 320, 300)
    GUISetState()
    Dim $hEditI = GUICtrlCreateEdit("", -1, -1, 320, 300)
    GUICtrlSetData($hEditI, "Zeile1" & @CRLF & "Zeile2" & @CRLF & "Zeile3" & @CRLF & "Zeile4" & @CRLF & "Zeile5" & @CRLF & "Zeile6")
    MsgBox(0,0, GUICtrlRead($hEditI))

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

    While 1
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von freakisch (17. Mai 2009 um 18:42)

    • Offizieller Beitrag

    ControlCommand mit "GetLine" sollte auch funktionieren.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    GUICreate("TEST", 320, 300)
    GUISetState()
    Dim $hEditI = GUICtrlCreateEdit("", -1, -1, 320, 300)
    GUICtrlSetData($hEditI, "Zeile1" & @CRLF & "Zeile2" & @CRLF & "Zeile3" & @CRLF & "Zeile4" & @CRLF & "Zeile5" & @CRLF & "Zeile6")
    MsgBox(0,0, ControlCommand('TEST', '', $hEditI, 'GetLine', 2))

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

    While 1
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]
  • Okay danke nur ich werde StringSplit() wohl verwenden müssen, dann kann ich mit Uboud die letzte Zeile ermitteln :D

    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <Array.au3>
    GUICreate("TEST", 320, 300)
    GUISetState()
    Dim $hEditI = GUICtrlCreateEdit("", -1, -1, 320, 300)
    GUICtrlSetData($hEditI, "Zeile1" & @CRLF & "Zeile2" & @CRLF & "Zeile3" & @CRLF & "Zeile4" & @CRLF & "Zeile5" & @CRLF & "Zeile6")

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

    _ArrayDisplay(StringSplit(GUICtrlRead($hEditI), @CRLF))

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

    While 1
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]

    Wieso funkt das nicht??

  • Also bei mir kommt da plözin raus:

    [autoit]

    #include <GUIConstantsEx.au3>
    GUICreate("TEST", 320, 300)
    GUISetState()
    Dim $hEditI = GUICtrlCreateEdit("", -1, -1, 320, 300)
    GUICtrlSetData($hEditI, "Zeile1" & @CRLF & "Zeile2" & @CRLF & "Zeile3" & @CRLF & "Zeile4" & @CRLF & "Zeile5" & @CRLF & "5+5")
    If GUICtrlRead($hEditI) <> "" Then
    Dim $hLine = ControlCommand("", "", $hEditI, "GetLineCount")
    Dim $iLine = ControlCommand("", "", $hEditI, "GetLine", $hLine)
    GUICtrlSetData($hEditI, GUICtrlRead($hEditI) & @CRLF & Execute(GUICtrlRead($iLine)))
    EndIf

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

    While 1
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]
    • Offizieller Beitrag

    Ohne das letzte GUICtrlRead:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    GUICreate("TEST", 320, 300)
    GUISetState()
    Dim $hEditI = GUICtrlCreateEdit("", -1, -1, 320, 300)
    GUICtrlSetData($hEditI, "Zeile1" & @CRLF & "Zeile2" & @CRLF & "Zeile3" & @CRLF & "Zeile4" & @CRLF & "Zeile5" & @CRLF & "5+5")
    If GUICtrlRead($hEditI) <> "" Then
    Dim $hLine = ControlCommand("", "", $hEditI, "GetLineCount")
    Dim $iLine = ControlCommand("", "", $hEditI, "GetLine", $hLine)
    GUICtrlSetData($hEditI, GUICtrlRead($hEditI) & @CRLF & Execute($iLine))
    EndIf

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

    While 1
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]