Moin,
ich habe eine Editbox und fülle diese mit Text. Ich habe zudem ein weiteres Textfeld, welches ich mittels $WM_COMMAND auf Änderungen überwache.
Die Editbox:
[autoit]GUICtrlSetData($Edit1, 'Manifest-Version: 1.0' & @CRLF & 'Created-By: bla' & @CRLF & 'Class-Path:')
[/autoit]Ich möchte nun in MY_WM_COMMAND bei jeder Änderung innerhalb des Textfelds, dass in der Editbox folgendes passiert:
[autoit]GUICtrlSetData($Edit1, 'Manifest-Version: 1.0' & @CRLF & 'Created-By: bla' & @CRLF & 'Class-Path: XXXXXXXXXXXX')
[/autoit]wobei XXXXXXXXXXXX für den Inhalt des Textfelds steht. Da man den Inhalt des Textfelds ja verändern kann, muss ich also entweder bei jeder Änderung die letzte Zeile entfernen und neu hinzufügen, oder irgendwie ersetzen.
So hab ich es versucht:
[autoit]$TEMP_DATA = GUICtrlRead($Edit1)
$TEMP_DATA = StringSplit($TEMP_DATA,@CRLF)
$NEW_DATA = "Class-Path:" & GUICtrlRead($Input2)
For $INDEX = 1 To $TEMP_DATA[0]-1 Step 2
If $INDEX = $TEMP_DATA[0]-2 Then
$NEW_DATA &= $TEMP_DATA[$INDEX]
Else
$NEW_DATA &= $TEMP_DATA[$INDEX] & @CRLF
EndIf
Next
GUICtrlSetData($Edit1,$NEW_DATA)
Das funktioniert aber nur geringfügig, da bei jeder Eingabe in der Editbox eine Zeile verschwindet, was ja nicht im Sinne des Erfinders ist ![]()
Kennt jemand einen einfachen Trick, um das Problem zu lösen?