Jump to content
Sign in to follow this  
JohnnyVolcom5

Is it possible?

Recommended Posts

JohnnyVolcom5

Hi All,

Im wondering if its possible to create an input box that takes multiple entries and puts each entry into an array.

For example, I make one input box and type some stuff into it.  When the Enter key is hit, the data from the input box is written into an array.  Then the input box is cleared for a new entry.  The second entry would be the second element [1] in the array. The third entry would be the third element [2] in the array, ect.

Is this possible and if so can someone point me in the right direction?

Any help is greatly appreciated.

 

Share this post


Link to post
Share on other sites
Kidney

just do a for loop for each entry in the array.

Share this post


Link to post
Share on other sites
TheSaint

As said, just create a Loop for your Input Box, and add to your array each time you click OK on the input, making sure that Cancel takes you out of the loop.

Check out Array Management in the UDF (User Defined Functions) section of the Help file.

Knock up as much as you can of what you want, and we will help you with any issues you run into.

Remember, posting some code here, is the best way to get help here.


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites
TheSaint

Another way, is to just keep adding data to a variable, using the Loop mentioned, and a pipe '|' character as separator between each element, and then when all is done, use the StringSplit command to create your array from that variable. That is perhaps simpler, if you are having issues with arrays at this point in your learning.


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites
JohnnyVolcom5

 

 

just do a for loop for each entry in the array.

 

Ok, so got to the point where i need to make the loop for the input box.  But now i dont really know what to do.  Here is the code. 

#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#Include <Array.au3>

Global $Array[10]
HotKeySet ("{ENTER})", "Enter")
Call ("MainWindow")
Func MainWindow()
    Opt("GUIOnEventMode", 1)
    Global $MainWindow = GUICreate("Test", 500, 225)
    GUISwitch ($MainWindow)
    Global $Input= GUICtrlCreateInput("",20,40)
    Global $Go = GUICtrlCreateButton("Go",395,190,100,30)
    GUISetFont(10,400)
    GUICtrlCreateLabel("Enter Stuff Here", 10, 10)
    GUISetFont(8.5,400)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($Go, "Go")
GUISwitch ($MainWindow)
GUISetState(@SW_SHOW, $MainWindow)

While 1
    Sleep(1000) 
WEnd

EndFunc

Func CLOSEClicked()
    If @GUI_WINHANDLE = $MainWindow Then
    Exit
    EndIf
EndFunc

Func Go()
Exit
EndFunc

Func Enter ()
    Call ("AddToArray")
EndFunc


Func AddToArray ()
    If GUICtrlRead ($Input) = "" Then
        MsgBox(0,"","You Didnt Enter Anthing")      
    Else                                             
        $Array [""]= GUICtrlRead ($Input)
    MsgBox (0,"","Success")
    
_ArrayDisplay ($Array)
EndIf
EndFunc

So now i dont really know what to do.  Im kinda struggling with loops.   

Is having the Enter Key set as the "input box reader" going to work?  

Edited by JohnnyVolcom5

Share this post


Link to post
Share on other sites
Kidney

#include <array.au3>

Local $aArray[10]

For $i = 0 to 9 ;Arrays are a base zero index
    $aArray[$i] = InputBox("Input box", "This input box is going to store the value in $aArray[" & $i & "]")
Next

_ArrayDisplay($aArray)

Share this post


Link to post
Share on other sites
JohnnyVolcom5
#include <array.au3>

Local $aArray[10]

For $i = 0 to 9 ;Arrays are a base zero index
    $aArray[$i] = InputBox("Input box", "This input box is going to store the value in $aArray[" & $i & "]")
Next

_ArrayDisplay($aArray)

 

 

Hey Thanks.  I ended up figuring out a way to do it without any loop.  Check it out.  

#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#Include <Array.au3>

Global $Array[10], $i=-1
HotKeySet ("{ENTER})", "Enter")
;HotKeySet ("{ESC})", "Escape")
Call ("MainWindow")
Func MainWindow()
    Opt("GUIOnEventMode", 1)
    Global $MainWindow = GUICreate("Test", 500, 225)
    GUISwitch ($MainWindow)
    Global $Input= GUICtrlCreateInput("",20,40)
    Global $Go = GUICtrlCreateButton("Go",395,190,100,30)
    GUISetFont(10,400)
    GUICtrlCreateLabel("Enter Stuff Here", 10, 10)
    GUISetFont(8.5,400)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($Go, "Go")
GUISwitch ($MainWindow)
GUISetState(@SW_SHOW, $MainWindow)

While 1

    Sleep(1000)  ; Idle around
WEnd

EndFunc

