Sign in to follow this  
Followers 0
Xibalba

Quick question on declaring an array variable

13 posts in this topic

Local $numbers[4]

$numbers = [23, 65, 3, 88]

Gives syntax error.

How do I create an array var, knowing it's size, but don't want to set the values upon declaration nor nulling every slot?

Ty

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Local $numbers[4] = [23, 65, 3, 88]

Edited by MikahS

Snips & Scripts


My Snips: graphCPUTemp ~ getENVvars
My Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4

Feel free to use any of my code for your own use.                                                                                                                                                           Forum FAQ

 

Share this post


Link to post
Share on other sites
Local $numbers[4] = [23, 65, 3, 88]

 

Hi,

I don't want to set values upon declaration.

I'm switching with If conditions, setting different numbers.

If true

$numbers = 1 2 3 4

Else

$numbers = 5 6 7 8

etc

Share this post


Link to post
Share on other sites

Local $numbers[500]


; later on...

$numbers[1] = "chuck"
$numbers[2] = "hank"
$numbers[3] = "biff"
$numbers[4] = "thor"
$numbers[5] = "egbert"

Declare many, use as many as you want


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites

If you don't want to set the values upon declaration you must do like this

Local $numbers[4] 

$numbers[0] = 23
$numbers[1] = 65
$numbers[2] = 3
$numbers[3] = 88
1 person likes this

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

is there no shorter way codewise?

I actually choose an array to keep the code to the minimum, but with this I can rather use four normal variables like $number1 $number2 ...

Edit: Hint - I don't use 1,2,3,4 values for my application

Edited by Xibalba

Share this post


Link to post
Share on other sites

Xibalba,

You can of course just redeclare the array when you know the values you wish to use: :)

Local $numbers[4]

Local $numbers[4] = [23, 65, 3, 88]
As to arrays keeping "code to the minimum" that rather depends on what you want to do with their contents. It makes it easier to loop through them using a For...Next or other loop but if all the elements are stand-alone there could well be little to be gained. A little more detail might help. ;)

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
Edit: Hint - I don't use 1,2,3,4 values for my application

 

It was an example ;)


Snips & Scripts


My Snips: graphCPUTemp ~ getENVvars
My Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4

Feel free to use any of my code for your own use.                                                                                                                                                           Forum FAQ

 

Share this post


Link to post
Share on other sites

M23,

Thanks, but why not skip the Local $numbers[4] line altogether then?

Share this post


Link to post
Share on other sites

Xibalba,

You can indeed skip that line - but you seemed to require it in your OP so I left it in. The main point is that you can redeclare an array whenever you wish - but you will overwrite the existing content when you do so. ;)

As I said before - a little more detail of exactly what you are trying to do might help. Just asking basic array questions is unlikely to get you a satisfactory answer - giving us a concrete case might well do just that. ;)

m23

1 person likes this

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

Well my question is answered, I'm very satisfied.

Thanks everyone who posted! :)

Share this post


Link to post
Share on other sites

Where exactly are your variables coming from, there are a number of ways you can get an array, for example.

Local $aArray = StringSplit(FileRead("myfile.txt"), ":")

Where myfile.txt looks something like this.

var1:var2:var3:var4:123:ABC

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

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