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-Key: 232816

Url: https://administrator.de/contentid/232816

Printed on: April 19, 2024 at 05:04 o'clock

Member: colinardo
Solution colinardo Mar 17, 2014, updated at Mar 18, 2014 at 10:45:35 (UTC)
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
Member: pytrelooc
pytrelooc Mar 18, 2014 at 10:45:32 (UTC)
Goto Top
Hallo Uwe,

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

Grüße Pytrelooc