Edit auslesen und in ein Array schreiben - Problem

  • Hallo Zusammen,

    ich habe hier ein kleines Problem mit einem Skript, welches ich jetzt etwas überarbeitet habe.
    Und zwar habe ich eine GUI mit Edit bzw. Comboboxen. (Diese werden anhand von Einträgen eine MS Access DB gefüllt.)

    DIe Boxen werden ausgelesen und in ein Array geschrieben.
    Wenn ich nun in der Edit Box beim schreiben einen Zeilenumbruch mache, erstellt er mir im Array eine neue Zeile, anstatt den ganzen text in die richtigen spalte zu schreiben.

    Ich nehme an, das es an der Zeile $sDelim_Row = @CRLF im _ArrayAdd liegt ...

    _ArrayAdd(ByRef $avArray, $vValue, $iStart = 0, $sDelim_Item = "|", $sDelim_Row = @CRLF, $hDataType = 0)

    Habt ihr hier eine Idee?

    Danke vorab :)

    Gruß gmmg

  • das funktioniert nicht wie gewollt :(

    Habe mir jetzt die Func _ArrayAdd ein zweites mal angelegt als _ArrayAdd_xx angelegt und die Parameter da geändert.
    Jetzt bekomme ich zumindest schon alles in ein Array Element, aber er soll ja einen Zeilenumbruch in der Editbox als Leerzeichen interpretieren.

    Wie im Bild zu sehen, hängt er aber den Text direkt an.

    AutoIt
    Func _ArrayAdd_xx(ByRef $avArray, $vValue, $iStart = 0, $sDelim_Item = "|", $sDelim_Row = "@", $hDataType = 0)

    so, denke ich habe es jetzt, wenn ich es so mache. Ich ersetze den Zeilenumbruch nach dem auslesen des Controls mit StringReplace.

    Code
    $ro_edit2 = _GUICtrlEdit_GetText($Edit2)
    $ro_edit2 = StringReplace($ro_edit2, @crlf, " ")

    eventuell hat noch jemand eine schönere Lösung.

  • achso jetzt versteh ich das komplette problem..

    Spoiler anzeigen


    $sArray2Add = $ro_label3 & "|" & StringReplace($ro_edit2, @CRLF, "{/n}") & "|EB"
    _ArrayAdd($aArray, $ro_label3 & "|" & $ro_edit2 & "|EB", 0, "|", "")
    ; Und beim auslesen dann halt:
    StringReplace($aArray[$Part], "{/n}", @CRLF) ; $aArray = der hinzugefügte Array; $Part = der Index des Arrays was du halt brauchst.

    Ich hoffe du weißt was ich mein:)
    Lg