/** * \brief Vector Example * * This example shows how to create, fill, modifiy and dispose a vector. * * \author Mihael Schmidt * \date 30.01.2009 */ HDFTACTGRP(*NO) HACTGRP(*CALLER) *--------------------------------------------------------------- * PEP *--------------------------------------------------------------- D main PR extpgm('VECTOR01') D main PI *--------------------------------------------------------------- * Prototypen *--------------------------------------------------------------- /copy VECTOR_H *------------------------------------------------------------------------- * Variables *------------------------------------------------------------------------- D vector S * D i S 10I 0 D value S 10I 0 /free // create the vector vector = vector_create(); // add some values for i = 1 to 5; vector_addInteger(vector : i); endfor; dsply 'Original content:'; exsr showVector; // reverse the order of the entries vector_reverse(vector); dsply 'In reverse order:'; exsr showVector; // swap entry 2 and 4 (index is 0-based so it is really 1 and 3) vector_swap(vector : 1 : 3); dsply 'Entries 2 and 4 swapped:'; exsr showVector; value = 11; vector_replace(vector : 2 : %addr(value) : %size(value)); dsply 'Entry 3 replaced with value 11:'; exsr showVector; vector_removeRange(vector : 1 : 3); dsply 'Removed entries 2 - 4:'; exsr showVector; // free all allocated memory of the vector vector_dispose(vector); *inlr = *on; return; begsr showVector; for i = 0 to vector_getSize(vector) - 1; dsply %char(vector_getInteger(vector : i)); endfor; endsr; /end-free