Что нового

Обратный цикл по коллекции объектов

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Здравствуйте уважаемые!
Многие работали(ют) с IE и получали коллекции различных объектов.
Так вот подскажите как сделать перебор не сначала (For $oElement In $oElements), а с конца.
К сожалению Step -1 работает только в цикле типа For .. To .. Step .. Next

И если можно, расскажите что из себя представляет коллекция объектов (это не массив явно :()
Буду признателен :smile:
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Коллекция объектов представляет собой массив массивов, каждый член такого массива также является массивом. Ты можешь перевести такой массив в массив обычный и делать с ним что угодно.
 
Автор
DarWiM

DarWiM

Продвинутый
Сообщения
527
Репутация
90
sngr
Вот до такого я бы точно не додумался.. А как? :smile:

З.Ы. Значит коллекцию можно назвать ассоциативным массивом?
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
DarWiM [?]
Значит коллекцию можно назвать ассоциативным массивом?
Нет ассоциативный массив это другое... В ассоциативном есть ключ и его значение и все обращения проходят не по номеру элемента, а по его ключу :smile:
 
Автор
DarWiM

DarWiM

Продвинутый
Сообщения
527
Репутация
90
Medic84
Но разве .value нельзя назвать ключём? :smile:

Ладно, разницу я могу понять.. Меня интересует сабж.. :smile:
 
Автор
DarWiM

DarWiM

Продвинутый
Сообщения
527
Репутация
90
sngr
Спасибо. Это точно единственный вариант?
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Ещё способ.
Код:
#include <IE.au3>
$oIE = _IE_Example ("basic")
;~ $oIE = _IEAttach ("basic")
$oLinks = _IELinkGetCollection ($oIE)
$iNumLinks = @extended
MsgBox(4096, "Link Info", $iNumLinks & " links found")
MsgBox(0,'',$oLinks.item($iNumLinks-1).href)
 
Автор
DarWiM

DarWiM

Продвинутый
Сообщения
527
Репутация
90
sngr
Замечательно! Спасибо! Не заметил как-то..
 
Верх