// Harbour multidimensional arrays support function Main() local a := { 100, 200, "Third" } local b := Array( 8832 ) // 8832 elements !!! Maximum for 16 Bit !!! QOut( ValType( a ) ) QOut( ValType( { "A" } ) ) AAdd( a, "new element" ) QOut( Len( a ) ) QOut( a[ 1 ] ) QOut( a[ 2 ] ) QOut( a[ 3 ] ) QOut( a[ 4 ] ) QOut( ATail( a ) ) a[ 3 ] = { "this", { "seems", "to", { "work", "so", "well" } } } * QOut( a[ 3 ][ 2 ][ 3 ][ 1 ] ) // "work" a[ 3, 2 ][ 3, 1 ] := "Harbour power!" // different ways to specify the indexes QOut( a[ 3, 2, 3, 1 ] ) QOut( ValType( b ) ) QOut( Len( b ) ) b[ 8832 ] = "Harbour" QOut( b[ 8832 ] ) QOut( atail( b ) ) ASize( b, 200 ) QOut( Len( b ) ) b[ 100 ] = 10 Test( b[ 100 ]++ ) QOut( b[ 100 ] ) b[ 100 ] = 10 Test( ++b[ 100 ] ) QOut( b[ 100 ] ) b = { 1, { 2, { 4, 5 } } } Test( b[ 2 ][ 2 ][ 1 ]++ ) QOut( b[ 2 ][ 2 ][ 1 ] ) b[ 2 ][ 2 ][ 1 ] = 2 Test( ++b[ 2 ][ 2 ][ 1 ] ) QOut( b[ 2 ][ 2 ][ 1 ] ) ReleaseTest() return nil function Test( n ) QOut( n ) return nil function ReleaseTest() local a := { 1, 2, 3 } return nil