Sign in to follow this  
Followers 0
zbatev

Cool Form Effect - Vibrate Form, Possible?

8 posts in this topic

Hello again,

Is it possible in AutoIT to add an effect to a form like vibrate it for a second or two... just like in internet browsers... One good example is the "Buzz Effect" in Yahoo Chat.

It would be nice if this is possible and how could this be achieved?

Thanks

-zbatev

Share this post


Link to post
Share on other sites



#3 ·  Posted (edited)

I do not have the Yahoo chat client but try this.

Opt("GUIOnEventMode", 1)

Global Const $hGUI = GUICreate("Shake it by UEZ 2011", 320, 200)
Global Const $idButton = GUICtrlCreateButton("Shake it", 120, 80, 80, 40)
GUISetState()

Global Const $shake_interval = 2 * 1000 ;2 seconds
Global Const $shake_sleep = 30 ;30 ms
Global Const $shake_radius = 30 ;30 pixel

GUISetOnEvent(-3, "_Exit")
GUICtrlSetOnEvent($idButton, "ShakeIt")


Do
Until Not Sleep(0xFFFFFF)

Func ShakeIt()
    Local $t = TimerInit()
    Local $aPos = WinGetPos($hGUI)

    Do
        WinMove($hGUI, "", $aPos[0] + Random(-$shake_radius, $shake_radius, 1), $aPos[1] + Random(-$shake_radius, $shake_radius, 1))
        Sleep($shake_sleep)
    Until TimerDiff($t) > $shake_interval
    WinMove($hGUI, "", $aPos[0], $aPos[1])
EndFunc

Func _Exit()
    GUIDelete($hGUI)
    Exit
EndFunc

Br,

UEZ

Edited by UEZ
1 person likes this

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

Very nice UEZ, but tell me, why do these things make me laugh?


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites

Very nice UEZ, but tell me, why do these things make me laugh?

Because it is childish?

Br,

UEZ :)


Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

Because it is childish?

Br,

UEZ :)

Yes, you're probably right.


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites

I do not have the Yahoo chat client but try this.

Opt("GUIOnEventMode", 1)

Global Const $hGUI = GUICreate("Shake it by UEZ 2011", 320, 200)
Global Const $idButton = GUICtrlCreateButton("Shake it", 120, 80, 80, 40)
GUISetState()

Global Const $shake_interval = 2 * 1000 ;2 seconds
Global Const $shake_sleep = 30 ;30 ms
Global Const $shake_radius = 30 ;30 pixel

GUISetOnEvent(-3, "_Exit")
GUICtrlSetOnEvent($idButton, "ShakeIt")


Do
Until Not Sleep(0xFFFFFF)

Func ShakeIt()
    Local $t = TimerInit()
    Local $aPos = WinGetPos($hGUI)

    Do
        WinMove($hGUI, "", $aPos[0] + Random(-$shake_radius, $shake_radius, 1), $aPos[1] + Random(-$shake_radius, $shake_radius, 1))
        Sleep($shake_sleep)
    Until TimerDiff($t) > $shake_interval
    WinMove($hGUI, "", $aPos[0], $aPos[1])
EndFunc

Func _Exit()
    GUIDelete($hGUI)
    Exit
EndFunc

Br,

UEZ

Nice one... thanks a lot... I'm using this on an Alarm this is a nice add on to that... I've already tested it and its working perfectly.

Share this post


Link to post
Share on other sites

#8 ·  Posted (edited)

Here a version playing a wave file which is saved as a binary string when Shake It button was pressed:

Opt("GUIOnEventMode", 1)

Global Const $hGUI = GUICreate("Shake it by UEZ 2011", 320, 200)
Global Const $idButton = GUICtrlCreateButton("Shake it", 120, 80, 80, 40)
GUISetState()

Global Const $shake_interval = 0.6 * 1000
Global Const $shake_sleep = 30 ;30 ms
Global Const $shake_radius = 30 ;30 pixel

Global Const $SND_SYNC = 0, $SND_ASYNC = 1, $SND_NODEFAULT = 2, $SND_MEMORY = 4, $SND_NOWAIT = 0x2000

#region
Global $bShake = _Sound()
Global $ByteStruct_Snd_Shake = DllStructCreate("byte[" & BinaryLen($bShake) & "]")
DllStructSetData($ByteStruct_Snd_Shake, 1, $bShake)
Global Const $BytePtr_Snd_Shake = DllStructGetPtr($ByteStruct_Snd_Shake)
Global Const $fuSound = BitOR($SND_MEMORY, $SND_ASYNC, $SND_NODEFAULT, $SND_NOWAIT)
#endregion

GUISetOnEvent(-3, "_Exit")
GUICtrlSetOnEvent($idButton, "ShakeIt")


Do
Until Not Sleep(0xFFFFFF)

