Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Editfelder in Farmes einer Website ansprechen (https://www.delphipraxis.net/106790-editfelder-farmes-einer-website-ansprechen.html)

P4CM4N 16. Jan 2008 19:06


Editfelder in Farmes einer Website ansprechen
 
Nachdem ich du suche jetzt schon ewig gequält, aber nichts gefunden habe, wende ich mich an euch.
Folgendes:
ich möchte auf einer Website, die in Frames aufgeteilt ist ein bestimmtes editfeld ansprechen. Ist ja an sich nicht so schwer. Nur ich kriegs trotzdem nicht hin :|

Hier mal ein Auszug aus dem Quelltext:
Delphi-Quellcode:
<form action="index.php?page=kante2&session=5b1b8fc101ee" method="POST">
  <table width="519" border="0" cellpadding="0" cellspacing="1">
          <tr height="20">

  <td colspan="4" class="c">Ecke</td>
   </tr>
   <tr height="20">
  <th>Leiste</th>
  <th>Vorhanden</th>

    <th>-</th>

    <th>-</th>
   </tr>
   <tr height="20">
    <th><a title="Speed: 22000">Freunde</a></th>
    <th>271<input type="hidden" name="maxship202" value="271"/></th>

     <input type="hidden" name="consumption202" value="20"/>
     <input type="hidden" name="speed202" value="22000" /></th>

     <input type="hidden" name="capacity202" value="5000" /></th>
     <th>[url="javascript:maxShip('ship202');"]max[/url] </th>
     <th><input name="ship202" size="10" value="0" alt="ascf"/></th>
   </tr>
<tr><th colspan=4>
</th></tr>
</form>
</table>






</center>

</div>

<script>
messageboxHeight=0;
errorboxHeight=0;
contentbox = document.getElementById('content');
</script>
Habs mal ein bisschen weiter kopiert, vielleicht hilft das.
Ich möchte den Wert des editfeldes mit dem Namen "ship202" von null auf 1 setzen. Wie geht das? :gruebel:

bitsetter 16. Jan 2008 20:21

Re: Editfelder in Farmes einer Website ansprechen
 
Hi,

versuche es mal mit:
Delphi-Quellcode:
WebBrowser1.OleObject.document.forms.item(0).elements.item('ship202').value:= 1;

marabu 16. Jan 2008 20:34

Re: Editfelder in Farmes einer Website ansprechen
 
Hallo,

wenn Frames vorhanden sind, dann besser so:

Delphi-Quellcode:
var
  vDoc, vFrame, vForm: OleVariant;
  iFrame, iForm: Integer;
  sElement: string;
begin
  // iFrame, iForm, sElement assumed valid
  vDoc := WebBrowser.OleObject.Document;
  vFrame := vDoc.frames.item(iFrame);
  vDoc := vFrame.contentWindow.Document;
  vForm := vDoc.forms.item(iForm);
  vForm.elements.item(sElement).value := '1';
end;
Statt über den Index kann auch über einen Namen auf die Form oder den Frame zugegriffen werden.

Grüße vom marabu

P4CM4N 18. Jan 2008 14:09

Re: Editfelder in Farmes einer Website ansprechen
 
Hi,
ich krieg ne Fehlermeldung in dieser Zeile
Delphi-Quellcode:
vDoc := WebBrowser.OleObject.Document;
[Error] Unit1.pas(42): Object or class type required

Was für einen type muss ich denn bennenen?

bitsetter 18. Jan 2008 20:52

Re: Editfelder in Farmes einer Website ansprechen
 
WebBrowser ist der Name der Komponente, also wenn du den nicht umbenannt hast:
Delphi-Quellcode:
vDoc := WebBrowser1.OleObject.Document;

P4CM4N 18. Jan 2008 21:56

Re: Editfelder in Farmes einer Website ansprechen
 
Ja, is klar. Delphi hat aber anscheinend mit dem OleObject ein Problem. Da muss man doch noch irgendwas in die uses schreiben, nur was?

mkinzler 18. Jan 2008 22:01

Re: Editfelder in Farmes einer Website ansprechen
 
Was für einen Typ hat WebBrowser?

bitsetter 18. Jan 2008 22:15

Re: Editfelder in Farmes einer Website ansprechen
 
Zitat:

Zitat von P4CM4N
Ja, is klar. Delphi hat aber anscheinend mit dem OleObject ein Problem. Da muss man doch noch irgendwas in die uses schreiben, nur was?

Achso, ich dachte du benutzt die Komponente TWebbrowser aus der SHDocVw_TLB.pas oder SHDocVw.pas, dann wäre die Meldung nämlich weg.

P4CM4N 19. Jan 2008 13:57

Re: Editfelder in Farmes einer Website ansprechen
 
Zitat:

Zitat von bitsetter
Zitat:

Zitat von P4CM4N
Ja, is klar. Delphi hat aber anscheinend mit dem OleObject ein Problem. Da muss man doch noch irgendwas in die uses schreiben, nur was?

Achso, ich dachte du benutzt die Komponente TWebbrowser aus der SHDocVw_TLB.pas oder SHDocVw.pas, dann wäre die Meldung nämlich weg.

Na die benutze ich doch. Hab jetzt schon beiddes ausprobiert, SHDocVW_TLB und die SHDocVw.pas. Geht beides irgendwie nicht.

marabu 19. Jan 2008 14:05

Re: Editfelder in Farmes einer Website ansprechen
 
Hallo PacMan,

befindet sich die Komponente TWebBrowser in deiner Palette?
Welche Delphi-Version setzt du ein?
Gibt es in deinem Verzeichnis $(DELPHI)\LIB die entsprechenden Units, die du einbinden möchtest?

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:46 Uhr.
Seite 1 von 3  1 23      

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