Jump to content

_MouseHover UDF


marfdaman
 Share

Recommended Posts

Well, I made this because I like it when I have a good looking GUI, and because there wasn't a standard function/UDF for it AFAIK. So I thought I'd share it with you, and see what bugs it still has and if it's useful for anyone besides me. Let me know!

EDIT: I decided to put my _PressDetect UDF here as well, what is does, is detect when for example a button is BEING pressed, so you can change its image. With the two UDF's I posted here, you can make, for example, self-made image buttons, which respond to hovering, being held down and actually getting pressed. Just like the standard Windows buttons. Might be useful as well :D

I'm open to any kind of questions/opinions, the good as well as the bad :wacko:

In spite of the autoit protection in "Execute", the following originally blocked functions ARE supported now:GuiCtrlSetColor

GuiCtrlSetBkColorGuiCtrlSetFont GuiCtrlSetImageEVERY and ALL functions are supported now!

I'll change the examples to show how this UDF should be called.

_MouseHover.au3_PressDetect.au3

Alzo

Edited by marfdaman

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

  • Replies 89
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

HI,

could you please add an example. It's easier to do a quick test then.

Thanks!

So long,

Mega

Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Link to comment
Share on other sites

  • Moderators

This a great idea, but you should do parameters for the functions rather than having to make something Global or whatever... just a thought :D

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

Quick example:

#include <GUIConstants.au3>
#include <_MouseHover.au3>

; == GUI generated with Koda ==
$Form1 = GUICreate("AForm1", 313, 194, 192, 125)
GUICtrlCreateLabel("ALabel1", 24, 16, 43, 17)
$Input1 = GUICtrlCreateInput("AInput1", 88, 16, 83, 21, -1, $WS_EX_CLIENTEDGE)
$Button1 = GUICtrlCreateButton("AButton1", 24, 112, 127, 41)
$Checkbox1 = GUICtrlCreateCheckbox("ACheckbox1", 40, 48, 81, 41)
Dim $Radio[4]
$Radio[1] = GUICtrlCreateRadio("ARadio1", 200, 16, 73, 33)
$Radio[2] = GUICtrlCreateRadio("ARadio2", 200, 72, 81, 41)
$Radio[3] = GUICtrlCreateRadio("ARadio3", 200, 128, 89, 33)
GUISetState(@SW_SHOW)

AdlibEnable("_ProcessHover", 50)

_HoverAddCtrl($Input1)
_HoverAddCtrl($Button1)
_HoverAddCtrl($Checkbox1)
_HoverAddCtrl($Radio[1])
_HoverAddCtrl($Radio[2])
_HoverAddCtrl($Radio[3])
While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
    Case Else
        ;;;;;;;
    EndSelect
WEnd
Exit

Func _HoverFound($ControlID)
    For $i = 1 to 3
        If $ControlID = $Radio[$i] Then
            If GUICtrlRead($ControlID) = 4 Then
                GUICtrlSetState($ControlID, $GUI_CHECKED)
            Else
                GUICtrlSetState($ControlID, $GUI_UNCHECKED)
            EndIf
        EndIf
    Next
    Switch $ControlID
        Case $Input1
            GUICtrlSetData($ControlID, "Hovered Over!")
        Case $Button1
            GUICtrlSetState($ControlID, $GUI_DISABLE)
            GUICtrlSetData($ControlID, "Pressing is prohibited!")
        Case $Checkbox1
            If GUICtrlRead($ControlID) = 4 Then
                GUICtrlSetState($ControlID, $GUI_CHECKED)
            Else
                GUICtrlSetState($ControlID, $GUI_UNCHECKED)
            EndIf
    EndSwitch
EndFunc

Func _HoverLost($ControlID)
    Switch $ControlID
        Case $Input1
            GUICtrlSetData($ControlID, "Not anymore!")
        Case $Button1
            GUICtrlSetState($ControlID, $GUI_ENABLE)
            GUICtrlSetData($ControlID, "Press here")
    EndSwitch
EndFunc

Func _ProcessHover()
    $ControlID = _HoverCheck()
    If IsArray($ControlID) Then
        If $ControlID[0] = "AcquiredHover" Then
            _HoverFound($ControlID[1])
        Else
            _HoverLost($ControlID[1])
        EndIf
    EndIf
EndFunc

