Есть два массива, [1..7] и [1..7,1..600]. Как их можно объединить в один массив [1..7,1..601]? Подскажите.
Нет решения - размерность строк у массивов разная
у первого - 7 элементов
у второго - 600
Можно только два массива, [1..7] и [1..600,1..7] объединить в такой [1..601,1..7]
Быстро и эффективно:
Код:
VAR
A: ARRAY [1..600,1..7] OF WORD;
B: ARRAY [1..7] OF WORD;
C: ARRAY [1..601,1..7] OF WORD;
END_VAR
SysMemCpy(ADR(C), ADR(A), SIZEOF(A)); (*Копируем весь массив A[1..600,1..7] в начало массива С[1..601,1..7]*)
SysMemCpy(ADR(C) + SIZEOF(A), ADR(B), SIZEOF(B)); (*теперь в последнюю строку(601) массива С[1..601,1..7] копируем строку из массива B:[1..7]*)
Используется библиотека SysLibMem
Вложение 38823
ЗЫ.
Функция SysMemCpy() в эмуляторе не работает. Только в ПЛК
Для проверки можно использовать PLCWinNT