static array in structure out of bound error need suppress

Just starting out? Need help? Post your questions and find answers here.
User avatar
mk-soft
Always Here
Always Here
Posts: 5335
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: static array in structure out of bound error need suppress

Post by mk-soft »

Structure inside structure

Code: Select all

; Use datasection as hard-coded static array , access directly without using ReadData() 

DataSection
   BlockSizeArray:
   Data.l 746,517,695,216,814,371,476,816,662,486   ; 5 block x 19 row = 95 block
   Data.l 521,363,242,191,493,748,166,340,163,308
   Data.l 923,470,455,460,299,362,295,331,474,377
   Data.l 180,204,170,170,661,508,200,200,531,325
   Data.l 373,279,555,370,200,200,230,375,792,428
   Data.l 433,210,223,285,273,363,161,505,335,155
   Data.l 457,482,628,597,442,507,150,418,429,383
   Data.l 200,346,460,115,460, 68,313,338,595,480
   Data.l 623,478,457,150,489,489,271,204,805,550
   Data.l 300,367,209,165,228,193,558,495,606,542
   Data.l 580,428,628,475,640,294,520,429,600,437
   Data.l 270,230,418,310,505,347,372,202,317,248
   Data.l 527,316,316,379,436,228,419,419,423,351
   Data.l 288,288,311,255,525,516,509,440,348,450
   Data.l 338,575,211,481,290,516,264,268,546,266
   Data.l 802,636,417,283,330,325,315,241,270,167
   Data.l 715,306,295,185,732,317,190,286,422,500
   Data.l 478,307,211,214,582,229,872,611,656,232
   Data.l 666,478,710,545,294,404,538,315,561,584
         
EndDataSection


Structure dataArrayColumns
  col.l[10]
EndStructure

Structure dataArrayRows
   row.dataArrayColumns[0]   
EndStructure

*prgData.dataArrayRows = ?BlockSizeArray

;OpenConsole("Hard code array")

