Initializing arrays

In this category you can exchange your programming questions and solutions.
Post Reply
Bob82604
Posts: 6
Joined: Fri Dec 30, 2016 10:30 pm

Initializing arrays

Post: # 1273Post Bob82604
Mon Jan 09, 2017 5:24 am

I am working on a custom component that needs an external array.
This array is a 16 X20 byte array.
I there a way to initialize this array upon creation?

RapidQ allows :

defbyte QTIL311ARRAY(0 to 15 , 0 to 19) = { _
      0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,1,0, _
      0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1, _
      1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,0,1,1,1,1, _
      1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1,1,1,0, _
      1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,1, _
      1,1,1,1,1,0,1,0,1,1,1,0,0,1,0,1,1,1,1,0, _
      0,1,1,0,1,0,1,0,1,1,1,0,1,1,1,1,0,1,1,0, _
      1,1,1,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1, _
      0,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,0, _
      0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,0,1,1,0, _
      0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1, _
      1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, _
      0,1,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,1,1,1, _
      1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0, _
      1,1,1,1,1,0,1,0,1,1,1,0,1,0,1,0,1,1,1,1, _
      1,1,1,1,1,0,1,0,1,1,1,0,1,0,1,0,1,0,0,0 _
    }

Is there something in fnx?

EricE
Posts: 2
Joined: Wed Jul 27, 2022 3:35 am

Re: Initializing arrays

Post: # 98386Post EricE
Tue Aug 09, 2022 5:47 am

Hello Bob.
Here is a program that will initialize the array.
The MemCopy function is used to copy the data in the string arrays to the byte array.
Eric

' Initializing arrays
'
' RapidQ example
'
' defbyte QTIL311ARRAY(0 to 15 , 0 to 19) = { _
' 0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,0,1,1,0, _
' 0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1, _
' 1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,0,1,1,1,1, _
' 1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1,1,1,0, _
' 1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,1, _
' 1,1,1,1,1,0,1,0,1,1,1,0,0,1,0,1,1,1,1,0, _
' 0,1,1,0,1,0,1,0,1,1,1,0,1,1,1,1,0,1,1,0, _
' 1,1,1,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1, _
' 0,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,0, _
' 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,0,1,1,0, _
' 0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1, _
' 1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0, _
' 0,1,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,1,1,1, _
' 1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0, _
' 1,1,1,1,1,0,1,0,1,1,1,0,1,0,1,0,1,1,1,1, _
' 1,1,1,1,1,0,1,0,1,1,1,0,1,0,1,0,1,0,0,0 _
' }
'

Dim QTIL311ARRAY(16,20) as Byte
Dim QData(20) as String
Dim Q0 as String
DIM Q1 as String
Dim i as integer
Dim j as integer
Dim memAddr1 as integer
Dim memAddr2 as integer

Print "Starting"

Q0 = CHR$(0)
Q1 = CHR$(1)

' Columns of data
QData(0) = Q0+Q0+Q1+Q1+Q1+Q1+Q0+Q1+Q0+Q0+Q0+Q1+Q0+Q1+Q1+Q1
QData(1) = Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1
QData(2) = Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1
QData(3) = Q0+Q1+Q0+Q0+Q0+Q1+Q0+Q1+Q0+Q0+Q0+Q0+Q1+Q0+Q1+Q1
QData(4) = Q1+Q0+Q0+Q0+Q1+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1
QData(5) = Q1+Q1+Q1+Q1+Q1+Q0+Q0+Q1+Q1+Q1+Q1+Q1+Q0+Q1+Q0+Q0
QData(6) = Q1+Q0+Q0+Q0+Q1+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1
QData(7) = Q1+Q1+Q1+Q1+Q1+Q0+Q0+Q1+Q1+Q1+Q1+Q1+Q0+Q1+Q0+Q0
QData(8) = Q1+Q0+Q0+Q0+Q1+Q1+Q1+Q0+Q0+Q0+Q1+Q1+Q1+Q1+Q1+Q1
QData(9) = Q0+Q0+Q1+Q1+Q1+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q0+Q0+Q1+Q1
QData(10) = Q0+Q0+Q1+Q1+Q1+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q0+Q0+Q1+Q1
QData(11) = Q1+Q1+Q0+Q0+Q1+Q0+Q0+Q1+Q0+Q1+Q1+Q0+Q0+Q1+Q0+Q0
QData(12) = Q1+Q0+Q1+Q0+Q0+Q0+Q1+Q0+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1
QData(13) = Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q0+Q1+Q0+Q0
QData(14) = Q1+Q0+Q1+Q0+Q0+Q0+Q1+Q0+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1
QData(15) = Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q1+Q0+Q1+Q0+Q0
QData(16) = Q0+Q0+Q1+Q1+Q0+Q1+Q0+Q0+Q0+Q0+Q1+Q1+Q0+Q1+Q1+Q1
QData(17) = Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q0
QData(18) = Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q0+Q1+Q1+Q1+Q1+Q0
QData(19) = Q0+Q1+Q1+Q0+Q1+Q0+Q0+Q1+Q0+Q0+Q1+Q0+Q1+Q0+Q1+Q0

' Initialize array
for i=0 to 19
memAddr1 = varptr(QTIL311ARRAY(0,i))
memAddr2 = varptr(QData(i))
memcopy memAddr1, memAddr2, 16
next i

Print
Print "QTIL311ARRAY"
for i=0 to 15
for j=0 to 19
Print " "+Hex$(QTIL311ARRAY(i,j),1);
next j
Print
next i

Print
Print "Finished"

While Inkey$="": Wend
End

Post Reply