Jump to content
Sign in to follow this  
Guest autoit3

$a[0] = $zero ;ERROR - ?! why

Recommended Posts

Guest autoit3

$a[0] = 0
$a^ ERROR

Error: Expected a "=" operator in assignment statement.

---

How do I assign a value to an element of the array $a?

My above attempt resulted in error.

Edit: Title should read "$a[0] = 0" instead of "$a[0] = $zero", question still stands.

Edited by autoit3

Share this post


Link to post
Share on other sites
OminousIdol

;//Just A Example!
Dim $array[5], $zero

$array[0] = $zero
$array[1] = $one
$array[2] = $two
$array[3] = "Three";If you are setting a varible or a arry to hold text use quotes!

Thats all you need to do to set arrays to whatever you want!

OminousIdol

Share this post


Link to post
Share on other sites
Guest autoit3

;//Just A Example!
Dim $array[5], $zero

$array[0] = $zero
$array[1] = $one
$array[2] = $two
$array[3] = "Three";If you are setting a varible or a arry to hold text use quotes!

Thats all you need to do to set arrays to whatever you want!

OminousIdol

<{POST_SNAPBACK}>

Thank You!!

--

Some

$a[0] = 0
statements still geneate the error "Expected a "=" operator in assignment statement" -- any ideas? Edited by autoit3

Share this post


Link to post
Share on other sites
Guest BL@(K-R34P3R

I think it's because you need more than just the $a[0], I think you also need at least $a[1] or another one.

Share this post


Link to post
Share on other sites
Guest autoit3

I think it's because you need more than just the $a[0], I think you also need at least $a[1] or another one.

<{POST_SNAPBACK}>

Global $a[2]
$a[0] = 0;fine
$a[0] = 0;error, "needs = operator"

Pretty sure it is a bug?

Update:

Apparently the more elements I declare in the $a array the more times it allows me to initilize the zeroith element. It seems to also randomly complain that $a[0] = 0 is missing a "=". Either this is a bug in the code or arrays are handeled irregularly in AutoIt.. ?

I need to be able to constantly reset $a[0] within a loop structure, for some reason I appear to be limited by the amount of elements I declare in the array. Help please!

Edited by autoit3

Share this post


Link to post
Share on other sites
MHz

What about this example?

Global $array[4], $zero = 2, $one = 5, $two = 10

$array[0] = $zero
$array[1] = $one
$array[2] = $two
$array[3] = "Three";If you are setting a varible or a arry to hold text use quotes!
MsgBox(0,'title' , 'This equals  ' & $array[3])

Does this help?

Share this post


Link to post
Share on other sites
ZeDMIN

Global $a[2]
$a[0] = 0;fine
$a[0] = 0;error, "needs = operator"

Pretty sure it is a bug?

Update:

Apparently the more elements I declare in the $a array the more times it allows me to initilize the zeroith element. It seems to also randomly complain that $a[0] = 0 is missing a "=". Either this is a bug in the code or arrays are handeled irregularly in AutoIt.. ?

I need to be able to constantly reset $a[0] within a loop structure, for some reason I appear to be limited by the amount of elements I declare in the array. Help please!

<{POST_SNAPBACK}>

Global $a[2]
$a[0] = 0
$a[0] = 0
$a[0] = 0
$a[0] = 0
$a[0] = 0
$a[0] = 0
For $I = 1 To 100
   $a[0] = 0
Next

MsgBox(0, '', $a[0])

that works fine here. maybe theres some other error in your script? a complete copy+paste would be helpful i think. (if it's not too big)

Greetings,

ZeD

Share this post


Link to post
Share on other sites
Guest autoit3

I deleted the script so it doesent matter anymore. Thanks for the help though.

Share this post


Link to post
Share on other sites
normeus

I deleted the script so it doesent matter anymore. Thanks for the help though.

<{POST_SNAPBACK}>

yet another sample:

Dim $a[5]

$a[0] = 0

$a[4] = " 5th element"

MsgBox(1, "", $a[0] & $a[4])

so, an array has to be DIM (dimensioned) for autoit3 to know how big it will be

(because it has to reserve a chunk of memory for the array)

my array $a[5] has 5 elements from $a[0] to a$[4]

DON'T try to use $a[5] it does not exist because the index starts at zero

I use MsgBox as my trusty print command for debugging purposes

Share this post


Link to post
Share on other sites
Matt @ MPCS

yet another sample:

Dim $a[5]

$a[0] = 0

$a[4] = " 5th element"

      MsgBox(1, "", $a[0] & $a[4])

so, an array has to be DIM (dimensioned)  for autoit3 to know how big it will be

(because it has to reserve a chunk of memory for the array)

my array $a[5]  has 5 elements from $a[0] to a$[4]

DON'T  try to use $a[5] it does not exist  because the index starts at zero

I use MsgBox as my trusty print command for debugging purposes

<{POST_SNAPBACK}>

I didn't think AutoIt reserved the memory space until you place a value in the memory slot?

*** Matt @ MPCS

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  

×