Func CLOSEClicked()
    If @GUI_WINHANDLE = $MainWindow Then
    Exit
    EndIf
EndFunc

Func Go()
Exit
EndFunc

Func Enter ()
    $i=$i+1
    Call ("AddToArray")
EndFunc


Func AddToArray ()
    If GUICtrlRead ($Input) = "" Then
        MsgBox(0,"","You Didnt Enter Anthing")
    Else
$Array[$i]=GUICtrlRead ($Input)

_ArrayDisplay($Array)

    MsgBox (0,"","Success")
    Call ("Clear")
EndIf
EndFunc

Func Clear()
    GUICtrlSetData($Input, "")
EndFunc

What you guys think?

Edited by JohnnyVolcom5

Share this post


Link to post
Share on other sites
Kidney

just so you know, you are using Call correctly, however, if you want to do

Call ("Clear")

you can just do

Clear()

 

also, i would have the $i start at 0 and then when you call the AddToArray func, once that function returns, then you increase $i by 1

Share this post


Link to post
Share on other sites
TheSaint

When it comes to programming, there are usually multiple ways to do something.

Of course, some are much better than others, and more politically correct.

In the end though, it's often down to what works well enough, and what you can understand ... though that latter might not be a requirement for you.

Without knowing the requirement for a GUI, I would recommend along the lines of the simpler Loop and InputBox method as shown by Kidney, but that would need some expansion in my estimation ... if just to escape the loop before 10 iterations are up.

Your GUI has a certain level of complexity to it, that doesn't appear warranted to my quick perusal, but once again, I don't know your overall aim and the need for a GUI.

Personally, I usually avoid the OnEvent approach when using a GUI, and just stick mainly to GuiGetMsg, as in this Help file example.

Func Example1()
    Local $msg

    GUICreate("My GUI") ; will create a dialog box that when displayed is centered
    GUISetState(@SW_SHOW) ; will display an empty dialog box

    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc   ;==>Example1

Each to their own though, and in some minds I would be classed as a 'B' grade programmer, which I can't argue with, but I like the simple approach.

Your use of GUISwitch seems unnecessary too.

EDIT

As well as simplifying what you have done, I would add some complexity back in with various checks, like preventing the addition of the same text to your array ... perhaps because you forgot you'd done it (been interrupted or something).

Edited by TheSaint

AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites
Newb

I did read only the first few replies. Another method could be to treat the textbox input as CSV data and then elaborate it with a StringSplit with delimiters.

Quick example:

in the input box you put:

albert,ronnie,jeff,mark,helen,ruth,ally,jason

then you do a StringSplit( Inputbox, ",")

and you get all of these in an array, every name in a cell.

After that you can do the various checks and casts, if needed, and then elaborate your data.

Here's a simple code example:

 

#include <Array.au3>

$x = InputBox("Names","Input names separated by comma (no spaces)")

If ( $x <> "") Then
    $y=StringSplit($x,",")
    _ArrayDisplay($y)
EndIf
Edited by Newb

I'm a compulsive poster. When I post something, come to read it at least 5 minutes later after the posting, because I will edit it. I edited even this signature a few minutes later after I wrote it.

Share this post


Link to post
Share on other sites
JohnnyVolcom5

When it comes to programming, there are usually multiple ways to do something.

Of course, some are much better than others, and more politically correct.

In the end though, it's often down to what works well enough, and what you can understand ... though that latter might not be a requirement for you.

Without knowing the requirement for a GUI, I would recommend along the lines of the simpler Loop and InputBox method as shown by Kidney, but that would need some expansion in my estimation ... if just to escape the loop before 10 iterations are up.

Your GUI has a certain level of complexity to it, that doesn't appear warranted to my quick perusal, but once again, I don't know your overall aim and the need for a GUI.

Personally, I usually avoid the OnEvent approach when using a GUI, and just stick mainly to GuiGetMsg, as in this Help file example.

Func Example1()
    Local $msg

    GUICreate("My GUI") ; will create a dialog box that when displayed is centered
    GUISetState(@SW_SHOW) ; will display an empty dialog box

    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc   ;==>Example1

Each to their own though, and in some minds I would be classed as a 'B' grade programmer, which I can't argue with, but I like the simple approach.

Your use of GUISwitch seems unnecessary too.

EDIT

As well as simplifying what you have done, I would add some complexity back in with various checks, like preventing the addition of the same text to your array ... perhaps because you forgot you'd done it (been interrupted or something).

 

Thanks for the input.  I wanted to make it into a GUI, so the user will be able to choose to do different tasks with the same data.   

