Array 4 x 5 in SmartMS

Top 

Example code : Array 4 x 5 in SmartMS

procedure TForm1.W3Button6Click(Sender: TObject);

var

   // Define dynamic array

   multiArray : Array of Array of Integer;  // Multi-dimension array

   i,j : Integer;

 

 begin

 //SetLength(multiArray, 4, 5); --> 4 rows x 5 cols

   // Set the length of the 1st dimension of the multi-dim array

   multiArray.SetLength(5);   // SetLength(multiArray, 5);

 

   // Set the length of the 4 sub-arrays to different sizes

   multiArray[0].SetLength(5);

   multiArray[1].SetLength(5);

   multiArray[2].SetLength(5);

   multiArray[3].SetLength(5);

 

   // Set and show all elements of this array

   for i := 0 to High(multiArray) do

     for j := 0 to High(multiArray[i]) do

     begin

       multiArray[i,j] := i+j;

       ShowMessage('multiArray['+IntToStr(i)+','+IntToStr(j)+'] = '+

                   IntToStr(multiArray[i,j]));

     end;

 end;

0 1 2 3 4

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

---------------------

 

JS output:

      var multiArray = [];

      var i$8 = 0;

      var j$2 = 0;

      $ArraySetLenC(multiArray,5,function (){return []});

      $ArraySetLen($DIdxR(multiArray,0,""),5,0);

      $ArraySetLen($DIdxR(multiArray,1,""),5,0);

      $ArraySetLen($DIdxR(multiArray,2,""),5,0);

      $ArraySetLen($DIdxR(multiArray,3,""),5,0);

      var $temp27;

      for(i$8 = 0,$temp27 = multiArray.length;i$8<$temp27;i$8++) {

         var $temp28;

         for(j$2 = 0,$temp28 = $DIdxR(multiArray,i$8,"").length;j$2<$temp28;j$2++) {

            $DIdxW($DIdxR(multiArray,i$8,""),j$2,i$8+j$2,"");

            alert("multiArray["+i$8.toString()+","+j$2.toString()+"] = "+($DIdxR($DIdxR(multiArray,i$8,""),j$2,"")).toString());

         }

      }