Что нового

[Сеть, интернет] _IETagNameGetCollection - поиск ссылок и работа с ними

Ranos1982

Новичок
Сообщения
130
Репутация
1
Всем доброго времени суток,а вернее будем - ночи.
Вопрос такой.Есть ф-ция,которая выводит ссылку (href) по искомому слову.Не могу правильно ее расширить.

Прошу дать идею по...сравнению цыфр,знаю есть ф-ция сравнения двух.А если их много..

Чтобы было яснее,наведу пример :

Ссылка :
http://www.exbii.com/showthread.php?p=29227327

таких ссылок на странице много.Нужно вернуть (return) ссылку с самым большим числом в ней (число выделил) или с самым маленьким.Думаю я сделал бы может и сам,но ...не хотелось бы иметь кода на пару десятков строк.


$:shok:bject = обьект IE
$substring = искомая строка ссылок с которыми работаем
$type = самое маленькое/самое большое (значение также должно учитыватся , если на странице всеголишь одна ссылка)

Код:
Func searchHrefEx ($comment, $o_object, $substring,$type = max)

	Local $oLink, $oLinks, $iAllLinks

	Dim $oLinks = _IELinkGetCollection($o_object)
	Dim $iAllLinks = @extended
	For $counter = 0 To $iAllLinks
		$oLink = _IETagNameGetCollection($o_object, "a", $counter)
		If StringInStr($oLink.href, $substring) <> 0 Then
			_GUICtrlRichEdit_AppendText($hRichEdit, '  searchHref -> successfully (' & $comment & ')' & @CRLF)

			Return $oLink.href

			ExitLoop
		EndIf
	Next

EndFunc



Заранее благодарен.Завтра выложу свой пример,сейчас сонный просто,еще не начинал... :whistle:
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Как-то так:
Код:
Func searchHrefEx($comment, $o_object, $substring, $type = 'max')

	Local $oLink, $oLinks, $iAllLinks, $sTemp

	Dim $iTemp = 0
    Dim $oLinks = _IELinkGetCollection($o_object)
    For $oLink In $oLinks
        If StringInStr($oLink.href, $substring) <> 0 Then
            _GUICtrlRichEdit_AppendText($hRichEdit, '  searchHref -> successfully (' & $comment & ')' & @CRLF)
			$iNumer = Number(StringRegExpReplace($oLink.href, '.*?=(\d+)$', '$1'))
			If $iNumer <> 0 Then
				If $iTemp = 0 Then
					$iTemp = $iNumer
					$sTemp = $oLink.href
				ElseIf $type = 'max' And $iNumer > $iTemp Then
					$iTemp = $iNumer
					$sTemp = $oLink.href
				ElseIf $type = 'min' And $iNumer < $iTemp Then
					$iTemp = $iNumer
					$sTemp = $oLink.href
				EndIf
			EndIf
        EndIf
    Next
	Return $sTemp
EndFunc

даже еще чуть укоротил
 
Автор
R

Ranos1982

Новичок
Сообщения
130
Репутация
1
Спасибо заранее.Дома протестирую.
Вопрос не потеме,но по сути - касается ее.
А как вообще грамотно находить индефикатор последнего сообщения на форуме,чтобы потом это сообщение можно было редактировать ..? :whistle:
 
Верх