CppWebBrowser i źródło

0

Mam komponent CppWebBrowser , Edit, Button,
w OnClick buttona
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Variant A=4;
CppWebBrowser1->Navigate(WideString(EditPath->Text).c_bstr(), A, NULL, NULL, NULL);
}

mam także Memo.
Teraz jak wyświetlić źródło strony w Memo??

0

No stary to sobie poczekasz na odpowiedz (o ile w ogole ona nadejdzie :P )
Bo ja tez czekalem, czekalem, i sie w koncu nie doczekalem :|
(oczywiscie zanznaczam poprawnie dzialajacej odpowiedzi :) )

0

// z netu:

void __fastcall TForm3::CppWebBrowser1DocumentComplete(TObject *Sender,
LPDISPATCH pDisp, TVariant *URL)
{
static int ct=0;
char buff[100000];

String Source;
TVariant v2;
ct++; if(ct>1) return;
CppWebBrowser1->Stop();
IHTMLDocument2 *htm = NULL; // #include <mshtml.h>

if(CppWebBrowser1->Document && SUCCEEDED(CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2,(LPVOID*)&htm))){
    IPersistStreamInit *spPsi = NULL;    // ocidl.h
    if(SUCCEEDED(htm->QueryInterface(IID_IPersistStreamInit, (LPVOID*)&spPsi)) && spPsi){
        IStream *spStream = NULL;            // objidl.h
        OleCheck(CreateStreamOnHGlobal(NULL, true, &spStream));
        if(spStream)
        {
            __int64 nSize = 0;
            STATSTG ss;
            LARGE_INTEGER nMove;
            nMove.QuadPart = 0;
            OleCheck(spPsi->Save(spStream, true));
            OleCheck(spStream->Seek(nMove, STREAM_SEEK_SET, (ULARGE_INTEGER*)&nSize));
            OleCheck(spStream->Stat(&ss, STATFLAG_NONAME));
            nSize = ss.cbSize.QuadPart;

            Source.SetLength(nSize);
            OleCheck(spStream->Read((void *)Source.data(), nSize, (ULONG*)&nSize));
            OleCheck(spStream->Release());
        }

        spPsi->Release();
    }
    htm->Release();
}

strcpy(buff,Source.c_str());

// buff now contains the web page source code
}

// buff zawiera zrodlo, ktore wystarczy zapisac w memo, czyli pryszcz

1 użytkowników online, w tym zalogowanych: 0, gości: 1