Gruhn

Array variable has incorrect number of subscripts or subscript dimension range exceeded after get array value to a new var

6 posts in this topic

#1 ·  Posted

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

Local  $arr[2][2] = [[1, 2], [2, 3]]

For $c = 0 To UBound($arr,  $UBOUND_COLUMNS)-1
    For $r = 0 To UBound($arr,  $UBOUND_ROWS)-1
    Switch $arr[$r][$c]
      
         $arr[$r][$c]= $arr[$r][$c] & "colum: " & $c & "row: " & $r
      Next
       If $c = 0 Then
        ;_ArrayDisplay($arr)
         $adressid = $arr[$r][$c] & "colum: " & $c & "row: " & $r
      EndIf
 Next
   _ArrayDisplay($arr)

why i can't write the value to variable ($adressid)

Share this post


Link to post
Share on other sites



#2 ·  Posted

Gruhn,

Welcome to the AutoIt forums.

The error occurs because you have increased $r beyond the array bounds when running the For loop - on loop exit $r is one more than the limit set (0 To UBound($arr,  $UBOUND_ROWS)-1) and so outside the array.

By the way, what is the Switch line doing in there?

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

#3 ·  Posted

Thank you for the fast answer. Do not break the loop on $c or $r $UBOUND_ROWS /COLUMNS -1? If I use:

For $c = 0 To UBound($arr,  $UBOUND_COLUMNS)-2
For $r = 0 To UBound($arr,  $UBOUND_ROWS)-2

it does not reach the whole array. Should I use another loop?

The switch is waste-code ...

Share this post


Link to post
Share on other sites

#4 ·  Posted

Gruhn,

What are the parameters when you need to set the $adressid variable? At the moment it looks as though you will set it just the once when $c = 0, so why does it need to be in the loop at all? Perhaps a bit of explanation as to exactly what you are doing might help clear the air.

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

#5 ·  Posted

The goal is to compare the current value with the following value in a column. If the values are the same, a value from the same row with the following of the same column should be added and written into the same row so that the next row can be deleted.
Is it not possible to buffer the value?

Share this post


Link to post
Share on other sites

#6 ·  Posted

Gruhn,

Of course you can "buffer" values - you just store them in a variable. But I am afraid that I do not understand what you are trying to do - can you provide a "before/after" example of the array on which you are working?

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

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