Edit: while this code may seem longer (it is), it's much more practical and has NO limitations whatsoever concerning functions.

Alzo

Edited by marfdaman

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

This a great idea, but you should do parameters for the functions rather than having to make something Global or whatever... just a thought :D

What exactly do you mean? In what function(s)?

btw tnx, I like the ease of this very much personally, going to use it alot!

Edited by marfdaman

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

  • Moderators

Func _HoverCheck()

$HoverData = GUIGetCursorInfo()

If Not IsArray($HoverData) Then Return 0

For $i = 1 To UBound($HoverArray)-1

If $HoverData[4] = $HoverArray[$i] Then

$Temp_Found = $i

EndIf

Next

Select

Case $Temp_Found = 0 And $HoverActive = 1

_HoverUndo()

$HoverActive = 0

Case $Temp_Found > 0 And $HoverActive = 0

$Global_I = $Temp_Found

_HoverFound()

$HoverActive = 1

EndSelect

$Temp_Found = 0

EndFunc

Are not declared in that function, so you would make a parameter for that and pass the array in other words is what I meant.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

Sure, but what could be the use of that, could you give me an example of that?

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

I really like this. Well done!

My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
Share on other sites

Yes, good example. I like those funcs, too.

So long,

Mega

Scripts & functions Organize Includes Let Scite organize the include files

Yahtzee The game "Yahtzee" (Kniffel, DiceLion)

LoginWrapper Secure scripts by adding a query (authentication)

_RunOnlyOnThis UDF Make sure that a script can only be executed on ... (Windows / HD / ...)

Internet-Café Server/Client Application Open CD, Start Browser, Lock remote client, etc.

MultipleFuncsWithOneHotkey Start different funcs by hitting one hotkey different times

Link to comment
Share on other sites

  • Moderators

Sure, but what could be the use of that, could you give me an example of that?

Never mind, I still like the idea alot. I wasn't trying to ridicule, just pointing out that in my opinion, a UDF should be self sufficient, or the variables should be made constants and unique. There would be no need for Global anything, if you just made them parameters or local variables within the UDF itself and returned the values needed for the controls (using the parameters to send the Control ID's to the functions themselves) via the function being called.

Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Link to comment
Share on other sites

Yes, you're right about that, made them all local variables now. It had something to do with a bit of experimenting, but there's indeed no need now for any globals. Tnx for pointing that out :D

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

Another example:

#include <GUIConstants.au3>
#include "_MouseHover.au3"

; == GUI generated with Koda ==
$Form1 = GUICreate("AForm1", 313, 264, -1, -1)
$Label1 = GUICtrlCreateLabel("I'm a trans-label", 24, 16, 50, 34)
$Label2 = GUICtrlCreateLabel("My website!", 3, 244)
GUICtrlSetColor(-1, 0x0000ff)
GUICtrlSetFont(-1, 8, 400, 0, "")
GUICtrlSetCursor(-1, 0)
$Input1 = GUICtrlCreateInput("AInput1", 88, 16, 83, 21, -1, $WS_EX_CLIENTEDGE)
$Button1 = GUICtrlCreateButton("AButton1", 24, 102, 157, 41)
$Button2 = GUICtrlCreateButton("Abutton2", 24, 200, 227, 41)
$Checkbox1 = GUICtrlCreateCheckbox("ACheckbox1", 40, 48, 81, 41)
Dim $Radio[4]
$Radio[1] = GUICtrlCreateRadio("ARadio1", 200, 16, 73, 33)
$Radio[2] = GUICtrlCreateRadio("ARadio2", 200, 72, 81, 41)
$Radio[3] = GUICtrlCreateRadio("ARadio3", 200, 128, 89, 33)
GUISetState(@SW_SHOW)

AdlibEnable("_ProcessHover", 50)

_HoverAddCtrl($Input1)
_HoverAddCtrl($Button1)
_HoverAddCtrl($Button2)
_HoverAddCtrl($Checkbox1)
_HoverAddCtrl($Radio[1])
_HoverAddCtrl($Radio[2])
_HoverAddCtrl($Radio[3])
_HoverAddCtrl($Label1)
_HoverAddCtrl($Label2)

While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
        ExitLoop
    Case $msg = $Label2
        Run(@ComSpec & " /C " & "start http://www.autoitscript.com/forum/index.php?showtopic=28714", "", @SW_HIDE)
    EndSelect
