Edit to Array?

  • Hallöle mal wieder :)

    wie kriege ich am schnellen den Inhalt einer Editbox in ein Array? Also das jede zeile quasi ein Element im Array wird :?:

    Danke ;)
    C-TEC

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

    Einmal editiert, zuletzt von ctec (13. April 2011 um 07:30)

  • Hallo,

    du kannst ganz normal mit

    [autoit]

    Guictrlread()

    [/autoit]


    die Editbox auslesen und denn Return dann mit

    [autoit]

    StringSplit()

    [/autoit]


    aufspalten, wenn du nach Zeile spalten willst als Delimiter halt ein @CRLF

  • Dummerweise habe ich mit @LF dann immernoch ein Steuerzeichen am Ende *grübel*

    mit CHR(13) habe ich das Steuerzeichen davor . . .

    mit @CRLF habe ich jedes zweites Element im Array leer *grübel weiter*

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

    Einmal editiert, zuletzt von ctec (12. April 2011 um 11:07)

  • schau Dir doch ab, wie es bei _FileReadtoArray gemacht wird.
    Musst doch nur wie slowly schon sagte durch GuiCtrlRead ersetzen ;)

    Spoiler anzeigen
    [autoit]

    Func _FileReadToArray($sFilePath, ByRef $aArray)
    Local $hFile = FileOpen($sFilePath, $FO_READ)
    If $hFile = -1 Then Return SetError(1, 0, 0);; unable to open the file
    ;; Read the file and remove any trailing white spaces
    Local $aFile = FileRead($hFile, FileGetSize($sFilePath))
    ;~ $aFile = StringStripWS($aFile, 2)
    ; remove last line separator if any at the end of the file
    If StringRight($aFile, 1) = @LF Then $aFile = StringTrimRight($aFile, 1)
    If StringRight($aFile, 1) = @CR Then $aFile = StringTrimRight($aFile, 1)
    FileClose($hFile)
    If StringInStr($aFile, @LF) Then
    $aArray = StringSplit(StringStripCR($aFile), @LF)
    ElseIf StringInStr($aFile, @CR) Then ;; @LF does not exist so split on the @CR
    $aArray = StringSplit($aFile, @CR)
    Else ;; unable to split the file
    If StringLen($aFile) Then
    Dim $aArray[2] = [1, $aFile]
    Else
    Return SetError(2, 0, 0)
    EndIf
    EndIf
    Return 1
    EndFunc ;==>_FileReadToArray

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    • Offizieller Beitrag

    Dummerweise habe ich mit @LF dann immernoch ein Steuerzeichen am Ende *grübel*

    mit CHR(13) habe ich das Steuerzeichen davor . . .

    mit @CRLF habe ich jedes zweites Element im Array leer *grübel weiter*


    Ich nehme mal an, du hast das Split-Flag nicht gesetzt ("flag = 1, es wird der gesamte Trennzeichenstring als Trennmarkierung genutzt"). Denn @CRLF sind 2 Zeichen! ;)

  • *argh* der Bugfixer rettet MAL WIEDER den Tag ;) DANKE!

    Danke natürlich auch dem Rest, die 1 zu vergessen war grob fahrlässig!

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"