Jump to content

How to add data to a specific column without adding a row


Recommended Posts

Hello

I am trying to insert or replace data in an existing 2D array. _ArrayInsert seems to always add a row when inserting the data to the specified column.

This code is from the _ArrayInsert Function Reference, with only the modified sample I think I want to use...

#include <Array.au3>

Local $aArray_Base[10][3]
For $i = 0 To 9
    For $j = 0 To 2
        $aArray_Base[$i][$j] = $i & " - " & $j
    Next
Next
_ArrayDisplay($aArray_Base, "2D - Original")

; Insert single item in defined column
$aArray = $aArray_Base
_ArrayInsert($aArray, 0, "True", 2) ;  <- I want to add this data to Row 0, Column 3 but retain the data in Columns_ and 1.
_ArrayDisplay($aArray, "2D - Defined column")

If you run the above code you will see it adds a new row and inserts "True" into column 3.

How can I do this without adding a row?

Link to post
Share on other sites

I am not sure of the complete plan here... 

But this works...

#include <Array.au3>

Local $aArray_Base[10][3]
For $i = 0 To 9
    For $j = 0 To 2
        $aArray_Base[$i][$j] = $i & " - " & $j
    Next
Next
_ArrayDisplay($aArray_Base, "2D - Original")

; Insert single item in defined column
$aArray = $aArray_Base
$aArray[0][2] = "True"
;_ArrayInsert($aArray, 0, "True", 2) ;  <- I want to add this data to Row 0, Column 3 but retain the data in Columns_ and 1.
_ArrayDisplay($aArray);, "2D - Defined column")

8)

NEWHeader1.png

Link to post
Share on other sites

I'm taking a stab too, this maybe?

#include <Array.au3>

Local $aArray_Base[10][3]
For $i = 0 To 9
    For $j = 0 To 2
        $aArray_Base[$i][$j] = $i & " - " & $j
    Next
Next

_ArrayColInsert($aArray_Base , ubound($aArray_Base , 2))
$aArray_Base[0][ubound($aArray_Base , 2) - 1] = "TRUE"
_ArrayDisplay($aArray_Base)

 

edit: ohhhh, column 2 (the third one), stupid 0-based language.

Edited by iamtheky

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Burgs
      Greetings,
        I seem to be having a problem trying to insert values into an array in excess of the size of the array (its Ubound value).  I thought the command would simply 'ReDim' the array in order to add another value...however that does not seem to be happening.  My code is as below:
       
      ;**SET DYNAMIC ARRAY DIMENSIONS... $vValue = Int($_STRUCTURE_LEVEL - 1) ;seek the '$_HIERARCHY' level that is one 'previous' to the 'current' value...! $iStart = 0 ;set to begin search from element "0" in array... Do $_Files_Located = _Arraysearch($_HIERARCHY, $vValue, $iStart) if Int($_Files_Located) <> -1 Then $iEnd = 1 For $_RIGGING = 0 to Ubound($_LINE_DETAIL3) - 1 _ArrayInsert($_STRUCTURES, $_Files_Located + $iEnd, String($_LINE_DETAIL3[$_RIGGING])) _ArrayInsert($_HIERARCHY, $_Files_Located + $iEnd, Int($_STRUCTURE_LEVEL)) _ArrayInsert($_INFERIOR_TMPLS, $_Files_Located + $iEnd, Int(-1)) $iEnd += 1 ;increment EACH ITERATION... Next ;Next $_RIGGING EndIf ;'$_Files_Located' NOT "-1"...value for previous '$_STRUCTURE_LEVEL' ;was located in '$_HIERARCHY' array... $iStart += (Ubound($_LINE_DETAIL3) + 1) ;increment the offset index element position to begin the next search... ;"+ 1" to INCLUDE the 'parent' ('searched') UNIT...! Until $_Files_Located == -1 ;end loop when previous '$_STRUCTURE_LEVEL' is NOT found in '$_HIERARCHY' array... ;**  
        This code routine works perfectly fine except when the 'searched' value ($_Files_Located) happens to be the final element position in the searched array...how can I modify this routine so that the final additions at the end of the array(s) are made?  I thank in advance for any replies. 
       
    • By nill
      I need add record on last element of array
      When I try add item in the last element of array, nothing happend
       
       
      #include <Array.au3> Local $avArray[10] $avArray[0] = "JPM" $avArray[1] = "Holger" $avArray[2] = "Jon" $avArray[3] = "Larry" $avArray[4] = "Jeremy" $avArray[5] = "Valik" $avArray[6] = "Cyberslug" $avArray[7] = "Nutster" $avArray[8] = "JdeB" $avArray[9] = "Tylo" _ArrayDisplay($avArray, "$avArray before _ArrayInsert()") _ArrayInsert($avArray, 10, "= add =") _ArrayDisplay($avArray, "$avArray after _ArrayInsert()") if I try _ArrayInsert($avArray, 9, "= add =")
      elemet $avArray[9] = "Tylo" will be under
×
×
  • Create New...