Func ShakeIt()
    Local $aPos = WinGetPos($hGUI)
    sndPlaySound($BytePtr_Snd_Shake, $fuSound)
    Local $t = TimerInit()
    Do
        WinMove($hGUI, "", $aPos[0] + Random(-$shake_radius, $shake_radius, 1), $aPos[1] + Random(-$shake_radius, $shake_radius, 1))
    Until TimerDiff($t) > $shake_interval * Sleep($shake_sleep)
    WinMove($hGUI, "", $aPos[0], $aPos[1])
EndFunc

Func _Exit()
    GUIDelete($hGUI)
    Exit
EndFunc

#region
Func sndPlaySound($lpszSound, $fuSound)
    Local $Type = "wstr", $aRes
    If IsPtr($lpszSound) Then $Type = "ptr"
    $aRes = DllCall("winmm.dll", "int", "sndPlaySound", $Type, $lpszSound, "dword", $fuSound)
    If @error Then Return SetError(1, 0, 0)
    Return $aRes[0]
EndFunc   ;==>sndPlaySound


;Code was generated by File to Base64 String Code Generator
Func _Sound()
    Local $Sound
    $Sound &= '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'
    $Sound &= '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'
    $Sound &= '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'
    $Sound &= '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'
    $Sound &= '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'
    $Sound &= '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'
    $Sound &= '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'
    $Sound &= 'unxYsfDFdJv21t1traACMpQmvtGEaOZWIv/7oACsgAONLk9rGMLebIZaHWcPW40UiT2sZwl5vhmn9Zw9bgAoC7EUUNCtCsdinxhgYAApCUZS6cvk6N4tcSI7z708voonJJTapJjTSiHMiZXn7126OwaZwMZQpJMOKlb0RlJng0uLTSHTGv/8XrnX1/j0+P9Y/3/jCmedLjOx5YAl7W67WWNkAKGFDyrFiuOaBzXF9MlxA5kasGMywKiXxECpjTQ27SfaLh1XpMLjR8gPO86UrprL8FwiSzrU3PEwQQcsAmBCByCIkyNovGhxGcSWdWnstFTppsmmtb7rqRrUmyta3n2V///////////////////////////////////////////////////////////////////////////////gTa626SxsgBkCMSbcIhhy3AYKzlY72hPWyxhZM3dIJAUKtrrRmgXqM1AUlrDS+x2Z1N18KWo46PjTA6eg3DUeALgCsEpUB4CEnS4/BMak09es1/HUtbv//bEX876+4QWe9NQDu21tkkSIARcXEQDgeVS6MyllIoSUmRcl4xtBxuqqZVEDgQwOFLpqJCCNIFglqfapbu10klanUQq3CuoGu+gQl2rBXmdrpEk3Wb+E+l0Y0WhjRShLKyzm+tJV//uvttjQAICGhDA8Ds4bZ+GXQxArRj3Rf6SuRaglF4DFA2nKlNNXJf/7ogDEAAUTM09rGYrcYoZZ3WMLW4tAgzmsZekxaxmodZwtbgqgIkrqi07FML17HuR8QYasegvzMCKuYFo9SXLFbZkqH8yfdWhTf731LHf///9f+4/ABlutkskiQACBCLJekzoEbZnOcRamLHinsGw3MNuxh4zCCaM88zjKyERTADUohsWJHV7LvbLG0gYm4trMrxl7ghxrOUa0VuhesFhcIMfMiJOcYm3YZQthL//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wttrbtLIwQAh2licqrgcK4TaQ+1xoDrmVZ2ivSuByUwAUnHIfnZWsCLhU6sS6kywyy53IlDQDhELZ5MmYLhFnOgwdHV0OIj1epr/86n//8nEWiamWaf/rQACEi9BRBM6UuXLfZ0+qVhv3QFZVSjbIVPgYhoHf3aW0LDm8aBpqple4zWlcRkBXecb3EncCRlK5strRyijAkWwoSoxmiL4oVddbbZJEiABUAmEKgyZ6d0tSXQTRiCVNBT3O5NSd0hURotBmUVht0Gz/+6AA2oAHZCHN6xl6TFAGWe1nCluJ7HEx7GXpIWMZZzWcHW4BhZBDkcq4Va8zRbsOBYaJMdFG4mFQ+EYCziIsEcH4imETgYODhdt/////x8bAP1AQR4d3Znt1cIAVWJiCWJdz3R+OypS5dLkBItZ35141lCMkOYTwjcRe6VMiCUkx6R+88cssvy0XTpRPLZqB1MTcEcCWGSePlEwNEXpUUUU1P/XfroKrTUpNBq5gX0FGKv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wZbbZJJI2wAytFkZIbwvWzhKNSxg6ISZRowJRt0chx27gEhqqsqG7EBYpTFAHjltLbq1cK+q00WmSyRXy5Rdh0aR0i8lGRuO8zSqTIrHwqXZTv//jj/+//mH/dwwhXN0iCPDuzK0ujYAETJiBmJOBp74NtAKqJaxc4Sk7k/Bjp2ywMv'
    $Sound &= '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'
    $Sound &= 'SwkAum1rcANdsWXg//+kokJ/QB8ADwD/DwAPAA8ADwAPAA8ADwAPAH8PAA8ADwAPAA8ADwBqZ10AlsusDwACASUAEgRgWQ3sqiIAsFLrIM0MfRwAGq4oxK8Gf+8AEz2LywdCRTCAkyotB47cekNBAAwnGkfjDxJIACZhqSxhLycDAKA1Gowd5OByAAaksQKsnDa2ANUoHhr+STLjAHrBokR0Hf/LAAdMjlktYYAAABDESBJMlNmdAIBTtrkRw4yrAKSHL//aZBI3ABJsEBTYik7NAGRWd4sYPACnAKGB5fDKCP/6/MS/LwsPAA8ADwAPAA8A/w8ADwAPAA8ADwAPAA8ADwD/DwAPAA8ADwAPAA8ADwAPAEEGAOWikCiAkSDbAAANiw3H2yVBALgWAUjUPEIlAAIEGSKHiEJgADmFI9DAiJQeAI1CMjri6zNAAL6gzoJmv/idAAbA4I2IOgHkALUUbLYNiIOZAFLYDSYB2RUIAGVq+YW9Qw4MAJAJJBUD5nmV+ASy328HDwAPAA8ADwD/DwAPAA8ADwAPAA8ADwAPAP8PAA8ADwAPAA8ADwAPAA8ADw8ADwAKAOJhDuMCRgCgDAAIC0BI9AAJIAEAAAEuAAQAAKB+JcAAAAQDTwMPAP//4aTQCAAAow0LoWIvSP/fAQ8ADwAPAA8ADwAPAA8A/w8ADwAPAA8ADwAPAA8ADwD/DwAPAA8ADwAPAA8ADwAPAEOkIOFhDygASzChCPAAAAlwcCCvIA8ADwAPBgCgAw8ACgADsAIAkAE='
    $Sound = _Base64Decode($Sound)
    Local $tSource = DllStructCreate('byte[' & BinaryLen($Sound) & ']')
    DllStructSetData($tSource, 1, $Sound)
    Local $tDecompress
    _WinAPI_LZNTDecompress($tSource, $tDecompress)
    $tSource = 0
    Return Binary(DllStructGetData($tDecompress, 1))