WEnd
Exit


Func _ProcessHover()
    $ctrlid = _HoverCheck()
    If IsArray($ctrlid) Then
        If $ctrlid[0] = "AcquiredHover" Then
            _HoverFound($ctrlid[1])
        Else
            _HoverLost($ctrlid[1])
        EndIf
    EndIf
EndFunc

Func _HoverFound($ControlID)
    For $i = 1 to 3
        If $ControlID = $Radio[$i] Then
            If GUICtrlRead($ControlID) = 4 Then
                GUICtrlSetState($ControlID, $GUI_CHECKED)
            Else
                GUICtrlSetState($ControlID, $GUI_UNCHECKED)
            EndIf
        EndIf
    Next
    Switch $ControlID
        Case $Input1
            GUICtrlSetData($ControlID, "Hovered over!")
        Case $Button1
            $pos = ControlGetPos($Form1, "", $ControlID)
            ControlMove($Form1, "", $ControlID, $pos[0]-10, $pos[1]-5, $pos[2]+20, $pos[3]+10)
            GUICtrlSetState($ControlID, $GUI_DISABLE)
            GUICtrlSetData($ControlID, "Keep your paws off this button!")
        Case $Button2
            $pos = ControlGetPos($Form1, "", $ControlID)
            ControlMove($Form1, "", $ControlID, $pos[0]-10, $pos[1]-5, $pos[2]+20, $pos[3]+10)
            GUICtrlSetState($ControlID, $GUI_DISABLE)
            GUICtrlSetData($ControlID, "Keep your paws off this button!")
        Case $Checkbox1
            If GUICtrlRead($ControlID) = 4 Then
                GUICtrlSetState($ControlID, $GUI_CHECKED)
            Else
                GUICtrlSetState($ControlID, $GUI_UNCHECKED)
            EndIf
        Case $Label1
            For $i = 255 To 1 Step -8
                WinSetTrans($Form1, '', $i)
            Next
        Case $Label2
            GUICtrlSetFont($ControlID, 8, 400, 4)
    EndSwitch
EndFunc

Func _HoverLost($ControlID)
    Switch $ControlID
        Case $Input1
            GUICtrlSetData($ControlID, "Not anymore!")
        Case $Button1
            $pos = ControlGetPos($Form1, "", $ControlID)
            ControlMove($Form1, "", $ControlID, $pos[0]+10, $pos[1]+5, $pos[2]-20, $pos[3]-10)
            GUICtrlSetState($ControlID, $GUI_ENABLE)
            GUICtrlSetData($ControlID, "Feel free to press!")
        Case $Button2
            $pos = ControlGetPos($Form1, "", $ControlID)
            ControlMove($Form1, "", $ControlID, $pos[0]+10, $pos[1]+5, $pos[2]-20, $pos[3]-10)
            GUICtrlSetState($ControlID, $GUI_ENABLE)
            GUICtrlSetData($ControlID, "Feel free to press!")
        Case $Label1
            For $i = 1 To 255 Step 8
                WinSetTrans($Form1, '', $i)
            Next
        Case $Label2
            GUICtrlSetFont($ControlID, 8, 400, 0, '')
    EndSwitch
EndFunc

Edit: I really like the trans-label

Edit2: lol try and click those buttons :D

Edit3: Check out the hyperlink!

Alzo

Edited by marfdaman

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

Thats a good example. I changed the _HoverFound and _HoverUndo functions to allow for SetText($controlID, 'text') to make it easier

;===============================================================================
; Description:          Is called when a defined control loses its hover.
; Parameter(s):     None
; Requirement:          None
; Return Value(s):  None
;===============================================================================
Func _HoverUndo()
    $title = WinGetTitle("")
    If StringLeft($HoverUndo[$Global_I],7) = "SetText" Then
        $execute = "ControlSetText" & Chr(40) & "'" & $title & "',''," & Eval(_StringBetween($HoverUndo[$Global_I], "($", ",")) & "," & _StringBetween($HoverUndo[$Global_I], ",", Chr(41)) & Chr(41)
        Execute($execute)
    Else
        Execute($HoverUndo[$Global_I])
    EndIf
EndFunc



