А также:

OSCAT‎ > ‎Basic Library‎ > ‎

_BUFFER_INSERT

Тип Функция : BOOL

Входы STR : STRING (копируемая строка)

POS: INT (Позиция, с которой Строка копируется в буфер)

PT : POINTER TO BYTE (Адрес буфера)

SIZE : UINT (Размер буфера)

Выходы BOOL (Возвращает TRUE)


Функция _BUFFER_INSERT копирует строкув произвольный массив байтов и перемещает оставшуюся часть массива на длину строки. Строка записывается в буфер начиная с произвольной позиции POS. Первый элемент массива имеет номер позиции 0. При вызове функции передается указатель на обрабатываемый массив и его размер в байтах. В CoDeSys вызов происходит следующим образом: _BUFFER_INSERT(STR, POS, ADR(Array), SIZEOF(Array)), где Array - имя обрабатываемого массива. ADR является стандартной функцией, которая возвращает указатель на массив, а SIZEOF - стандартной функцией, которая вычисляет размер массива. Функция всегда возвращает TRUE. Заданный при помощи указателя массив будет обрабатываться непосредственно в памяти.

Этот способ обработки массива является очень эффективным, поскольку не требует дополнительной памяти, и передаваемые значения не нужно копировать.

Пример: _BUFFER_INSERT(STR, POS, ADR(bigarray), SIZEOF(bigarray))

Комментарии

Maxim Ananskih - 29.09.2010 14:18

Использует: _STRING_TO_BUFFER