![]() |
Mehrere Einträge einer Selectbox(Html) mit Delphi ansprechen
Hallo ihr:-)
Ich möchte gerne eine Selectbox einer Html Datei in einem TWebbrowser ansprechen. Es sollen mehrere Einträge markiert werden können! Zunächst einmal der Html Code: <form name="form1" method="post" action=""> <select name="select" size="3" multiple> <option value="1a">1</option> <option value="2a">2</option> <option value="3a">3</option> <option value="4a">4</option> <option value="5a">5</option> </select> </form> Mit einem Button und dem folgendem Code
Delphi-Quellcode:
wird zum Bespiel ohne Probleme der 2te Eintrag markiert- nur wie markiere ich mehrere? Im Internet habe ich noch einen anderen Code gefunden:
WebBrowser1.OleObject.document.forms.item('form1').elements.item('select').value:='2';
Delphi-Quellcode:
Dieser gibt mir leider eine Fehlermeldung : "Nicht implementiert". Selbst wenn er funktionieren würde, weis ich nicht, ob man mit diesem mehrere Einträge markieren kann.
WebBrowser1.OleObject.document.tags('select').item("ELEMENTINDEX").item("OPTIONINDEX").selected := 'selected';
Ich bedanke mich im vorraus für eure Mühe- habe wirklich sehr lange im Internet gesucht! Viele Grüße, Alex |
Re: Mehrere Einträge einer Selectbox(Html) mit Delphi anspre
2. und 3. Eintrag markieren:
Delphi-Quellcode:
oder halt so:
WebBrowser1.OleObject.document.forms.item('form1').item('select').item(1).selected := True;
WebBrowser1.OleObject.document.forms.item('form1').item('select').item(2).selected := True;
Delphi-Quellcode:
var
WebDoc: HTMLDocument; WebForm: HTMLFormElement; WebElement: HTMLSelectElement; WebOption: HTMLOptionElement; begin WebDoc := WebBrowser1.Document as HTMLDocument; WebForm := WebDoc.forms.item('form1', 0) as HTMLFormElement; WebElement := WebForm.item('select', 0) as HTMLSelectElement; WebOption := WebElement.item(1, 0) as HTMLOptionElement; WebOption.selected := True; WebOption := WebElement.item(2, 0) as HTMLOptionElement; WebOption.selected := True; end; |
Re: Mehrere Einträge einer Selectbox(Html) mit Delphi anspre
Ok, das war mal echt peinlich :oops:
Besten Dank- funktioniert einwandfrei. Eine Frage hätte ich diesbezüglich noch- dann wäre es soweit auch geschafft: Ich möchte gerne die zu markierenden Einträge über eine Schleife abfragen- diese sind z.b. in einer Listbox:
Delphi-Quellcode:
end;
var i:integer;
begin for i := 0 to listbox1.items.count-1 do begin WebBrowser1.OleObject.document.forms.item('form1').item('select').item(listbox1.items.strings[i]).selected := True; Das klappt leider so nicht. Danke und Gruß, Alex |
Re: Mehrere Einträge einer Selectbox(Html) mit Delphi anspre
Habe es selbst hinbekommen:
Delphi-Quellcode:
procedure TForm1.FlatButton2Click(Sender: TObject);
var i,x:integer; begin for i := 0 to listbox1.Items.Count-1 do begin x:= StrToInt(listbox1.Items.Strings[i]); Webbrowser1.OleObject.document.forms.item('form1').item('select').item(x-1).selected := true; end; end; Oh mann, das war mal wieder zum :wall: Besten Dank nochmals Alex :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz