Leerzeichen- Problem

  • Hallo zusammen!
    Ich habe erst vor Kurzem mit Autoit angefangen und arbeite grade daran, eine Endlosschleife für Youtube-Videos zu machen, bei der ich mit ControlSend arbeite. Nun habe ich bei meiner Func aber das Problem, dass wenn in dem Input, in dem ich den Namen des Videos reinkopiere, ein Leerzeichen am Ende steht, der Skript nicht mehr das Fenster erkennt. Zwar könnte ich das jetzt immer löschen, aber irgendwie fehlt mir dabei die Herausforderung. Manchmal werden bei dem Kopieren des Namens des Videos ein Leerzeichen hinten dran gehängt und manchmal nicht, weshalb ich auch für beide Zustände eine Lösung haben will.
    Das Problem liegt darin, dass ich die bei der Variable $Input2 nicht StringStripWS anwenden kann..., und deswegen bekomme ich das Leerzeichen hinten nicht weg. Wenn kein Leerzeichen da ist, funktioniert es aber.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=f:\programme\gui creator\form1.kxf
    $Form1_1 = GUICreate("Auswahl der Videoplattformen", 356, 209, -1, -1)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 64, 8, 17, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 200, 8, 17, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 64, 32, 17, 17)
    $Youtube = GUICtrlCreateLabel("Youtube", 96, 8, 44, 17)
    $Label1 = GUICtrlCreateLabel("MyVideo", 232, 8, 45, 17)
    $Label2 = GUICtrlCreateLabel("Dailymotion", 96, 32, 58, 17)
    $Label3 = GUICtrlCreateLabel("Dauer des Videos in Sekunden:", 24, 128, 154, 17)
    $Button1 = GUICtrlCreateButton("Start", 72, 160, 81, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Abbrechen", 192, 160, 81, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("", 192, 120, 81, 21, $ES_Number)
    $Label4 = GUICtrlCreateLabel("Name des Videos:", 24, 64, 90, 17)
    $Input2 = GUICtrlCreateInput("", 24, 88, 281, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    HotKeySet("{ESC}", "Terminate")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    videostarter ()
    Case $Button2
    Terminate ()
    EndSwitch
    WEnd

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

    Func videostarter()
    ControlSend ("YouTube - " & GUICtrlRead ($Input2) & " - Mozilla Firefox", "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Space}")
    $begin = TimerInit ()
    Sleep ((GuiCtrlRead ($Input1))*1000)
    $dif = TimerDiff ($begin);findet vllt später Gebrauch, um diese Sleeptime nach GUI-Beendung noch zu erhalten
    While True
    ControlSend ("YouTube - " & GUICtrlRead ($Input2) & " - Mozilla Firefox", "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Space}")
    Sleep ((GUICtrlRead ($Input1))*1000)
    WEnd
    EndFunc

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

    Func Terminate()
    Exit
    EndFunc

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

    Func TerminateGui () ; findet vllt später Gebrauch, um den GUI während der Skript weiterläuft, zu beenden
    GUIDelete ("#Region ### START Koda GUI section ### Form=f:\programme\gui creator\form1.kxf")
    EndFunc

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

    Ich bin euch jetzt schon dankbar ^^

    2 Mal editiert, zuletzt von Sh4dovv (22. Dezember 2010 um 16:54)

  • Hallo Sh4dovv,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deinem Probelm: wieso sollte dass nicht funktionieren?

    [autoit]

    ControlSend ("YouTube - " & StringStripWS(GUICtrlRead ($Input2),2) & " - Mozilla Firefox", "", "[CLASS:GeckoPluginWindow; INSTANCE:1]", "{Space}")

    [/autoit]

    da frage ich mich schon eher wie die Endlosschleife in der diese Zeile steht jemals verlassen werden soll?

    mfg autoBert

  • Das Problem liegt darin, dass ich die bei der Variable $Input2 nicht StringStripWS anwenden kann...


    Und warum hast Du dieses Problem?

    Edit: Hat sich wohl erledigt.

  • Oh...
    @ autoBert
    Komisch, das klappt :D Ich hab mir das etwas komplizierter vorgestellt, dass ich eine neue Variable einführen muss... Aber nun :rolleyes:
    Die Endlosschleife kann ich zwar nicht verlassen, aber ich kann den ganzen Skript mit Esc beenden, von daher brauche ich das (im Moment) noch nicht.

    Herzlichen Dank!