Variable per SEND in Formular eintragen

  • Hallo zusammen,
    ich habe in meinem Script eine Variable, die dann per Send eingestzt werden soll.
    Ich habe das ganze SEND-Konstrukt fertig und es funktioniert ohne Variablen auch ganz prima.
    Nun hatte ich angefangen die Variablen einzusetzen und das liegt das Problem.

    Mache ich es so:

    [autoit]

    Send($kontoname&"{TAB}kundennummer{TAB}{TAB}anrede{TAB}vorname{TAB}nachname{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}")

    [/autoit]


    bewegt sich AutoIt nicht weiter.

    Nehme ich die Variable raus funktioniert der ganze Ablauf perfekt:

    [autoit]

    Send("kontoname{TAB}kundennummer{TAB}{TAB}anrede{TAB}vorname{TAB}nachname{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}")

    [/autoit]

    Hat jemand einen Tipp für mich?

    Gruß
    André

  • Geht doch super ;)
    Man kann send-Befehle auch zusammenfassen

    [autoit]

    $kontoname = 'Funkey'
    Send($kontoname&"{TAB}kundennummer{TAB 2}anrede{TAB}vorname{TAB}nachname{TAB 6}{ENTER}")

    [/autoit]

    Edit: Alles Variable:

    [autoit]

    $Kontoname = 'Funkey'
    $Kundennummer ='0815'
    $Anrede = 'Herr'
    $Vorname = 'funkey'
    $Nachname = 'fun'

    [/autoit][autoit][/autoit][autoit]

    Send($Kontoname&"{TAB}"&$Kundennummer&"{TAB 2}"&$Anrede&"{TAB}"&$Vorname&"{TAB}"&$Nachname&"{TAB 6}{ENTER}")

    [/autoit]

    P.S.: Schau dir mal die Befehle ControlSend und ControlSetText an, dann brauchst du nicht mit dem Tabulator durch die Gegend zu springen, vorausgesetzt du gibst die Daten nicht in den IE ein, dann brauchst du _IEFormElementSetValue.

  • Vielen Dank für Deine Antowrt.
    Ja hast recht, müsste eigentlich funktionieren, habe aber wohl den Fehler in einer davorliegenden Funktion.

    Und zwar ist der Vor- und Nachname in einer Zeile. Deshalb habe ich die erste Zeile der Zwischenablage $array[1)
    nach dem Leerezeichen geteilt und diese in ein weiteres Array geschrieben. So wollte ich den Vor- und Nachnamen erhalten.
    Und genau bei diesem Array-Werten scheint das auszufüllende Fenster hängenzubleiben.

    [autoit]

    ; Datum für Kundennummer erzeugen
    #Include <Date.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $tTime = _Date_Time_GetSystemTime()
    $aTime = _Date_Time_SystemTimeToArray($tTime)
    $Datum = @MDAY & @MON & StringRight(@YEAR, 2)


    ; Zwischenablage auslesen
    $text = ClipGet()

    [/autoit][autoit][/autoit][autoit]

    ; Zwischenablage enthält:
    ; Bernd Mustermann
    ; Musterstraße 12
    ; 12345 Musterstadt

    [/autoit][autoit][/autoit][autoit]

    ; Adresszeilen bei Umbruch teilen und einzeln in Arrays schreiben
    $array = StringSplit(StringReplace($text, "\n", @LF), @LF)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ; In der ersten Zeile nach dem Leerzeichen den Nachnamen auslesen (als Kontoname und Nachname)
    $konto = StringSplit($array[1], " ")

    [/autoit][autoit][/autoit][autoit]

    ;Namen in richtige Schreibweise bringen

    [/autoit][autoit][/autoit][autoit]

    #include <String.au3>

    [/autoit][autoit][/autoit][autoit]

    $kontoname = _StringProper($konto[2])
    $kundennummer = "E0-"& $datum
    $anrede = "Herr"
    $vorname = _StringProper($konto[1])
    $nachname = _StringProper($konto[2])
    $strasse = _StringProper($array[2])
    $ort = _StringProper($array[3])

    [/autoit]


    Sieht jemand den Fehler?

    Gruß
    André

  • Hallo zusammen,
    ok, habe den Fehler ausfindig gemacht mir fehlt aber nur eine Kleinigkeit.
    Durch die Erstellung des Arrays:

    [autoit]

    $array = StringSplit(StringReplace($text, "\n", @LF), @LF)

    [/autoit]


    Wir am Ende des Strings ein Umbruchzeichen eingefügt.
    Wie kann ich dies für die weitere Verwendung entfernen lassen?
    Soll heissen, da ich den Array[1] Noch einmal Unterteile Nach Vornamen und Nachnamen:

    [autoit]

    $konto = StringSplit($array[1], " ")

    [/autoit]


    Würde ich also im Array: $konto[2] das Umbruchzeichen am Ende löschen wollen.

    Oh je, versteht mich jemand :)

    Gruß
    André