Я пытаюсь изучить QBasic для программирования на Amstrad Alt-286. В одной из своих программ я использую несколько определяемых пользователем типов, иногда массивы TYPE. В некоторых из них я хочу объявить такой массив:
TYPE TestType
dataArray AS STRING * 4 'Since "dataArray AS _BYTE * 4" doesn't work (wrong syntax compiler says).
END TYPE
Затем я объявляю свой тип следующим образом:
DIM customType(2) AS TestType
И как только я хочу написать в dataArray моего типа вот так:
customType(1).dataArray(2) = 3
Компилятор говорит мне, что это недопустимый синтаксис.
Тогда как сохранить массив в определенном ТИПЕ? И как его использовать?
STRING
переменной длины внутриTYPE
. Если вам нужна функциональность, подобная массиву, QB64 предлагает тип_MEM
, и вы можете определитьdataArray AS _MEM
. Скорее всего, вас заинтересуют функции_MEMNEW
и_MEMFREE
для выделения и освобождения блока памяти (см. раздел документации «См. также»). Возможно, вы захотите изучить значения полей типа_MEM
с переменными разных типов, используя функцию_MEM
, так как этот аспект документирован на данный момент несколько плохо. - person   schedule 24.11.2018_MEM
, поскольку был добавлен тег QB64, и, насколько мне известно, вы не можете нацеливаться на Amstrad Alt-286, используя QB64. QB64 предназначен для запуска старых программ QB 4.5 на современных 32-битных и 64-битных платформах, таких как Windows, macOS/OS X и Linux. Боюсь, я не могу помочь с вашей целью, так как недостаточно знаю о ней. - person   schedule 24.11.2018