With that being said though, Im going to look more at just "inputbox" instead of creating a GUI after seeing that.  I think it might look better if when u start the program, the input box just pops up, you enter the data and when you are finished THEN you get the GUI that will send to diff functions.  

As for the onevent options.  Its just what i know at the moment.  I only started programming a little over a week ago, so for now i just keep using what i know.  ( For example I didnt even know u could just open up an iput box, thought u had to GUI create lol)

Im slowly learning! :P

Thanks for all the info and help. 

 

 

I did read only the first few replies. Another method could be to treat the textbox input as CSV data and then elaborate it with a StringSplit with delimiters.

Quick example:

in the input box you put:

albert,ronnie,jeff,mark,helen,ruth,ally,jason

then you do a StringSplit( Inputbox, ",")

and you get all of these in an array, every name in a cell.

After that you can do the various checks and casts, if needed, and then elaborate your data.

Here's a simple code example:

 

#include <Array.au3>

$x = InputBox("Names","Input names separated by comma (no spaces)")

If ( $x <> "") Then
    $y=StringSplit($x,",")
    _ArrayDisplay($y)
EndIf

 

Hey thanks for the reply.  There really are a ton of different ways to do it.  

 

 

just so you know, you are using Call correctly, however, if you want to do

Call ("Clear")

you can just do

Clear()

also, i would have the $i start at 0 and then when you call the AddToArray func, once that function returns, then you increase $i by 1

 

Hey thanks, that will save me some typing.  Alot of times I google how to do something and once i find how to do it, i stop reading.  Im guessing Call ("Clear") was the first method when i searched for it.  Maybe i should start reading the whole page. :P

Share this post


Link to post
Share on other sites
kylomas

JohnnyVolcom5,

Removed the unnecessary stuff and reorganized the code.   See comments in code.

#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#Include <Array.au3>

Opt("GUIOnEventMode", 1)

; declare the array local to the script...all functions called by the script can "see" it
; create array with one element and we'll expand the array everytime we write to it

local $array[1]

MainWindow()

Func MainWindow()
    Global $MainWindow = GUICreate("Test", 500, 225)
    Global $Input= GUICtrlCreateInput("",20,40)
    Global $Go = GUICtrlCreateButton("Go",395,190,100,30)
    GUISetFont(10,400)
    GUICtrlCreateLabel("Enter Stuff Here", 10, 10)
    GUISetFont(8.5,400)

    ; both these controls do the same thing so why not call the same event

    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($Go, "CLOSEClicked")

    GUICtrlSetOnEvent($Input, "Enter")

    GUISetState(@SW_SHOW, $MainWindow)

    While 1
        Sleep(1000)  ; Idle around
    WEnd

EndFunc

Func CLOSEClicked()
    Exit
EndFunc

Func Enter ()

    if stringstripws(guictrlread($input),3) <> '' then  ;   strip leading and trainling blanks
        $array[ubound($array)-1] = guictrlread($input)  ;   write to last element in array
        redim $array[ubound($array) + 1]                ;   increase array by one element
        guictrlsetdata($input,'')                       ;   blank input control
    endif

    _arraydisplay($array)

EndFunc

kylomas


Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Share this post


Link to post
Share on other sites
JohnnyVolcom5

JohnnyVolcom5,

Removed the unnecessary stuff and reorganized the code.   See comments in code.

#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#Include <Array.au3>

Opt("GUIOnEventMode", 1)

; declare the array local to the script...all functions called by the script can "see" it
; create array with one element and we'll expand the array everytime we write to it

local $array[1]

MainWindow()

Func MainWindow()
    Global $MainWindow = GUICreate("Test", 500, 225)
    Global $Input= GUICtrlCreateInput("",20,40)
    Global $Go = GUICtrlCreateButton("Go",395,190,100,30)
    GUISetFont(10,400)
    GUICtrlCreateLabel("Enter Stuff Here", 10, 10)
    GUISetFont(8.5,400)

    ; both these controls do the same thing so why not call the same event

    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    GUICtrlSetOnEvent($Go, "CLOSEClicked")

    GUICtrlSetOnEvent($Input, "Enter")

    GUISetState(@SW_SHOW, $MainWindow)

    While 1
        Sleep(1000)  ; Idle around
    WEnd

EndFunc

Func CLOSEClicked()
    Exit
EndFunc

Func Enter ()

    if stringstripws(guictrlread($input),3) <> '' then  ;   strip leading and trainling blanks
        $array[ubound($array)-1] = guictrlread($input)  ;   write to last element in array
        redim $array[ubound($array) + 1]                ;   increase array by one element
        guictrlsetdata($input,'')                       ;   blank input control
    endif

    _arraydisplay($array)

