Text aus GUICtrlCreateEdit automatisch mit Trennzeichen versehen

  • Hallo all

    dank ein paar Hilfen aus dem Chat und aus den tutorials bin ich jetzt soweit das ich diese Zeile:
    ebaypaul,Paul,Test,Probiergasse 12,12345,Dorfhausen
    einlesen und verarbeiten kann.
    Aber wer gibt schon alles mit "," getrennt ein?
    Die Adressen kommen so:

    ebaypaul
    Paul Test
    Probiergasse 12
    12345 Dorfhausen

    Gibt es eine Möglichkeit mit oder für:

    $arSplit = StringSplit($InhaltDeinerInput, ',')

    die Trenzeichen zu setzen?

    Spoiler anzeigen


    FUNC EBAY_1()
    ;Vorbereiten
    ; dieser Wert wird in das Editfeld eingetragen
    ; ebaypaul,Paul,Test,Probiergasse 12,12345,Dorfhausen
    $deinInput = 42 ;der Wert ist unwichtig vermeide nur Fehlermeldung
    GUISetState(@SW_MINIMIZE,$HAUPTGUI) ; war im Weg
    $EBAY_GUI=GUIcreate("Adresse von Ebay", 230, 140)
    GUISetState(@SW_SHOW, $EBAY_GUI)
    $deinInput=GUICtrlCreateEdit ("",10,10,200,95) ;,$ES_AUTOVSCROLL+$WS_VSCROLL)
    GUISetState ()
    ;Abfragen
    $BUTTON_OK = GUICtrlCreateButton("OK", 30, 100 , 170, 30)
    While (True)

    $InhaltDeinerInput = GUICtrlRead($deinInput)
    $OK_Msg = GUIGetMsg (True)
    Switch $OK_Msg[0]
    Case $BUTTON_OK
    MsgBox (0,"$notice", $InhaltDeinerInput )
    ExitLoop

    Case $GUI_EVENT_CLOSE
    GUIDelete ($EBAY_GUI)
    ExitLoop
    EndSwitch
    WEnd
    GUIDelete ($EBAY_GUI)
    ;Verarbeiten
    $arSplit = StringSplit($InhaltDeinerInput, ',')
    ; MsgBox (0,"$notice", $arSplit );nicht wichtig ist nur zur Kontrolle
    ; _ArrayDisplay($arSplit) ;um es zu verstehen

    $AFELD1 = $arSplit[1] ;noch nicht ganz richtig aber zur Übung ist es OK
    $AFELD2 = $arSplit[2]
    $AFELD3 = $arSplit[3]
    $AFELD4 = $arSplit[4]
    $AFELD5 = $arSplit[5]
    $AFELD6 = $arSplit[6]

    ;___________________________________________________________
    ;und ab ins Hauptfenster damit
    WinActivate ( "Adresskopierer" )
    WinWaitActive ( "Adresskopierer" )
    Send("{TAB}")
    ControlFocus ( "Adresskopierer", "EBAYNAME", "Edit1" )
    GUICtrlSetData($FELD1, $AFELD1)
    GUICtrlSetData($FELD2, $arSplit[2])
    GUICtrlSetData($FELD3, $arSplit[3])
    GUICtrlSetData($FELD4, $arSplit[4])
    GUICtrlSetData($FELD5, $arSplit[5])
    GUICtrlSetData($FELD6, $arSplit[6])

    EndFunc

    viele Grüße
    jörg

    Einmal editiert, zuletzt von joerg8051 (16. August 2011 um 08:23)

  • Das könntest du so machen:

    [autoit]

    $arSplit = StringSplit($InhaltDeinerInput, @CRLF)

    [/autoit]

    Ich nehme mal an es ist das was du willst. Dann kannst du die Adresse über meherere Zeilen schreiben.

    Gruss Shadowigor

  • Hallo danke Euch
    klappte sofort:

    Spoiler anzeigen


    $arSplit = StringSplit($InhaltDeinerInput, @CRLF, ";")
    $NAME = $arSplit[3]
    $arSPLNAME = StringSplit($NAME, " ") ;hier trennen wir Vorname mit Nachname
    $PLZORT = $arSplit[7]
    $arSPLPLZORT = StringSplit($PLZORT, " ") ; PLZ ORT Trennung
    $AFELD1 = $arSplit[1]
    $AFELD2 = $arSPLNAME[1]
    $AFELD3 = $arSPLNAME[2]
    $AFELD4 = $arSplit[5]
    $AFELD5 = $arSPLPLZORT[1]
    $AFELD6 = $arSPLPLZORT[2]

    Nur bei Doppelnamen und 2. Vornamen muß man aufpassen
    viele Grüße
    jörg