Problem | ClipPut

  • Moin AutoIT Gemeinde!

    Ich habe folgendes Problem: Ich möchte ein Scrypt erstellen, bei dem jedesmal wenn ich den Button klicke ein bestimmter Text in meine Zwischenablage kopiert wird. Dies habe ich auch hinbekommen, nur wie schaffe ich es, dass beim 1. Klick der Text "123" und beim 2. mal klicken des Buttons der Text "456" erscheint?

  • [autoit]


    Case $Button1
    Local Static $nclicks = 0
    Local Static $texts[2] = ["123", "456"]

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

    ClipPut($texts[$nclicks])
    $nclicks += 1
    If( $nclicks > 1 ) Then $nclicks = 0

    [/autoit]

    Edit: Zu spät :D

  • Hi,

    du musst lediglich die Buttonklicks abfragen und dann den Inhalt der Zwischenablage anpassen

    [autoit]

    #include <MsgBoxConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate(".", 265, 111, 463, 264)
    $Button1 = GUICtrlCreateButton("123", 48, 16, 169, 73)
    GUISetState(@SW_SHOW)

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

    $i = 0

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    $i = Not $i ;alternierend 1,0,1,0,1,0....
    If $i Then ;wenn 1
    ClipPut("123")
    GUICtrlSetData($Button1, "456") ;Buttontext
    Else ;wenn 0
    ClipPut("456")
    GUICtrlSetData($Button1, "123") ;Buttontext
    EndIf

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

    EndSwitch
    wend

    [/autoit]
  • Vielen Dank für die schnellen Antworten, funktionert 1 A! :thumbup:

    Doch wie der ganze Spaß bei 3 ClipPut's aus?


    funktioniert nicht ganz ?(

    und gibt es eine Möglichkeit, dass sich die Bezeichnung / Name des Buttons nicht ändert?^^

  • hmm
    (24) : ==> Variable used without being declared.:
    ClipPut($array[$iCount])
    ClipPut(^ ERROR