Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. MODULE vector_ex;
  2.  
  3. IMPORT C := ConsoleLib, Out, V := Vector;
  4.  
  5.  
  6. TYPE
  7.  
  8.   STRING = ARRAY 240 OF CHAR;
  9.  
  10.   Item   = POINTER TO RECORD (V.ANYREC) inf: STRING END;
  11.  
  12.  
  13. PROCEDURE add(v: V.VECTOR; s: STRING);
  14. VAR item: Item;
  15. BEGIN
  16.   NEW(item);
  17.   item.inf := s;
  18.   V.push(v, item)
  19. END add;
  20.  
  21.  
  22. PROCEDURE print(v: V.VECTOR; first, last: INTEGER);
  23. VAR any  : V.ANYPTR;
  24.     i    : INTEGER;
  25. BEGIN
  26.   i := first;
  27.   WHILE i <= last DO
  28.     any := V.get(v, i);
  29.     Out.String(any(Item).inf);
  30.     Out.Ln;
  31.     INC(i)
  32.   END;
  33. END print;
  34.  
  35.  
  36. PROCEDURE main;
  37. VAR v: V.VECTOR;
  38. BEGIN
  39.   C.open(-1, -1, -1, -1, "vector");
  40.  
  41.   v := V.create(1024);
  42.  
  43.   add(v, "abc");
  44.   add(v, "def");
  45.   add(v, "123");
  46.   add(v, "qwerty");
  47.   add(v, "hello");
  48.  
  49.   print(v, 0, V.count(v) - 1);
  50.  
  51.   C.exit(FALSE)
  52. END main;
  53.  
  54.  
  55. BEGIN
  56.   main
  57. END vector_ex.