kolibrios/programs/develop/oberon07/Samples/vector_ex.ob07

57 lines
842 B
Plaintext
Raw Normal View History

MODULE vector_ex;
IMPORT C := ConsoleLib, Out, V := Vector;
TYPE
STRING = ARRAY 240 OF CHAR;
Item = POINTER TO RECORD (V.ANYREC) inf: STRING END;
PROCEDURE add(v: V.VECTOR; s: STRING);
VAR item: Item;
BEGIN
NEW(item);
item.inf := s;
V.push(v, item)
END add;
PROCEDURE print(v: V.VECTOR; first, last: INTEGER);
VAR any : V.ANYPTR;
i : INTEGER;
BEGIN
i := first;
WHILE i <= last DO
any := V.get(v, i);
Out.String(any(Item).inf);
Out.Ln;
INC(i)
END;
END print;
PROCEDURE main;
VAR v: V.VECTOR;
BEGIN
C.open(-1, -1, -1, -1, "vector");
v := V.create(1024);
add(v, "abc");
add(v, "def");
add(v, "123");
add(v, "qwerty");
add(v, "hello");
print(v, 0, V.count(v) - 1);
C.exit(FALSE)
END main;
BEGIN
main
END vector_ex.