Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Twebbrowser Radiobutton im frame value ändern? (https://www.delphipraxis.net/94865-twebbrowser-radiobutton-im-frame-value-aendern.html)

gandime 27. Jun 2007 11:44


Twebbrowser Radiobutton im frame value ändern?
 
Hi,
ich habe folgenden Html-code vorliegen:
Code:
  </tr>
    <tr height="30">
<th>
  <input type="radio" name="com" value="3" >Angriff


   </th>
  </tr>
  <tr height="30">
<th>
  <input type="radio" name="com" value="4" >Stationieren


   </th>
  </tr>
Dieser Code liegt in einem Frame namens "Hauptframe" vor.

Ich habe es mit folgendem Code versucht:

Delphi-Quellcode:
  Web.OleObject.Document.Frames.item('Hauptframe').Document.forms.item(0).elements.item('com').value:='4';
woraufhin ich diese Fehlermeldung bekommen habe:
Zitat:

Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EOleError mit Meldung 'Die Methode 'value' wird vom Automatisierungsobjekt nicht unterstützt'. Prozess Project1.exe (2228)
Soll das bedeuten, dass der IE es noch nicht unterstötzt über ActiveX in einem Frame einen Radiobutton an zu klicken?

wie kann ich es trotzdem anklicken?

mfg
gandime

dataspider 27. Jun 2007 11:56

Re: Twebbrowser Radiobutton im frame value ändern?
 
Hi,

mal so aus dem Kopf...

Bei 'radio' ist es IMHO so, dass du die Items des Forms iterieren musst.
Und beim Item Typ 'radio' mit dem Value 4 musst du checked := True setzen.

Cu, Frank

marabu 27. Jun 2007 12:41

Re: Twebbrowser Radiobutton im frame value ändern?
 
Hallo Frank,

iterieren ist nicht nötig: klick

Freundliche Grüße

dataspider 27. Jun 2007 13:45

Re: Twebbrowser Radiobutton im frame value ändern?
 
Zitat:

Zitat von marabu
Hallo Frank,

iterieren ist nicht nötig: klick

Freundliche Grüße

Danke, danach hatte ich mal lange gesucht. Na ja, beim nächsten mal kann ich meinen Code etwas kürzer halten... :wink:

Frank

gandime 27. Jun 2007 14:49

Re: Twebbrowser Radiobutton im frame value ändern?
 
danke :-)

wie findet man nochmal heraus wie viele es von mit der selben id gib?

marabu 27. Jun 2007 16:35

Re: Twebbrowser Radiobutton im frame value ändern?
 
Hallo,

jede ElementCollection hat die property Length - also probiere es mal mit ...Elements.length

Freundliche Grüße

gandime 27. Jun 2007 18:27

Re: Twebbrowser Radiobutton im frame value ändern?
 
das funktioniert leider nicht

marabu 27. Jun 2007 19:48

Re: Twebbrowser Radiobutton im frame value ändern?
 
Hallo,

das könnte an dir liegen ...

Delphi-Quellcode:
procedure TWebForm.ButtonClick(Sender: TObject);
var
  n: Integer;
  v: OleVariant;
begin
  v := WebBrowser.OleObject.document.forms.item(0).Elements;
  n := v.Length;
  v.item('Zahlmethode', 0).Click; // Erstes Item markieren
  ShowMessage(IntToStr(n));       // geht doch
end;
Freundliche Grüße

gandime 28. Jun 2007 13:12

Re: Twebbrowser Radiobutton im frame value ändern?
 
Nein das meine ich nicht, ich möchte wissen, wie viele Elemente (in deinem Beispiel 'Zahlmethode') mit dem selben Namen gibt?

marabu 28. Jun 2007 18:36

Re: Twebbrowser Radiobutton im frame value ändern?
 
Hallo,

dann besser so:

Delphi-Quellcode:
uses
  Mshtml;

procedure TDemoForm.PanelClick(Sender: TObject);
const
  EN = 'ZahlMethode';
var
  u: IUnknown;
  ec: IHTMLElementCollection;
begin
  u := WebBrowser.OleObject.document.forms.item(0).Elements.item(EN);
  if Succeeded(u.QueryInterface(IID_IHTMLElementCollection, ec)) then
    ShowMessage(Format('Elemente mit Namen "%s": %d', [EN, ec.Length]));
end;
Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz