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

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

    • 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"