Hallo,
weitere Fundstücke, mit denen es mit 'nem TWebBrowser geklappt hat:
Delphi-Quellcode:
function WbSetCheckBoxField(WebBrowser: TWebBrowser; FieldName: string; Checked: boolean): Boolean;
var
Field: TPoint;
begin
// Position des Felds holen
if not WbFindField(WebBrowser, FieldName, Field) then
begin
Result := false; // Feld existiert nicht
exit; // Ende
end;
try
// CheckBox setzen
WebBrowser.OleObject.Document.forms.Item(Field.x).Item(Field.y).Checked := Checked;
Result := True;
except
Result := false;
Exit;
end;
end;
Delphi-Quellcode:
function WbFindField(WebBrowser: TWebBrowser; FieldName: string; var Field: TPoint): boolean;
var
i, j: Integer;
FormItem: Variant;
begin
Result := False;
//Hat das Dokument Forms? (Frames)
if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
begin
Exit;
end;
//Bearbeite alle Frames
for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
begin
FormItem := WebBrowser.OleObject.Document.forms.Item(I);
// Bearbeite alle Felder eines Frames
for j := 0 to FormItem.Length - 1 do
begin
try
// Feldname wurde gefunden
// gebe ihn zurück und ende
if FormItem.Item(j).Name = FieldName then
begin
Field.x := i; // Position speichern
Field.Y := j;
Result := True;
exit;
end;
except
Exit;
end;
end;
end;
end;
Delphi-Quellcode:
if WbSetCheckBoxField(WebBrowser1, 'sticky', true) then begin
stb.SimpleText := Format('gechecked: %s',['sticky']);
end else begin
stb.SimpleText := Format('geht nicht :-(: %s',['sticky']);
end;