;===============================================================================
; Description:          Is called when a defined control acquires hover.
; Parameter(s):     None
; Requirement:          None
; Return Value(s):  None
;===============================================================================
Func _HoverFound()
    $title = WinGetTitle("")
    If StringLeft($HoverActions[$Global_I],7) = "SetText" Then
        $execute = "ControlSetText" & Chr(40) & "'" & $title & "',''," & Eval(_StringBetween($HoverActions[$Global_I], "($", ",")) & "," & _StringBetween($HoverActions[$Global_I], ",", Chr(41)) & Chr(41)
        Execute($execute)
    Else
        Execute($HoverActions[$Global_I])
    EndIf
EndFunc

Func _StringBetween($s, $from, $to)
    $x = StringInStr($s, $from) + StringLen($from)
    $y = StringInStr(StringTrimLeft($s, $x), $to)
    Return StringMid($s, $x, $y)
EndFunc
Edited by RazerM
My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
Share on other sites

Thats a good example. I changed the _HoverFound and _HoverUndo functions to allow for SetText($controlID, 'text') to make it easier

Very nice, but now the variable (array) HoverArray[$Global_I] can't be used anymore. The reason why I want to keep it, is that it allows for the "hover-setting" of control inside a loop, like this:

Dim $label[11]
$label[1] = GUICtrlCreateLabel(..........)
...
$label[10] = GUICtrlCreateLabel(..........)

For $i = 1 To 10
    _HoverAddCtrl($label[$i], functions)
Next

If you could is so that (the) array(s) can also be used, I'll definitely add it :D

Edit: I've added it anyway, for loops you will just have to resort to ControlSetText.

Edited by marfdaman

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

Yes thats what i thought, SetText doesn't have to be used, so if needed ControlSetText can be used.

My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
Share on other sites

@ RazerM: tnx again!

I just thought of another use, so here it is:

#include <GUIConstants.au3>
#include <_MouseHover.au3>
#NoTrayIcon

Opt("GuiOnEventMode", 1)

Global $fake, $fake, $hoverlabel, $title

$fake = GUICreate("")
$DetectWindow = GUICreate("AForm1", 117, 35, -97, -25, $WS_DLGFRAME+$WS_POPUP, $WS_EX_TOPMOST, $fake)
WinSetOnTop($DetectWindow, "", 1)
WinSetTrans($DetectWindow, "", 1)
$hoverlabel = GUICtrlCreateLabel("Hover Label", 0, 0, 115, 33)
GUICtrlSetBkColor(-1, 0xffffff)
GUISetState(@SW_SHOWNA)


GUISetOnEvent(-3, "_eventhandler")
GUICtrlSetOnEvent($hoverlabel, "_eventhandler")

AdlibEnable("_CheckHover", 50)
_HoverAddCtrl($hoverlabel)

While 1
    Sleep(10000)
WEnd
Exit

Func _eventhandler()
    Switch @GUI_CtrlId
        Case -3
            Exit
        Case $hoverlabel
            _ShowWindow()
            Exit
    EndSwitch
EndFunc

Func _CheckHover()
    $ControlID = _HoverCheck()
    If IsArray($ControlID) Then
        If $ControlID[0] = "AcquiredHover" Then
            _HideWindow()
        Else
            _ShowWindow()
        EndIf
    EndIf
EndFunc


Func _HideWindow()
    Global $title = WinGetTitle("")
    For $i = 254 To 1 Step -12
        WinSetTrans($title, "", $i)
    Next
    WinSetTrans($title, "", 0)
    WinSetState($title, "", @SW_HIDE)
EndFunc

Func _ShowWindow()
    WinSetState($title, "", @SW_SHOW)
    For $i = 0 To 255 Step 8
        WinSetTrans($title, "", $i)
    Next
    WinSetTrans($title, "", 255)
EndFunc

Move your mouse to the upperleft corner of your screen, and watch your active window magically disappear :D ...move it away again and somehow the window pops up again...click in the corner and the program will exit.

Alzo

Edited by marfdaman

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

Good idea! It seems to flicker a bit when it hides it completely.

My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
Share on other sites

Yes, I noticed it too, don't know what's causing it though :D

Anyway, the more I use it, the more I'm starting to realize how useful this actually is for my scripts.

Tnx to all for the positive replies!

Don't take my pic to serious...~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~You Looked, but you did not see!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link to comment
Share on other sites

Edit: I've added it anyway

I noticed the first post hasn't been updated with the new script (SetText and Local Variables)

My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop.
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...