EndFunc   ;==>_Sound

Func _Base64Decode($input_string)
    Local $struct = DllStructCreate("int")
    Local $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $input_string, "int", 0, "int", 1, "ptr", 0, "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0)
    If @error Or Not $a_Call[0] Then Return SetError(1, 0, "")
    Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]")
    $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $input_string, "int", 0, "int", 1, "ptr", DllStructGetPtr($a), "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0)
    If @error Or Not $a_Call[0] Then Return SetError(2, 0, "")
    Return DllStructGetData($a, 1)
EndFunc   ;==>_Base64Decode

Func _WinAPI_LZNTDecompress(ByRef $tInput, ByRef $tOutput, $iBufferSize = 0x800000)
    Local $tBuffer, $Ret
    $tOutput = 0
    $tBuffer = DllStructCreate('byte[' & $iBufferSize & ']')
    If @error Then Return SetError(1, 0, 0)
    $Ret = DllCall('ntdll.dll', 'uint', 'RtlDecompressBuffer', 'ushort', 0x0002, 'ptr', DllStructGetPtr($tBuffer), 'ulong', $iBufferSize, 'ptr', DllStructGetPtr($tInput), 'ulong', DllStructGetSize($tInput), 'ulong*', 0)
    If @error Then Return SetError(2, 0, 0)
    If $Ret[0] Then Return SetError(3, $Ret[0], 0)
    $tOutput = DllStructCreate('byte[' & $Ret[6] & ']')
    If Not _WinAPI_MoveMemory(DllStructGetPtr($tOutput), DllStructGetPtr($tBuffer), $Ret[6]) Then
        $tOutput = 0
        Return SetError(4, 0, 0)
    EndIf
    Return $Ret[6]
EndFunc   ;==>_WinAPI_LZNTDecompress

Func _WinAPI_MoveMemory($pDestination, $pSource, $iLenght)
    DllCall('ntdll.dll', 'none', 'RtlMoveMemory', 'ptr', $pDestination, 'ptr', $pSource, 'ulong_ptr', $iLenght)
    If @error Then Return SetError(5, 0, 0)
    Return 1
EndFunc   ;==>_WinAPI_MoveMemory
#endregion

Br,

UEZ

Edited by UEZ
2 people like this

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0