Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#9

Re: TWbbrowser Formular ausfüllen und abschicken für Dummies

  Alt 18. Mai 2008, 06:29
Hallo, für das Mini Webbrowser Demo habe ich mal folgende Funktion geschrieben:

Delphi-Quellcode:
// Radiobutton auswählen:
  WB_SetRadioCheckboxField(WB, 'radio', 'Water', True);
Delphi-Quellcode:
// Checkbox auswählen:
  WB_SetRadioCheckboxField(WB, 'checkbox', 'Milk', True);

Delphi-Quellcode:
function WB_FindFieldByValue(WebBrowser: TWebBrowser; FieldType, FieldValue: string; var Field: TPoint): boolean;
var
  i, j: Integer;
  FormItem: Variant;
begin
  Result := False;
  if WebBrowser.OleObject.Document.all.tags('FORM').Length <> 0 then
    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
          if (FormItem.Item(j).Value = FieldValue) and
            (FormItem.Item(j).Type = FieldType) then
          begin
            Field.x := i;
            Field.Y := j;
            Result := True;
            Exit;
          end;
        except
          Exit;
        end;
      end;
    end;
end;
Delphi-Quellcode:
function WB_SetRadioCheckboxField(WebBrowser: TWebBrowser; FieldType, FieldValue: string; Checked: boolean): Boolean;
var
  Field: TPoint;
begin
  Result := WB_FindFieldByValue(WebBrowser, FieldType, FieldValue, Field);
  if Result then
  try
    WebBrowser.OleObject.Document.forms.Item(Field.x).Item(Field.y).Checked := Checked;
    Result := True;
  except
    Result := False;
  end;
end;
Thomas
  Mit Zitat antworten Zitat