For row = 0 To 18
  ;PrintN("Data Row "+ Str(row + 1)
  Debug ("Data Row "+ Str(row + 1))
  For col = 0 To 9
    ;PrintN("Data Column "+ Str(col +1)+" : "+Str(*prgData\row[row]\col[col]))
    Debug ("Data Column "+ Str(col +1)+" : "+Str(*prgData\row[row]\col[col]))
  Next
Next

;Input()
or with block structure

Code: Select all

; Use datasection as hard-coded static array , access directly without using ReadData() 

Structure dataArrayColumns
  col.l[10]
EndStructure

Structure dataArrayRows
   row.dataArrayColumns[19]   
EndStructure

Structure dataArrayBlocks
  block.dataArrayRows[0]
EndStructure

*prgData.dataArrayBlocks = ?BlockSizeArray

OpenConsole("Hard code array")

For block = 0 To 1
  PrintN("Data Block "+ Str(block + 1))
  
  For row = 0 To 18
    PrintN("- Data Row "+ Str(row + 1))
    For col = 0 To 9
      PrintN("-- Data Column "+ Str(col +1)+" : "+Str(*prgData\block[block]\row[row]\col[col]))
    Next
  Next
Next
Input()

End

DataSection
   BlockSizeArray:
   Data.l 746,517,695,216,814,371,476,816,662,486   ; 1. block with 19 rows and 10 columns
   Data.l 521,363,242,191,493,748,166,340,163,308
   Data.l 923,470,455,460,299,362,295,331,474,377
   Data.l 180,204,170,170,661,508,200,200,531,325
   Data.l 373,279,555,370,200,200,230,375,792,428
   Data.l 433,210,223,285,273,363,161,505,335,155
   Data.l 457,482,628,597,442,507,150,418,429,383
   Data.l 200,346,460,115,460, 68,313,338,595,480
   Data.l 623,478,457,150,489,489,271,204,805,550
   Data.l 300,367,209,165,228,193,558,495,606,542
   Data.l 580,428,628,475,640,294,520,429,600,437
   Data.l 270,230,418,310,505,347,372,202,317,248
   Data.l 527,316,316,379,436,228,419,419,423,351
   Data.l 288,288,311,255,525,516,509,440,348,450
   Data.l 338,575,211,481,290,516,264,268,546,266
   Data.l 802,636,417,283,330,325,315,241,270,167
   Data.l 715,306,295,185,732,317,190,286,422,500
   Data.l 478,307,211,214,582,229,872,611,656,232
   Data.l 666,478,710,545,294,404,538,315,561,584
   
   Data.l 1746,1517,1695,1216,1814,1371,1476,1816,1662,1486   ; 2. block with 19 rows and 10 columns
   Data.l 1521,1363,1242,1191,1493,1748,1166,1340,1163,1308
   Data.l 1923,1470,1455,1460,1299,1362,1295,1331,1474,1377
   Data.l 1180,1204,1170,1170,1661,1508,1200,1200,1531,1325
   Data.l 1373,1279,1555,1370,1200,1200,1230,1375,1792,1428
   Data.l 1433,1210,1223,1285,1273,1363,1161,1505,1335,1155
   Data.l 1457,1482,1628,1597,1442,1507,1150,1418,1429,1383
   Data.l 1200,1346,1460,1115,1460,0168,1313,1338,1595,1480
   Data.l 1623,1478,1457,1150,1489,1489,1271,1204,1805,1550
   Data.l 1300,1367,1209,1165,1228,1193,1558,1495,1606,1542
   Data.l 1580,1428,1628,1475,1640,1294,1520,1429,1600,1437
   Data.l 1270,1230,1418,1310,1505,1347,1372,1202,1317,1248
   Data.l 1527,1316,1316,1379,1436,1228,1419,1419,1423,1351
   Data.l 1288,1288,1311,1255,1525,1516,1509,1440,1348,1450
   Data.l 1338,1575,1211,1481,1290,1516,1264,1268,1546,1266
   Data.l 1802,1636,1417,1283,1330,1325,1315,1241,1270,1167
   Data.l 1715,1306,1295,1185,1732,1317,1190,1286,1422,1500
   Data.l 1478,1307,1211,1214,1582,1229,1872,1611,1656,1232
   Data.l 1666,1478,1710,1545,1294,1404,1538,1315,1561,1584

EndDataSection
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
moricode
User
User
Posts: 93
Joined: Thu May 25, 2023 3:55 am

Re: static array in structure out of bound error need suppress

Post by moricode »

mk-soft wrote: Fri May 26, 2023 9:03 am Structure inside structure

Code: Select all

; Use datasection as hard-coded static array , access directly without using ReadData() 

DataSection
   BlockSizeArray:
   Data.l 746,517,695,216,814,371,476,816,662,486   ; 5 block x 19 row = 95 block
   Data.l 521,363,242,191,493,748,166,340,163,308
   Data.l 923,470,455,460,299,362,295,331,474,377
   Data.l 180,204,170,170,661,508,200,200,531,325
   Data.l 373,279,555,370,200,200,230,375,792,428
   Data.l 433,210,223,285,273,363,161,505,335,155
   Data.l 457,482,628,597,442,507,150,418,429,383
   Data.l 200,346,460,115,460, 68,313,338,595,480
   Data.l 623,478,457,150,489,489,271,204,805,550
   Data.l 300,367,209,165,228,193,558,495,606,542
   Data.l 580,428,628,475,640,294,520,429,600,437
   Data.l 270,230,418,310,505,347,372,202,317,248
   Data.l 527,316,316,379,436,228,419,419,423,351
   Data.l 288,288,311,255,525,516,509,440,348,450
   Data.l 338,575,211,481,290,516,264,268,546,266
   Data.l 802,636,417,283,330,325,315,241,270,167
   Data.l 715,306,295,185,732,317,190,286,422,500
   Data.l 478,307,211,214,582,229,872,611,656,232
   Data.l 666,478,710,545,294,404,538,315,561,584
         
EndDataSection


Structure dataArrayColumns
  col.l[10]
EndStructure

Structure dataArrayRows
   row.dataArrayColumns[0]   
EndStructure

*prgData.dataArrayRows = ?BlockSizeArray

;OpenConsole("Hard code array")

For row = 0 To 18
  ;PrintN("Data Row "+ Str(row + 1)
  Debug ("Data Row "+ Str(row + 1))
  For col = 0 To 9
    ;PrintN("Data Column "+ Str(col +1)+" : "+Str(*prgData\row[row]\col[col]))
    Debug ("Data Column "+ Str(col +1)+" : "+Str(*prgData\row[row]\col[col]))
  Next
Next

;Input()
or with block structure

Code: Select all

; Use datasection as hard-coded static array , access directly without using ReadData() 

Structure dataArrayColumns
  col.l[10]
EndStructure

Structure dataArrayRows
   row.dataArrayColumns[19]   
EndStructure

Structure dataArrayBlocks
  block.dataArrayRows[0]
EndStructure

*prgData.dataArrayBlocks = ?BlockSizeArray

OpenConsole("Hard code array")

For block = 0 To 1
  PrintN("Data Block "+ Str(block + 1))
  
  For row = 0 To 18
    PrintN("- Data Row "+ Str(row + 1))
    For col = 0 To 9
      PrintN("-- Data Column "+ Str(col +1)+" : "+Str(*prgData\block[block]\row[row]\col[col]))
    Next
  Next
Next
Input()

End

DataSection
   BlockSizeArray:
   Data.l 746,517,695,216,814,371,476,816,662,486   ; 1. block with 19 rows and 10 columns
   Data.l 521,363,242,191,493,748,166,340,163,308
   Data.l 923,470,455,460,299,362,295,331,474,377
   Data.l 180,204,170,170,661,508,200,200,531,325
   Data.l 373,279,555,370,200,200,230,375,792,428
   Data.l 433,210,223,285,273,363,161,505,335,155
   Data.l 457,482,628,597,442,507,150,418,429,383
   Data.l 200,346,460,115,460, 68,313,338,595,480
   Data.l 623,478,457,150,489,489,271,204,805,550
   Data.l 300,367,209,165,228,193,558,495,606,542
   Data.l 580,428,628,475,640,294,520,429,600,437
   Data.l 270,230,418,310,505,347,372,202,317,248
   Data.l 527,316,316,379,436,228,419,419,423,351
   Data.l 288,288,311,255,525,516,509,440,348,450
   Data.l 338,575,211,481,290,516,264,268,546,266
   Data.l 802,636,417,283,330,325,315,241,270,167
   Data.l 715,306,295,185,732,317,190,286,422,500
   Data.l 478,307,211,214,582,229,872,611,656,232
   Data.l 666,478,710,545,294,404,538,315,561,584
   
   Data.l 1746,1517,1695,1216,1814,1371,1476,1816,1662,1486   ; 2. block with 19 rows and 10 columns
   Data.l 1521,1363,1242,1191,1493,1748,1166,1340,1163,1308
   Data.l 1923,1470,1455,1460,1299,1362,1295,1331,1474,1377
   Data.l 1180,1204,1170,1170,1661,1508,1200,1200,1531,1325
   Data.l 1373,1279,1555,1370,1200,1200,1230,1375,1792,1428
   Data.l 1433,1210,1223,1285,1273,1363,1161,1505,1335,1155
   Data.l 1457,1482,1628,1597,1442,1507,1150,1418,1429,1383
   Data.l 1200,1346,1460,1115,1460,0168,1313,1338,1595,1480
   Data.l 1623,1478,1457,1150,1489,1489,1271,1204,1805,1550
   Data.l 1300,1367,1209,1165,1228,1193,1558,1495,1606,1542
   Data.l 1580,1428,1628,1475,1640,1294,1520,1429,1600,1437
   Data.l 1270,1230,1418,1310,1505,1347,1372,1202,1317,1248
   Data.l 1527,1316,1316,1379,1436,1228,1419,1419,1423,1351
   Data.l 1288,1288,1311,1255,1525,1516,1509,1440,1348,1450
   Data.l 1338,1575,1211,1481,1290,1516,1264,1268,1546,1266
   Data.l 1802,1636,1417,1283,1330,1325,1315,1241,1270,1167
   Data.l 1715,1306,1295,1185,1732,1317,1190,1286,1422,1500
   Data.l 1478,1307,1211,1214,1582,1229,1872,1611,1656,1232
   Data.l 1666,1478,1710,1545,1294,1404,1538,1315,1561,1584

EndDataSection

wow , that was amazing mk-soft , salute.

thanks for this 2 dimension and 3 dimension structured static array.

cheers.
Post Reply