Bestimmte Zeile aus einer Edit Box auslesen?

  • Abend, kann ich eine bestimmte Zeile aus einer Edit Box auslesen? Wenn ja, mit welchem Befehl?

    Und öhm es ist doch möglich eine unsichtbare Edit Box zu erstellen und das dort etwas gespeichert wird oder?

  • Edit verstecken:

    [autoit]

    $s_Edit = GUICtrlCreateEdit ("", 10, 10, 280, 280)
    GUICtrlSetState ($s_Edit, $GUI_HIDE)

    [/autoit]

    Bestimmte Zeile auslesen:

    [autoit]

    $a_Line = StringSplit (GUICtrlRead ($s_Edit), @CR, 1) ; eventuell auch @LF oder @CRLF - antesten!
    ConsoleWrite ($a_Line[5]) ; gibt die fünfte Zeile des Edits aus.

    [/autoit]
  • nur der Vollstädigkeit halber, es gibt in der GuiEdit-UDF auch die Funktion

    [autoit]

    _GUICtrlEdit_GetLine

    [/autoit]

    . Hier das abgewandelte Hilfebeispiel dazu:

    Spoiler anzeigen
    [autoit]

    #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <GuiEdit.au3>
    #include <GuiConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_Ed = False ; Check ClassName being passed to Edit functions, set to True and use a handle to another control to see it work

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

    _Main()

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

    Func _Main()
    Local $hEdit
    Local $sFile = "Zeile 1" &@crlf &"Zeile 2" &@crlf &"Zeile 3" &@crlf &"Zeile 4" &@crlf &"Zeile 5" &@crlf &"Zeile 6" &@crlf &"Zeile 7" &@crlf &"Zeile 8"
    ; Create GUI
    GUICreate("Edit Get Line", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268)
    GUISetState()

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

    _GUICtrlEdit_SetText($hEdit, $sFile)

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

    ; Loop until user exits
    Do
    Local $i = Random(0, 7, 1)
    MsgBox(4160, "Zeile "& $i+1&":", _GUICtrlEdit_GetLine($hEdit, $i))
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    mfg autoBert