- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Visa data från TWebBrowser innan den postas Kategori: Internet
Inlagt: 2007-11-22
Läst: 1567
Inlagt av: Staffan Berg
Beskrivning
Med detta exempel kan du förhandsgranska data som blir postad från en TWebBrowser innan den skickas iväg.
Kod
procedure TPostForm.WebBrowser1BeforeNavigate2(ASender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool) ; 
 function OleVariantToMemoryStream(OV: OleVariant): TMemoryStream; 
 var 
  Data: PByteArray; 
  Size: integer; 
 begin 
  Result := TMemoryStream.Create; 
  try 
    Size := VarArrayHighBound (OV, 1) - VarArrayLowBound(OV, 1) + 1; 
    Data := VarArrayLock(OV) ; 
    try 
     Result.Position := 0; 
     Result.WriteBuffer(Data^, Size) ; 
    finally 
     VarArrayUnlock(OV) ; 
    end; 
  except 
    Result.Free; 
    Result := nil; 
  end; 
 end; 
var 
 ms: TMemoryStream; 
 ss: TStringStream; 
begin 
 ss := TStringStream.Create('') ; 
 try 
  if Length(PostData) > 0 then 
  begin 
   ms := OleVariantToMemoryStream(PostData) ; 
   ms.Position := 0; 
   ss.CopyFrom(ms, ms.size) ; 
   ss.Position := 0; 
   ShowMessage('HEADER:' + Headers + #13#10#13#10 + ss.DataString) ; 
  end; 
 finally 
  ss.Free; 
 end; 
end; 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -