Mehrere Funcs in gui laufen lassen

  • hey leute

    nein ich bin kein anfänger mehr und weiß auch wie man mit adlibregister arbeitet etc.

    hier zuerst mal mein script, danach kommen die fragen.

    Spoiler anzeigen
    [autoit]


    #include <IE.au3>
    #include <Array.au3>
    #include <File.au3>
    #include <String.au3>
    #include <GDIPlus.au3>
    #include <Date.au3>
    #include <GUIConstantsEx.au3>
    #include <TabConstants.au3>
    #include <GUIListBox.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    #include <ListBoxConstants.au3>
    #include <GUITreeView.au3>
    #include <GuiConstantsEx.au3>
    #include <GuiEdit.au3>
    #include <TreeViewConstants.au3>
    #include <EditConstants.au3>
    #include <StaticConstants.au3>
    #include <Constants.au3>
    #include <SQLite.au3>
    #include <SQLite.dll.au3>
    #include <ScreenCapture.au3>

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

    Dim $Pic[50]
    Global $pics
    Global $a = 0, $c = 0
    $i = 0

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

    ;$Password = InputBox("Passwort","Gib das Passwort ein :)")
    ;If $Password <> "...." Then
    ; MsgBox(0,"","Falsches Passwort!")
    ; Exit
    ;Else
    ; MsgBox(0,"","Passwort korrekt :)")
    ;EndIf
    GUICreate("",@DesktopWidth,@DesktopHeight-100,0,0)
    $pics = GUICtrlCreatePic("",0,0,@DesktopWidth-1000,@DesktopHeight-600)
    $star = "C:\Users\Dennis\Desktop\star1.jpg"
    $star1 = "C:\Users\Dennis\Desktop\star.gif"
    $herz = "C:\Users\Dennis\Desktop\herz.jpg"
    $Pic[0] = "C:\Users\Dennis\Desktop\5wfmqh9wnojpo4coloa2ddcpl3a.jpg"
    $Pic[1] = "C:\Users\Dennis\Desktop\args.bmp"
    ;$herzform = GUICtrlCreatePic($herz,130,400,289,257)

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

    GUISetState()
    AdlibRegister("_pics",5000)
    Sleep(5000)
    AdlibRegister("_heart",1000)
    AdlibRegister("_heart1",1000)
    While 1
    Sleep(100)
    WEnd

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

    Func _pics()
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then Exit
    GUICtrlDelete($pics)
    $pics = GUICtrlCreatePic($Pic[$i],0,0,@DesktopWidth-1000,@DesktopHeight-600)
    GUISetState()
    $i = $i+1
    If $i = 2 Then
    $i = 0
    EndIf
    EndFunc

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

    Func _heart()
    $heart = GUICtrlCreatePic($star,288, 510,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    $heart = GUICtrlCreatePic($star,296, 494,38,28)
    $heart1 = GUICtrlCreatePic($star,279, 494,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,304, 481,38,28)
    $heart1 = GUICtrlCreatePic($star,269, 481,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,321, 465,38,28)
    $heart1 = GUICtrlCreatePic($star,254, 465,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,328, 462,38,28)
    $heart1 = GUICtrlCreatePic($star,248, 462,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,338, 456,38,28)
    $heart1 = GUICtrlCreatePic($star,238, 456,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,347, 453,38,28)
    $heart1 = GUICtrlCreatePic($star,224, 453,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,355, 451,38,28)
    $heart1 = GUICtrlCreatePic($star,213, 451,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,364, 450,38,28)
    $heart1 = GUICtrlCreatePic($star,197, 450,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,378, 451,38,28)
    $heart1 = GUICtrlCreatePic($star,192, 451,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,388, 453,38,28)
    $heart1 = GUICtrlCreatePic($star,186, 453,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,398, 458,38,28)
    $heart1 = GUICtrlCreatePic($star,178, 458,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,404, 462,38,28)
    $heart1 = GUICtrlCreatePic($star,169, 462,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,412, 467,38,28)
    $heart1 = GUICtrlCreatePic($star,165, 467,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,417, 473,38,28)
    $heart1 = GUICtrlCreatePic($star,159, 473,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,425, 484,38,28)
    $heart1 = GUICtrlCreatePic($star,150, 484,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,429, 494,38,28)
    $heart1 = GUICtrlCreatePic($star,147, 494,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,432, 504,38,28)
    $heart1 = GUICtrlCreatePic($star,145, 504,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,433, 513,38,28)
    $heart1 = GUICtrlCreatePic($star,141, 513,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,433, 523,38,28)
    $heart1 = GUICtrlCreatePic($star,143, 523,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,431, 533,38,28)
    $heart1 = GUICtrlCreatePic($star,145, 533,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,429, 544,38,28)
    $heart1 = GUICtrlCreatePic($star,147, 544,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,427, 551,38,28)
    $heart1 = GUICtrlCreatePic($star,148, 551,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,421, 565,38,28)
    $heart1 = GUICtrlCreatePic($star,154, 565,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,415, 577,38,28)
    $heart1 = GUICtrlCreatePic($star,159, 577,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,408, 591,38,28)
    $heart1 = GUICtrlCreatePic($star,167, 591,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,399, 602,38,28)
    $heart1 = GUICtrlCreatePic($star,176, 602,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,388, 615,38,28)
    $heart1 = GUICtrlCreatePic($star,186, 615,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,377, 628,38,28)
    $heart1 = GUICtrlCreatePic($star,199, 628,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,364, 640,38,28)
    $heart1 = GUICtrlCreatePic($star,212, 640,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,352, 647,38,28)
    $heart1 = GUICtrlCreatePic($star,223, 647,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,340, 658,38,28)
    $heart1 = GUICtrlCreatePic($star,237, 658,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,329, 665,38,28)
    $heart1 = GUICtrlCreatePic($star,247, 665,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,318, 671,38,28)
    $heart1 = GUICtrlCreatePic($star,262, 671,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,306, 677,38,28)
    $heart1 = GUICtrlCreatePic($star,270, 677,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,296, 681,38,28)
    $heart1 = GUICtrlCreatePic($star,279, 681,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    GUICtrlDelete($heart1)
    $heart = GUICtrlCreatePic($star,288, 684,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($heart)
    EndFunc
    Func _heart1()
    $hearta = GUICtrlCreatePic($star1,288, 510,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    $hearta = GUICtrlCreatePic($star1,296, 494,38,28)
    $hearta1 = GUICtrlCreatePic($star1,279, 494,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,304, 481,38,28)
    $hearta1 = GUICtrlCreatePic($star1,269, 481,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,321, 465,38,28)
    $hearta1 = GUICtrlCreatePic($star1,254, 465,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,328, 462,38,28)
    $hearta1 = GUICtrlCreatePic($star1,248, 462,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,338, 456,38,28)
    $hearta1 = GUICtrlCreatePic($star1,238, 456,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,347, 453,38,28)
    $hearta1 = GUICtrlCreatePic($star1,224, 453,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,355, 451,38,28)
    $hearta1 = GUICtrlCreatePic($star1,213, 451,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,364, 450,38,28)
    $hearta1 = GUICtrlCreatePic($star1,197, 450,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,378, 451,38,28)
    $hearta1 = GUICtrlCreatePic($star1,192, 451,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,388, 453,38,28)
    $hearta1 = GUICtrlCreatePic($star1,186, 453,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,398, 458,38,28)
    $hearta1 = GUICtrlCreatePic($star1,178, 458,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,404, 462,38,28)
    $hearta1 = GUICtrlCreatePic($star1,169, 462,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,412, 467,38,28)
    $hearta1 = GUICtrlCreatePic($star1,165, 467,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,417, 473,38,28)
    $hearta1 = GUICtrlCreatePic($star1,159, 473,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,425, 484,38,28)
    $hearta1 = GUICtrlCreatePic($star1,150, 484,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,429, 494,38,28)
    $hearta1 = GUICtrlCreatePic($star1,147, 494,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,432, 504,38,28)
    $hearta1 = GUICtrlCreatePic($star1,145, 504,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,433, 513,38,28)
    $hearta1 = GUICtrlCreatePic($star1,141, 513,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,433, 523,38,28)
    $hearta1 = GUICtrlCreatePic($star1,143, 523,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,431, 533,38,28)
    $hearta1 = GUICtrlCreatePic($star1,145, 533,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,429, 544,38,28)
    $hearta1 = GUICtrlCreatePic($star1,147, 544,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,427, 551,38,28)
    $hearta1 = GUICtrlCreatePic($star1,148, 551,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,421, 565,38,28)
    $hearta1 = GUICtrlCreatePic($star1,154, 565,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,415, 577,38,28)
    $hearta1 = GUICtrlCreatePic($star1,159, 577,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,408, 591,38,28)
    $hearta1 = GUICtrlCreatePic($star1,167, 591,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,399, 602,38,28)
    $hearta1 = GUICtrlCreatePic($star1,176, 602,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,388, 615,38,28)
    $hearta1 = GUICtrlCreatePic($star1,186, 615,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,377, 628,38,28)
    $hearta1 = GUICtrlCreatePic($star1,199, 628,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,364, 640,38,28)
    $hearta1 = GUICtrlCreatePic($star1,212, 640,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,352, 647,38,28)
    $hearta1 = GUICtrlCreatePic($star1,223, 647,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,340, 658,38,28)
    $hearta1 = GUICtrlCreatePic($star1,237, 658,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearat = GUICtrlCreatePic($star,329, 665,38,28)
    $hearta1 = GUICtrlCreatePic($star1,247, 665,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,318, 671,38,28)
    $hearta1 = GUICtrlCreatePic($star1,262, 671,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,306, 677,38,28)
    $hearta1 = GUICtrlCreatePic($star1,270, 677,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,296, 681,38,28)
    $hearta1 = GUICtrlCreatePic($star1,279, 681,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    GUICtrlDelete($hearta1)
    $hearta = GUICtrlCreatePic($star1,288, 684,38,28)
    GUISetState()
    Sleep(20)
    GUICtrlDelete($hearta)
    EndFunc

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


    soo... und zwar wollte ich meiner freundin etwas zu weihnachten proggen^^
    die bilder anzeigen funktioniert ja
    alle 5sec wird das bild gewechselt
    da es ja 5sec zeit hat, kann die andere funktion ja problemlos durchlaufen welche bei 1nem durchlauf vll. 1 sekunde braucht.

    es werden 2 herze gemacht, zuerst kommt das eine, wenn das fertig ist das andere

    jetzt möchte ich noch rechts in der großen freien fläche noch oben und unten so eine art durchlauf mit einer grafik machen.
    doch dieser durchlauf würde ja auch erst funktionieren wenn eine func fertig ist.

    wie kann ich das denn anders machen das dies zusammen geht :(

    lg

    • Offizieller Beitrag

    Poste mal ein Paar Bilder zum testen.

  • naja ändere einfach die bild links vom script, dann wirds klappen

    png geht ja nicht soweit du bestimmt auch weißt.

    von den bildern her sieht man das nicht, aber von der func her

    du siehst ja das ich 2 funcs in adlibregister hab

    aber die eine func geht nur wenn die andere fertig ist
    und genau das will ich nicht haben

    ich will das beide "gleichzeitig"(wie man so schön sagt^^) laufen

    • Offizieller Beitrag

    Hab mir keine Lust irgendwelche Bildchen zum Funktionstest zu suchen. Viel Spaß beim eigenwursteln.

  • Ich habe jetzt mal nicht dein Beispiel verwendet, aber hier soltest du alles finden, was du suchst ;)

    Spoiler anzeigen
    [autoit]

    $AutoItPfad = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir")

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

    $BildPfad = "\Examples\GUI\Advanced\Images"
    If Not FileExists($AutoItPfad & $BildPfad) Then $AutoItPfad = StringRegExpReplace(@AutoItExe, "\\[^\\]*$", "")
    If Not FileExists($AutoItPfad & $BildPfad) Then Exit MsgBox(0, '', "Could not find images")
    $BildPfad = $AutoItPfad & $BildPfad

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

    Global $BildStatus = 0, $labelX = 10, $labelY = 60
    $test = GUICreate("")
    $Image = GUICtrlCreatePic($BildPfad & "\Blue.bmp", 10, 10, 32, 32)
    $label1 = GUICtrlCreateLabel("test", $labelX, $labelY, 100, 20)

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

    AdlibRegister("_ImageModify", 1000)
    AdlibRegister("_Label1Modify", 100)
    GUISetState()

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

    Do
    Until GUIGetMsg() = -3

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

    Func _ImageModify()
    $BildStatus += 1
    If $BildStatus = 3 Then $BildStatus = 0
    Switch $BildStatus
    Case 0
    GUICtrlSetImage($Image, $BildPfad & "\Blue.bmp")
    Case 1
    GUICtrlSetImage($Image, $BildPfad & "\Green.bmp")
    Case 2
    GUICtrlSetImage($Image, $BildPfad & "\Red.bmp")
    EndSwitch

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

    EndFunc

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

    Func _Label1Modify()
    $labelX += 10
    $labelY += 12
    If $labelX > 200 Then $labelX = 10
    If $labelY > 200 Then $labelY = 60
    GUICtrlSetPos($label1, $labelX, $labelY)
    EndFunc

    [/autoit]
  • geht nicht um die bilder sondern um die funcs das die beide gleichzeitig laufen, habe 2 bilder hochgeladen, welche die 2 sterne sind, jetzt müsste das script auch laufen

    und dann bemerkst du was ich möchte^^

    • Offizieller Beitrag

    Ich hatte en bischen langeweile, deshalb hab ich dir mal was gebaut.

    Dein Script hab ich mal auf das wesentliche zusammengekürzt. Codeersparnis so um die 420 Zeilen. :D
    Deine animierten Herzen mit den Sternen werden jetzt per _TImer_SetTimer ausgeführt.
    Die Timer sind unabhängig von AdlibEnable und werden auch während einem Sleep ausgeführt.
    Ob dein Hintergrundbildwechsel klappt hab ich net ausprobiert.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <Timers.au3>
    OnAutoItExitRegister("_Exit");Diese Funktion wird bei Programmende aufgerufen und ist wichtig um den Timer zu killen
    Dim $Pic[50]
    ;Arrays mit den Koordinaten für deine Herzen
    Dim $aYPos[37] = [510, 494, 481, 465, 462, 456, 453, 451, 450, 451, 453, 458, 462, 467, 473, 484, 494, 504, 513, 523, 533, 544, 551, 565, 577, 591, 602, 615, 628, 640, 647, 658, 665, 671, 677, 681, 684]
    Dim $aXPos1[37] = [288, 296, 304, 321, 328, 338, 347, 355, 364, 378, 388, 398, 404, 412, 417, 425, 429, 432, 433, 433, 431, 429, 427, 421, 415, 408, 399, 388, 377, 364, 352, 340, 329, 318, 306, 296, 288]
    Dim $aXPos2[37] = [288, 279, 269, 254, 248, 238, 224, 213, 197, 192, 186, 178, 169, 165, 159, 150, 147, 135, 141, 143, 145, 147, 148, 154, 159, 167, 176, 186, 199, 212, 223, 237, 247, 262, 270, 279, 288]
    Global $pics
    Global $a = 0, $c = 0
    $i = 0

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

    ;$Password = InputBox("Passwort","Gib das Passwort ein :)")
    ;If $Password <> "...." Then
    ; MsgBox(0,"","Falsches Passwort!")
    ; Exit
    ;Else
    ; MsgBox(0,"","Passwort korrekt :)")
    ;EndIf
    $hGUI = GUICreate("", @DesktopWidth, @DesktopHeight - 100, 0, 0)
    $pics = GUICtrlCreatePic("", 0, 0, @DesktopWidth - 1000, @DesktopHeight - 600)
    $star = "C:\Users\Dennis\Desktop\star1.jpg"
    $star1 = "C:\Users\Dennis\Desktop\star.gif"
    $herz = "C:\Users\Dennis\Desktop\herz.jpg"
    $Pic[0] = "C:\Users\Dennis\Desktop\5wfmqh9wnojpo4coloa2ddcpl3a.jpg"
    $Pic[1] = "C:\Users\Dennis\Desktop\args.bmp"
    ;$herzform = GUICtrlCreatePic($herz,130,400,289,257)

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

    GUISetState()

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

    AdlibRegister("_pics", 5000)
    _Timer_SetTimer($hGUI, 30, "_heart")

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then Exit
    Sleep(50)
    WEnd

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

    Func _Exit()
    _Timer_KillAllTimers($hGUI)
    EndFunc ;==>_Exit

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

    Func _pics()
    GUICtrlDelete($pics)
    $pics = GUICtrlCreatePic($Pic[$i], 0, 0, @DesktopWidth - 1000, @DesktopHeight - 600)
    GUISetState()
    $i = $i + 1
    If $i = 2 Then
    $i = 0
    EndIf
    EndFunc ;==>_pics

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

    Func _heart($hWnd, $msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    Local Static $iCounter, $bChange
    Local Static $Bild1, $Bild2
    If $iCounter = 0 Then
    If $bChange Then
    $Bild1 = GUICtrlCreatePic($star, $aXPos1[0], $aYPos[0], 38, 28)
    $Bild2 = GUICtrlCreatePic($star, $aXPos2[0], $aYPos[0], 38, 28)
    Else
    $Bild1 = GUICtrlCreatePic($star1, $aXPos1[0], $aYPos[0], 38, 28)
    $Bild2 = GUICtrlCreatePic($star1, $aXPos2[0], $aYPos[0], 38, 28)
    EndIf
    Else
    GUICtrlSetPos($Bild1, $aXPos1[$iCounter], $aYPos[$iCounter])
    GUICtrlSetPos($Bild2, $aXPos2[$iCounter], $aYPos[$iCounter])
    EndIf
    $iCounter += 1
    If $iCounter = 37 Then
    $iCounter = 0
    $bChange = Not $bChange
    GUICtrlDelete($Bild1)
    GUICtrlDelete($Bild2)
    EndIf
    EndFunc ;==>_heart

    [/autoit]

    PS: Vermeide Sleep in deinem Script, während einem Sleep macht das Programm gar nichts.
    Deine ganzen GUISetState und GUICtrlDelete kannst du dir komplett sparen, das bringt die ganze GUI zum flackern.

    Edit: Deine Sterne sind nicht transparent, mit Icons sieht es besser aus.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <Timers.au3>
    OnAutoItExitRegister("_Exit");Diese Funktion wird bei Programmende aufgerufen und ist wichtig um den Timer zu killen

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

    Dim $Pic[50]
    Global $pics
    Global $a = 0, $c = 0
    $i = 0

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

    ;$Password = InputBox("Passwort","Gib das Passwort ein :)")
    ;If $Password <> "...." Then
    ; MsgBox(0,"","Falsches Passwort!")
    ; Exit
    ;Else
    ; MsgBox(0,"","Passwort korrekt :)")
    ;EndIf
    $hGUI = GUICreate("", @DesktopWidth, @DesktopHeight - 100, 0, 0)
    ;~ GUISetBkColor(0xffffff)
    $pics = GUICtrlCreatePic("", 0, 0, @DesktopWidth - 1000, @DesktopHeight - 600)
    $star = @ScriptDir & "\star.ico"
    $star1 = @ScriptDir & "\Star1.ico"
    $Pic[0] = "C:\Users\Dennis\Desktop\5wfmqh9wnojpo4coloa2ddcpl3a.jpg"
    $Pic[1] = "C:\Users\Dennis\Desktop\args.bmp"
    ;$herzform = GUICtrlCreatePic($herz,130,400,289,257)
    ;Arrays mit den Koordinaten
    Dim $aYPos[37] = [510, 494, 481, 465, 462, 456, 453, 451, 450, 451, 453, 458, 462, 467, 473, 484, 494, 504, 513, 523, 533, 544, 551, 565, 577, 591, 602, 615, 628, 640, 647, 658, 665, 671, 677, 681, 684]
    Dim $aXPos1[37] = [288, 296, 304, 321, 328, 338, 347, 355, 364, 378, 388, 398, 404, 412, 417, 425, 429, 432, 433, 433, 431, 429, 427, 421, 415, 408, 399, 388, 377, 364, 352, 340, 329, 318, 306, 296, 288]
    Dim $aXPos2[37] = [288, 279, 269, 254, 248, 238, 224, 213, 197, 192, 186, 178, 169, 165, 159, 150, 147, 135, 141, 143, 145, 147, 148, 154, 159, 167, 176, 186, 199, 212, 223, 237, 247, 262, 270, 279, 288]
    GUISetState()

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

    AdlibRegister("_pics", 5000)
    _Timer_SetTimer($hGUI, 30, "_heart")

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then Exit
    Sleep(50)
    WEnd
    Func _Exit()
    _Timer_KillAllTimers($hGUI)
    EndFunc ;==>_Exit
    Func _pics()
    GUICtrlDelete($pics)
    $pics = GUICtrlCreatePic($Pic[$i], 0, 0, @DesktopWidth - 1000, @DesktopHeight - 600)
    GUISetState()
    $i = $i + 1
    If $i = 2 Then
    $i = 0
    EndIf
    EndFunc ;==>_pics

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

    Func _heart($hWnd, $msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    Local Static $iCounter, $bChange
    Local Static $Bild1, $Bild2
    ConsoleWrite($iCounter & @CRLF)
    If $iCounter = 0 Then
    If $bChange Then
    $Bild1 = GUICtrlCreateIcon ($star,-1,$aXPos1[0], $aYPos[0], 32, 32 )
    $Bild2 = GUICtrlCreateIcon ($star,-1,$aXPos2[0], $aYPos[0], 32, 32 )
    Else
    $Bild1 = GUICtrlCreateIcon ($star1,-1,$aXPos1[0], $aYPos[0], 32, 32 )
    $Bild2 = GUICtrlCreateIcon ($star1,-1,$aXPos2[0], $aYPos[0], 32, 32 )
    EndIf
    Else
    GUICtrlSetPos($Bild1, $aXPos1[$iCounter], $aYPos[$iCounter])
    GUICtrlSetPos($Bild2, $aXPos2[$iCounter], $aYPos[$iCounter])
    EndIf
    $iCounter += 1
    If $iCounter = 37 Then
    $iCounter = 0
    $bChange = Not $bChange
    Sleep(20)
    GUICtrlDelete($Bild1)
    GUICtrlDelete($Bild2)
    EndIf
    EndFunc ;==>_heart

    [/autoit]
    • Offizieller Beitrag

    Warum benutzt du eigentlich Bilder, nimm doch Icons. DIe haben einen trasperenten Hintergrund.
    Hab meinen letzten Post angepaßt.
    Wenn du mit mehrern Timern arbeiten willst, mußt du aufpassen das sie sich nicht gegenseitig austimern.

  • ah ok danke :)

    was meinst du mit austimern? habe das 2. jetzt so gemacht:

    [autoit]

    _Timer_SetTimer($hGUI, 5, "_line")
    Sleep(500)
    _Timer_SetTimer($hGUI, 5, "_line1")
    Sleep(500)
    _Timer_SetTimer($hGUI, 5, "_line2")

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

    Func _line($hWnd, $msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    Local Static $iCounter1, $bChange
    Local Static $line1
    If $iCounter1 = 0 Then
    $line1 = GUICtrlCreatePic($star, $aXPos1[0], $aYPos[0], 38, 28)
    Else
    GUICtrlSetPos($line1, 670+$iCounter1, 77)
    EndIf
    $iCounter1 += 10
    If $iCounter1 = 700 Then
    $iCounter1 = 0
    $bChange = Not $bChange
    GUICtrlDelete($line1)
    EndIf
    EndFunc ;==>_line

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

    Func _line1($hWnd, $msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    Local Static $iCounter1, $bChange
    Local Static $line1
    If $iCounter1 = 0 Then
    $line1 = GUICtrlCreatePic($star, $aXPos1[0], $aYPos[0], 38, 28)
    Else
    GUICtrlSetPos($line1, 670+$iCounter1, 77)
    EndIf
    $iCounter1 += 10
    If $iCounter1 = 700 Then
    $iCounter1 = 0
    $bChange = Not $bChange
    GUICtrlDelete($line1)
    EndIf
    EndFunc ;==>_line1

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

    Func _line2($hWnd, $msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    Local Static $iCounter1, $bChange
    Local Static $line1
    If $iCounter1 = 0 Then
    $line1 = GUICtrlCreatePic($star, $aXPos1[0], $aYPos[0], 38, 28)
    Else
    GUICtrlSetPos($line1, 670+$iCounter1, 77)
    EndIf
    $iCounter1 += 10
    If $iCounter1 = 700 Then
    $iCounter1 = 0
    $bChange = Not $bChange
    GUICtrlDelete($line1)
    EndIf
    EndFunc ;==>_line2

    [/autoit]

    edit: pic zu icon geändert^^

    Einmal editiert, zuletzt von Texos (21. Dezember 2010 um 02:47)

    • Offizieller Beitrag

    Warum benutzt du 3 Timer für die selbe Zeile?

  • möchte 3 sterne hintereinander immer durchlaufen sehen, also so in einem abstand von 500ms deswegen auch sleep(500)

    achja, noch eine frage.

    wenn die icons von anfang an wieder anfangen durchzulaufen dann flimmern die kurz obenlinks irgendwo auf.

    kann man das irgendwie weg machen? ich finds nicht^^

    • Offizieller Beitrag

    Deine Sterne laufen aber nicht im abstand von 500 ms. Du rufst alle 3 Timer im Intervall von 5ms auf.
    Das geflacker wird von der Überschneidung der einzelnen Picture kommen. Die Intervallzeit von 5 ms
    ist auch viel zu kurz, da wird dein Script irgendwann hängen.

  • hm... kann man das geflacker denn nicht wegmachen? das stört nämlich bei den obigen bildern die durchlaufen, links und rechts alle 1sec ein sternenbild welches nur unten und rechts sein sollte

  • hm... kann man das geflacker denn nicht wegmachen? das stört nämlich bei den obigen bildern die durchlaufen, links und rechts alle 1sec ein sternenbild welches nur unten und rechts sein sollte


    HalloTexos,

    weil Weihnachten ja das Fest der Liebe und der Sterne ist: ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    $Star = @ScriptDir & "\star.ico"
    Dim $aStars[7][2] ; [7] für 7 Sterne (mehr geht für $MaxMove = 700 und $Diff = 100 nicht)

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

    $hGui = GUICreate("Test", 1400, 200)
    GUISetState()

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

    AdlibRegister("_Stars", 20)

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

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    Exit

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

    Func _Stars()
    Global $aStars ; globales Array für die Sterne
    Local Static $XPos = 670, $YPos = 77 ; ursprüngliche X- und Y-Positionen
    Local Static $Diff = 100 ; Abstand der Sterne
    Local Static $MaxMove = 700 ; Maximale Verschiebung
    ;~ If Not IsArray($aStars) Or UBound($aStars, 2) <> 2 Then
    ;~ MsgBox(0, "Fehler!", "Das globale Array $aStars ist nicht (korrekt) deklariert!")
    ;~ Return
    ;~ EndIf
    For $I = 0 To UBound($aStars) - 1
    If Not $aStars[$I][0] Then
    If $I = 0 Then
    $aStars[$I][0] = GUICtrlCreateIcon($Star, -1, $XPos, $YPos, 38, 28)
    $aStars[$I][1] = 0
    Else
    If $aStars[$I - 1][1] >= $Diff Then
    $aStars[$I][0] = GUICtrlCreateIcon($Star, -1, $XPos, $YPos, 38, 28)
    $aStars[$I][1] = 0
    EndIf
    EndIf
    Else
    GUICtrlSetPos($aStars[$I][0], $XPos + $aStars[$I][1], $YPos)
    $aStars[$I][1] += 10
    If $aStars[$I][1] >= $MaxMove Then
    $aStars[$I][1] = 0
    EndIf
    EndIf
    Next
    EndFunc ;==>_Stars

    [/autoit]