![]() |
Webbrowser Formularfelder überprüfen
hi,
ichh möchte mit dem twebbrowser SÄMLTICHE formularfelder (textfelder^^) überprüfen ob ein bestimmter inhalt drinnen ist. ich war codetechnisch schon soweit:
Delphi-Quellcode:
aber diese funktion liest ja immer nur FELDNAME aus. oder gibt es eine möglichkeit den namen des feldes beim "eintippen" herausfinden?
Edit1.Text:=WebBrowser1.OleObject.document.forms.item(0).elements.item('FELDNAME').value;
MFG Lars Wiltfang |
Re: Webbrowser Formularfelder überprüfen
Zitat:
|
Re: Webbrowser Formularfelder überprüfen
was? slink? gibts nciht ne möglichkeit das man das irgnedwie n bisschen umschriebt was ich scohn hatte!
|
Re: Webbrowser Formularfelder überprüfen
*push*
Ich kapier es nicht :( Kann es mir jemand erkären??? :) Kann man nicht wie in meiner schon fertigen Abfrage einfach das Feldname durch All oder so erstzen? Oder gehts' nicht so einfach? Und was ist "Sink"? Wie geht das?
Delphi-Quellcode:
Edit1.Text:=WebBrowser1.OleObject.document.forms.item(0).elements.item('FELDNAME').value;
|
Re: Webbrowser Formularfelder überprüfen
Hallo Lars,
willst du in allen Input-Feldern einer Form oder eines Document suchen?
Delphi-Quellcode:
Testen kannst du so:
function FindInputElement(container: IDispatch; const subText: string): IHTMLInputElement;
var i: Integer; ec: IHTMLElementCollection; dummy: IDispatch; begin if Succeeded(container.QueryInterface(IID_IHTMLFormElement, dummy)) then ec := (container as IHTMLFormElement).tags('input') as IHTMLElementCollection else if Succeeded(container.QueryInterface(IID_IHTMLDocument3, dummy)) then ec := (container as IHTMLDocument3).getElementsByTagName('input') else begin Result := nil; Exit; end; for i := 0 to ec.length do if i = ec.length then Result := nil else begin Result := ec.item(i, null) as IHTMLInputElement; if AnsiContainsText(Utf8ToAnsi(Result.value), subText) then Break; end; end;
Delphi-Quellcode:
Grüße vom marabu
var
ie: IHTMLInputElement; begin // find first element in document with WebBrowser do ie := FindInputElement(Document, 'b'); // find first element in some form with WebBrowser.Document as IHTMLDocument2 do ie := FindInputElement(forms.item(0, null), 'b'); end; |
Re: Webbrowser Formularfelder überprüfen
und wie kann ich das jez mit ner If-Schleife :) machen dass immer ne messegebox bei "Sex" kommt? :)
|
Re: Webbrowser Formularfelder überprüfen
Zitat:
![]() Zum Thema, schau Dir die Paramter an und schaue, was die Funktion macht, dann kommst Du ganz leicht auf Deine Lösung ;) Kleiner Tipp: <> nil ;) @Detlef: Ich hol schon mal die Gläser :zwinker: |
Re: Webbrowser Formularfelder überprüfen
das mit der if schleife war auch nicht ernst gemint :)
hab das grad in irgendner signatur gefunden mit der if schleife und musste das gleicfh mal schreiben^^ |
Re: Webbrowser Formularfelder überprüfen
[OT] *Jippiieehh*, ich trinke Pils :mrgreen: (siehe meine Signatur) [/OT]
|
Re: Webbrowser Formularfelder überprüfen
timmt an deiner signatur stand das :)
|
Re: Webbrowser Formularfelder überprüfen
was muss ich da in die uses aufnehmen für den code? laut delphi ist nämlich die ganze funktion fehlerhaft :(
und durchsucht dass:
Delphi-Quellcode:
echt den text in ALLEN Textfeldern des Webbrowser???
var
ie: IHTMLInputElement; begin // find first element in document with WebBrowser do ie := FindInputElement(Document, 'b'); end; |
Re: Webbrowser Formularfelder überprüfen
Zitat:
|
Re: Webbrowser Formularfelder überprüfen
aber ansicontainstext in der funkzion ist immernoch "befehlert"!
|
Re: Webbrowser Formularfelder überprüfen
Nutze doch bitte deine Delphi-Hilfe:
Zitat:
|
Re: Webbrowser Formularfelder überprüfen
danke aber ich bekomm das mit der if Abfrage irgendwie nicht hin. also ich möchte dass wenn zb bei google in die textbox b eingegeben wird, dass dann ne messegebox kommt! Aber wie???
|
Re: Webbrowser Formularfelder überprüfen
Hallo Lars,
es ist ein gewaltiger Unterschied, ob du die Eingabefelder des aktuellen HTML-Dokuments nach bestimmten Inhalten durchsuchen oder ob du im Augenblick der Eingabe eine Prüfung vornehmen möchtest. Den ersten Fall löst mein Code aus Beitrag #5, für den letzten Fall benötigst du Ereignisse. Wenn ich aber deine Probleme bei der Verwendung von bereits fertigem Code sehe, dann fürchte ich, dass du erst noch etwas üben musst. Freundliche Grüße |
Re: Webbrowser Formularfelder überprüfen
ja natürlich muss ich noch ganz viel üben :) rate mal warum ich in die delphipraxis gegangen bin??? wenn ich das alles wüsste bestimmt nicht(oer vielleicht doch^^)
und deshalb wäre es ganz nett von dir wenn du mir sagst wie diese verdammte if abfrage geht!!! |
Re: Webbrowser Formularfelder überprüfen
Ich kann dir nicht helfen, solange mir dein Problem nicht klar ist.
Soll die Inhaltsprüfung ereignis- oder benutzergesteuert ablaufen? |
Re: Webbrowser Formularfelder überprüfen
also dafür wo du schon den code für gepostet hast. ich möchte alle textfelder in einem webbrowser object(Twebbrowser1) nach dem Wort Lars durchsuchen und wenn das der fall ist soll was passieren!
|
Re: Webbrowser Formularfelder überprüfen
Liste der Anhänge anzeigen (Anzahl: 1)
FindInputValue() durchsucht eine ElementCollection ab index. FindInputElement() sucht wahlweise in einem FormElement, in einem HTMLDocument oder in einen WebBrowser.
|
Re: Webbrowser Formularfelder überprüfen
kann mir da irgendjemand mal schnell ne exe drausmachen mein delphi will im moment grad nicht :)
|
Re: Webbrowser Formularfelder überprüfen
also immer wenn ich deine datein öffnen will. ist die datei weg. virus oder antivirus(woran liegt das?) haste mir n virus da rein geschrieben^^
|
Re: Webbrowser Formularfelder überprüfen
Im Archiv sind keine Kompilate enthalten. Welchen Virus meldet denn dein System?
|
Re: Webbrowser Formularfelder überprüfen
auch beim öffnen mit delphi kommen viele fehler das irgendne pas datei nicht gefundenn wurden konnte. deshalb wäre es nett von jemanden wenn er mir aus dem archiv mit den delphi dateien ne exe macht damit ich mal angucken kann wie das funktioniert :)
|
Re: Webbrowser Formularfelder überprüfen
Liste der Anhänge anzeigen (Anzahl: 1)
Lars, es tut mir leid - ich habe mir soeben das ZIP-Archiv heruntergeladen und festgestellt, dass ich eine falsche Form beigepackt habe. Im Anhang jetzt die richtige. Sorry.
EDIT: Anhang ausgetauscht ... |
Re: Webbrowser Formularfelder überprüfen
Hi,
geht bei mir trotzdem noch nicht zu kompilieren, Delphi konnte die EventObj.dcu nicht finden. Das mit dem Formular hatte ich vorhin schon hinbekommen, brauchte man bloß umbenennen. |
Re: Webbrowser Formularfelder überprüfen
ja bei mir felht die auch aber man kann sie ja einfach aus dem projekt entfernen dasnn gehts wieder :)
|
Re: Webbrowser Formularfelder überprüfen
Löscht bitte die Referenz auf diese Unit, sie wird in der Demo garnicht verwendet und stammt aus einer anderen Demo.
EDIT: Ich habe den Projekt-Quelltext im Anhang von Beitrag #25 bereinigt, damit nicht noch mehr Leute stolpern ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:01 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