pytrelooc
Goto Top

Autoit - EditBox Zeile für Zeile auslesen und in Array speichern

Hallo zusammen,

Mit AutoIt kann man ja bei einer EditBox die selektierte Zeile mit "GUICtrlRead" auslesen.
Ich würde jedoch gerne alle Zeilen einer Editbox auslesen, eine nach der anderen und in ein Array speichern und zwar automatisiert und nicht in dem ich jede Zeile einzeln anklicke.
Leider hab ich keinen Ansatz wie das funktionieren könnte.
Vielleicht könnt ihr mir ja helfen face-smile.

Grüße Pytrelooc

Content-ID: 232816

Url: https://administrator.de/forum/autoit-editbox-zeile-fuer-zeile-auslesen-und-in-array-speichern-232816.html

Ausgedruckt am: 22.04.2025 um 00:04 Uhr

colinardo
Lösung colinardo 17.03.2014, aktualisiert am 18.03.2014 um 11:45:35 Uhr
Goto Top
Hallo Pytrelooc,
also wenn du mit EditBox diese meinst (GUICtrlCreateEdit / Mehrzeiliges Texteingabefeld) geht das ziemlich simpel mit StringSplit() und @crlf als Trennzeichen:
Beispiel:
$lines = StringSplit(GUICtrlRead($editBox),@CRLF,3)
for $i = 0 to UBound($lines)-1
	msgbox(0,"",$lines[$i])  
Next

wenn du aber eine ListBox meinst, was ich schwer vermute kannst du dies so machen (Beispiel-Form):
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
Opt("GUIOnEventMode", 1)  
$Form1 = GUICreate("Form1", 185, 159, 192, 124)  
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")  
$List1 = GUICtrlCreateList("", 8, 8, 161, 136)  
GUISetState(@SW_SHOW)
GUICtrlSetData($List1,"Test1|Test2|Test3")  

dim $listArray[_GUICtrlListBox_GetCount($list1)]
for $i = 0 to _GUICtrlListBox_GetCount($list1)-1
	$listArray[$i] = _GUICtrlListBox_GetText($List1,$i)
Next
_ArrayDisplay($listArray)

While 1
	Sleep(100)
WEnd

Func Form1Close()
	exit
EndFunc
Grüße Uwe
pytrelooc
pytrelooc 18.03.2014 um 11:45:32 Uhr
Goto Top
Hallo Uwe,

danke genau das habe ich gesucht.
Funktioniert genau wie ich es wollte face-smile.

Grüße Pytrelooc