Q&A

  • 브라우저 컴퍼넌트에서
Dim colParagraphs
Dim objSinglePara

Set colParagraphs = document.all.tags("P")
Set objSinglePara = colParagraphs(2)
objSinglePara.innerText = "This is brand new text!"
objSinglePara.style.textDecoration = "underline"

MSDN에서 예제로 나온 것인데 대충보면 P태그들을 컬렉션으로 가져와서
그 중 한부분을 수정하는 부분인데요

델파이에서 document.all.tags("P")의 리턴을 담을만한 저장공간을 어떤식으로 정의하는
건지 궁금합니다.

Variant로 해도 잘 안되던데
1  COMMENTS
  • Profile
    한원희 2003.03.20 23:26
    안녕하세요. 한원희입니다.

    MSHTML 유닛에 있는 인터페이스를 사용하셔서 구현하셔야 합니다. 아래의 예제는 비베인것 같은데... 델파이에서는 VC++과 비슷하게 인터페이스로 하셔야 합니다.

    아래를 간단하게 델파이로 포팅해 보면 다음과 같습니다.(급히 적느라 틀릴수도 -_-)

    var
            iec:IHTMLElementCollection;
            ie:IHTMLElement;
            ovIndex:OleVariant;
    begin
            iec:=(WebBrowser1.Document as IHTMLDocument2).all.tags('P') as IHTMLElementCollection;
            ovIndex:=2;
            ie:=iec.item(ovIndex, 0) as IHTMLElement;
            ie.innerText:='This is brand new text!';
            ie.style.textDecoration:='underline';

    이런식으로 되겠죠...

    그럼, 즐푸~