EndFunc

kylomas

 

Hey thanks alot Kylomas, now i know how to Redim arrays! I dont know why i didnt think of doing that instead, i knew u could change the size of arrays.   I also see i didnt need to set a hotkey to read the input box, i can just set an OnEvent for the input box.  (Which makes alot of sense, lol)

As for the Local/Global thing.  I guess i didnt fully understand, but i think i get it now.  I dont need to declare "Global" unless its within a function and i want to pass that value on to  another function.  The Local array at the top wont get "destroyed" until the script is closed since it is outside of any functions.  (Please correct me if im wrong)

Thanks again for the cleanup and the lesson :)

John

 

PS:  I made the "Go" button function because i intend to put code there eventually. ;)

Edited by JohnnyVolcom5

Share this post


Link to post
Share on other sites
BrewManNH

As for the Local/Global thing.  I guess i didnt fully understand, but i think i get it now.  I dont need to declare "Global" unless its within a function and i want to pass that value on to  another function.  The Local array at the top wont get "destroyed" until the script is closed since it is outside of any functions.  (Please correct me if im wrong)

No, you are mistaken, which is easy to do when people use the wrong declaration statements constantly in their code.

Global variables are any variables that will be used anywhere within the script, inside a function or out. Declaring a variable as Local, when you're declaring it outside of a function, is still a global variable yet some here insist on using the wrong declaration statement which makes it confusing to people trying to learn to do things the right way in AutoIt. You should only declare Global scoped variables outside a function, doing it inside the function is considered bad coding style. Local variables are used inside a function, and the variable only exists as long as you're executing code inside that function. You can pass the value of the variable to another function, but that variable stays valid only inside the first function, even if you use the same name in the second function it won't affect the value of the variable in the calling function, unless you use what's called ByRef. Confusing at first but you'll get the hang of it.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
kylomas

@BrewmanNH - This is a debate that never seems to end.  Are you in favor of using the GLOBAL keyword to declare the array because the scope is "global" to the script?


Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Share this post


Link to post
Share on other sites
JohnnyVolcom5

No, you are mistaken, which is easy to do when people use the wrong declaration statements constantly in their code.

Global variables are any variables that will be used anywhere within the script, inside a function or out. Declaring a variable as Local, when you're declaring it outside of a function, is still a global variable yet some here insist on using the wrong declaration statement which makes it confusing to people trying to learn to do things the right way in AutoIt. You should only declare Global scoped variables outside a function, doing it inside the function is considered bad coding style. Local variables are used inside a function, and the variable only exists as long as you're executing code inside that function. You can pass the value of the variable to another function, but that variable stays valid only inside the first function, even if you use the same name in the second function it won't affect the value of the variable in the calling function, unless you use what's called ByRef. Confusing at first but you'll get the hang of it.

 

Ok, so i think i get it now. (then again i thought i understood it before)  

I just read the Local/Global wiki entry again, and i found out what the () are for at the end of a function.  To pass variables.  

You can pass variables from Function 1 to Function 2 using ByRef, change the values of the passed variables while inside function 2, and in turn the variables in Function 1 will change as well.  (Again please correct me if im wrong, but i think i got it now)

1 week with autoit isnt enough :)

 

Once again thanks for the lesson.  

Share this post


Link to post
Share on other sites
TheSaint

Don't worry, you are doing well enough.  :thumbsup:

There's plenty to learn, and then when you've done with that, plenty more also.  :graduated:

 

P.S. You must have come in from a different direction to me, as I started off with (what still seems simpler to me) the GuiGetMsg approach to GUI creation and use.

Edited by TheSaint

AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites
BrewManNH

@BrewmanNH - This is a debate that never seems to end.  Are you in favor of using the GLOBAL keyword to declare the array because the scope is "global" to the script?

I think that if the variable is declared in the global scope, using any other declaration statement other than Global is just destined to confuse people.

Plus it's inaccurate to use Local if it's global scoped because it's not local, it's global. Use the right declarations when posting examples, use whatever you want when posting your own code. I disagree 100% with using Local in a Global scope just because the variable isn't being used anywhere but in the Global arena. This is AutoIt, it's not any other language, a Local variable in a Global location is a Global variable and not Local, don't use the wrong statements, period full stop.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
Melba23

BrewManNH,

I quite agree with you. While I understand the logic behind the practice, I believe that declaring Local variables that are in fact Global in scope more likely to confuse than help new coders. If the variable is treated as Global by AutoIt, declare it as such. :)

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
guinness

It was Valik who pointed this out and not just on one occasion might I add.


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

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  

×