07. juli 2002 - 19:12Der er
2 kommentarer og 1 løsning
FillForm procedure
Hejsa Fandt følgende kode, men har et lille problem med det: Det søger ikke i forskellige frames i et dokument... Kan det lade sig gøre at lave den frame kompatibel?
function FillForm(WebBrowser: TWebBrowser; Fieldname: String; Value: String): Boolean; var I, J : Integer; FormItem: Variant; begin Result := False; //no form on document If WebBrowser.OleObject.Document.all.tags('FORM').length=0 then begin Exit; end; //count forms on document for I := 0 to WebBrowser.OleObject.Document.forms.Length -1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); For J := 0 to FormItem.Length-1 do begin try //when the fieldname is found, try to fill out if FormItem.Item(J).Name = FieldName then begin FormItem.Item(j).Value := Value; Result := True; end; except Exit; end; end; end; end;
Du kan bruge den event der hedder TWebBrowser.OnDocumentComplete, til at "fange" alle sider der bliver vist:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); Var F : Variant; begin F := pDisp; ShowMessage(IntToStr(F.Document.Forms.Length)); end;
I dette eksempel vises en besked med antallet af forms for hver frame, dette kan du simpelt hen skifte ud med din FillForm kode, så skulle den være i vinkel :-)
Og jeg som TROEDE jeg havde oprettet som svar... :-)
<beskrivelse igen>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.