Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arrays inside Types?
#2
No in the sense that you are trying to implement. There is a workaround that I use.  Basically you are storing numbers in a long string. Here is a demo of that. Arrays in UDT's has been on my wish list for years.

Code: (Select All)

' String Array Test
' Arrays must start at index 1

TYPE tUDT
  longArray AS STRING * 1028 ' arraysize * 4 + 4
  a AS INTEGER
  b AS _BYTE
  c AS LONG
  longArray1 AS STRING * 1028
END TYPE

DIM udt AS tUDT
DIM iter AS LONG

FOR iter = 1 TO 256
  SetArrayLong udt.longArray, iter, iter * 2000000
  PRINT iter; ": "; getArrayLong(udt.longArray, iter)
  SetArrayLong udt.longArray1, iter, iter * 2000000
  PRINT iter; ": "; getArrayLong(udt.longArray1, iter)

NEXT

FUNCTION getArrayLong& (s AS STRING, p AS LONG)
  IF p > 0 AND p * 4 + 4 <= LEN(s) THEN getArrayLong = CVL(MID$(s, p * 4, 4))
END FUNCTION

SUB SetArrayLong (s AS STRING, p AS LONG, v AS LONG)
  IF p > 0 AND p * 4 + 4 <= LEN(s) THEN MID$(s, p * 4) = MKL$(v)
END SUB

FUNCTION getArraySingle! (s AS STRING, p AS LONG)
  IF p > 0 AND p * 4 + 4 <= LEN(s) THEN getArraySingle = CVS(MID$(s, p * 4, 4))
END FUNCTION

SUB SetArraySingle (s AS STRING, p AS LONG, v AS SINGLE)
  IF p > 0 AND p * 4 + 4 <= LEN(s) THEN MID$(s, p * 4) = MKS$(v)
END SUB

FUNCTION getArrayInteger% (s AS STRING, p AS LONG)
  IF p > 0 AND p * 2 + 2 <= LEN(s) THEN getArrayInteger = CVI(MID$(s, p * 2, 2))
END FUNCTION

SUB SetArrayInteger (s AS STRING, p AS LONG, v AS INTEGER)
  IF p > 0 AND p * 2 + 2 <= LEN(s) THEN MID$(s, p * 2) = MKI$(v)
END SUB

FUNCTION getArrayDouble# (s AS STRING, p AS LONG)
  IF p > 0 AND p * 8 + 8 <= LEN(s) THEN getArrayDouble = CVL(MID$(s, p * 8, 8))
END FUNCTION

SUB SetArrayDouble (s AS STRING, p AS LONG, v AS DOUBLE)
  IF p > 0 AND p * 8 + 8 <= LEN(s) THEN MID$(s, p * 8) = MKD$(v)
END SUB

You could do something similar with memory blocks but it is a bit more cluncky.
Reply


Messages In This Thread
Arrays inside Types? - by Ikerkaz - 03-04-2026, 09:44 PM
RE: Arrays inside Types? - by justsomeguy - 03-04-2026, 09:57 PM
RE: Arrays inside Types? - by Jack - 03-04-2026, 10:39 PM
RE: Arrays inside Types? - by bplus - 03-04-2026, 11:45 PM
RE: Arrays inside Types? - by hsiangch_ong - Yesterday, 01:32 AM
RE: Arrays inside Types? - by ahenry3068 - Yesterday, 04:21 PM
RE: Arrays inside Types? - by Jack - Yesterday, 02:14 PM
RE: Arrays inside Types? - by Kernelpanic - Yesterday, 03:27 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Arrays as UDTs Pete 26 1,169 02-06-2026, 04:31 AM
Last Post: bplus
  Preserving multi-dim arrays Pete 5 408 12-19-2025, 03:17 PM
Last Post: Dimster
  Array out of passing arrays... Pete 2 401 09-22-2025, 08:53 PM
Last Post: ahenry3068
  Methods in types bobalooie 7 1,535 01-30-2025, 08:00 PM
Last Post: Pete
  C++ types > QB64 types: do we have an equivalent QB64PE page? madscijr 5 1,098 06-01-2024, 03:44 AM
Last Post: grymmjack

Forum Jump:


Users browsing this thread: Jack, justsomeguy, Steffan-68, 1 Guest(s)