![]() |
Was bedeutet diese zahl?
Delphi-Quellcode:
Hallo, ich möchte mit diesem Code ein Feld anschrechen und einen Wert eintragen. Doch es kommt immer eine Accessviolation(Also Fehler). Ich nehme an, es liegt an dieser Zahl. was bedeutet sie und wie kriege ich die richtige raus?
webbrowser1.oleobject.document.forms.item(0).elements.item('login').value := 'xxx';
^ | Danke für eure Hilfe |
Re: Was bedeutet diese zahl?
das kannst du dir wie ein array vorstellen...
|
Re: Was bedeutet diese zahl?
Zitat:
Delphi-Quellcode:
webbrowser1.oleobject.document.forms(0).item(0).elements.item('login').value := 'xxx';
|
Re: Was bedeutet diese zahl?
daran habe ich auch schon gedacht. Wie kann ich aber herausfinden, in der wie vielten Form ich bin und das wie vielte Item ich anspreche?
Ist Form eigentlich gleich Frame auf der Website? |
Re: Was bedeutet diese zahl?
Nein.
(Bestechen kurz :mrgreen: ) |
Re: Was bedeutet diese zahl?
Also das editfeld liegt in einem eigenen Frame. Nur wie kriege ich den namen raus und wo muss er dann hin?
Das ist der Quelltext des Frames: <div id="main"> <div id="login"> <a name="pustekuchen"></a> <div id="login_text_1"> <div style="position:absolute;left:160px;width:110px;"> name</div> <div style="position:absolute;left:275px;width:50px;">P asswort</div> </div> <div id="login_input"> <table cellspacing="0" cellpadding="0" border="0"><tr style="vertical-align:top;"><td style="padding-right:4px;"> <form name="loginForm" action="" method="POST" onSubmit="changeAction('login');" target="_self" > <input type="hidden" name="v" value="2"> <span> ... </select> </span> <td style="padding-right:3px;"> <span><input tabindex="2" class="eingabe" maxlength="20" name="login" alt=Spielername style="width:111px;top:0px"/></span> <td> <span><input tabindex="3" maxlength="20" type="password" class="eingabe" name="pass" style="width:113px;top:0px" alt=Passwort /></span> <td style="padding-top:2px;"> <input type="image" src="../img/login_button.jpg" alt="Login" class="loginButton" name="button" id="button" onmouseover="document.getElementById('button').src ='../img/login_button2.jpg';" onmouseout="document.getElementById('button').src= '../img/login_button.jpg';"> </form> </tr></table> |
Re: Was bedeutet diese zahl?
Folgende Procedure visualisiert die Browser Input Objekte in einem TreeView.
Delphi-Quellcode:
Die Treeview ist mit einer Imagelist verbunden, damit jeder Objekttyp sein Bildchen bekommt.
procedure Browser2TreeView(WebBrowser: TWebBrowser; root:TTreeNodes);
var i,j, k :Integer; FormItem, Element, SubElement: OleVariant; child, child2, child3 : TTreeNode; s_type : string; begin Assert(Assigned(WebBrowser)); Assert(Assigned(root)); root.Clear; //count forms on document for I:=0 to WebBrowser.OleObject.Document.forms.Length -1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); if VariantIsObject(FormItem.Name) then child := root.AddChild(nil, 'Form'+IntToStr(i)+': '+FormItem.Name.Name) else child := root.AddChild(nil, 'Form'+IntToStr(i)+': '+FormItem.Name); child.ImageIndex := 3; For j:= 0 to FormItem.Length-1 do begin try Element := FormItem.Item(j); //when the fieldname is found, try to fill out child2 := root.AddChild(child, Element.Name+' = '+Element.Value); s_type := Element.Type; if s_type = 'submit' then child2.ImageIndex := 1 else if s_type = 'text' then child2.ImageIndex := 0 else if s_type = 'file' then child2.ImageIndex := 2 else if s_type = 'hidden' then child2.ImageIndex := 4 else if s_type = 'checkbox' then child2.ImageIndex := 5 else if s_type = 'radio' then child2.ImageIndex := 6 else if s_type = 'select-one' then child2.ImageIndex := 7 else child2.ImageIndex := -1; child3 := root.AddChild(child2, 'Type='+s_type); child3.ImageIndex := -1; if s_type = 'text' then begin child3 := root.AddChild(child2, 'MaxLen='+IntToStr(Element.maxLength)); child3.ImageIndex := -1; end else if s_type = 'select-one' then begin for k := 0 to Element.Options.Length-1 do begin SubElement := Element.Options.Item(k); child3 := root.AddChild(child2, SubElement.Text+ ' = <'+SubElement.Value+'>'); child3.ImageIndex := -1; end; // ShowMessage(IntToStr(Element.Options.Length)); end; except on E:Exception do root.AddChild(child, E.Message); end; end; end; if root.Count > 0 then root.GetFirstNode.Expand(True); end; // Aufruf Browser2TreeView(WebBrowser1, TreeView1.Items); Ich weiss aber nicht, wie ich die Imagelist hier rüberbringen soll. Also selber kreativ werden. |
Re: Was bedeutet diese zahl?
Den Code verstehe ich nicht. Kann den vielleicht jemand für mich erläutern? Das wäre nett.
|
Re: Was bedeutet diese zahl?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Das sieht z.B. bei der URL ![]() Es gibt ein Formular (namens "f") auf dem (unter anderem) ein Textfeld mit dem Namen "q" liegt. Mit diesem Baum ist es viel einfacher auf die Objekte zuzugreifen. |
Re: Was bedeutet diese zahl?
Kannst du das Programm mal uploaden? Sieht sehr hilfreich aus.
Was für Komponenten benutzt das Programm? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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