CreateENUMERATOR(Collection: OBJECT): ENUMERATOR; |
Создает объект-перечислитель для ASB-объекта или объекта COM автоматизации, являющегося коллекцией, возвращает ссылку на этот перечислитель. Если объект не является коллекцией, будет выброшено исключение 148.
Перечислитель предназначен для перебора всех элементов коллекции и имеет четыре метода (все без параметров):
MoveFirst - позиционируется на первый элемент коллекции;
MoveNext - позиционируется на следующий элемент коллекции;
Item - возвращает ссылку на текущий элемент коллекции;
AtEnd возвращает 1, если перечислитель перебрал все элементы коллекции, и 0 в противном случае.
Порядок перебора элементов зависит от конкретной коллекции; гарантируется лишь то, что все элементы коллекции будут перебраны перечислителем.
VAR
objXL: OBJECT;
e: ENUMERATOR;
BEGIN
objXL := CREATE_OBJECT("Excel.Application");
objXL.Visible := 1;
obj.WorkBooks.Add();
obj.WorkBooks.Add();
e := CreateENUMERATOR(objXL.WorkBooks);
WHILE ~e.AtEnd() DO
STDMSG(e.Item().Name, INFORM);
e.MoveNext();
END(*WHILE*);
END.