Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi POST Formular ausfüllen + Werte ablesen (https://www.delphipraxis.net/116521-post-formular-ausfuellen-werte-ablesen.html)

FreakLitkowsky 11. Jul 2008 23:51

Re: POST Formular ausfüllen + Werte ablesen
 
Ich habe noch eine abschließende Frage.
Und zwar funzt das nicht mehr mit dem Werte Eintragen. Grund: Ein Einhabefeld des Formulars ist eine "textarea", also was man mit dem Memo von Delphi vergleichen könnte.
Jedenfalls meckert Delphi immer, wenn ich versuche, einen Text aus einem Memo in die textarea einzutragen.
Habe ich etwas falsch gemacht, bzw muss ich etwas ändern :gruebel:

Zum Ausfüllen der Felder habe ich die von mir oben genannte prozedur benutzt.

Ahh bitte helft mir :wall:

toms 12. Jul 2008 05:42

Re: POST Formular ausfüllen + Werte ablesen
 
Zitat:

Jedenfalls meckert Delphi immer, wenn ich versuche, einen Text aus einem Memo in die textarea einzutragen.
Delphi-Quellcode:
function WB_SetFormValue(WB: TWebbrowser; FieldName, sValue: string): string;
var
  iForms, iItems: Integer;
  FormItem: OleVariant;
begin
  Result := '';
  for iForms := 0 to WB.OleObject.Document.forms.Length - 1 do
  begin
    FormItem := WB.OleObject.Document.forms.Item(iForms);
    for iItems := 0 to FormItem.Length - 1 do
    begin
      try
        if SameText(FormItem.Item(iItems).Name, FieldName) then
        begin
          FormItem.Item(iItems).Value := sValue;
        end;
      except
      end;
    end;
  end;
end;

FreakLitkowsky 14. Jul 2008 02:39

Re: POST Formular ausfüllen + Werte ablesen
 
Ok Vielen Dank.
Ich hatte in letzter Zeit viel zu tun und konnte die Methode erst jetzt testen.

Mir ist noch aufgefallen, dass der Wert, den ich mit der Methode "WB_GetFieldValue" überprüfen möchte ebenfalls in einer "Textarea" gespeichert ist. Und wie schon gesagt, vertragen sich diese Methoden nicht mit einem "Textarea"-Feld.
Ich habe versucht, deine Methode so umzuschreiben, dass ich sie in einer Verzweigung aufrufen kann, aber es kamen Fehler über Fehler (ich bin auch noch ein Neuling in Sachen Delphi-Programmierung :oops: ).

Aber ich denke, wenn ich das jetzt hinbekommen würde, hätte ich keine weiteren Fragen mehr zu diesem Thema :stupid:

Ich danke schon mal im Voraus :thumb:

toms 14. Jul 2008 06:28

Re: POST Formular ausfüllen + Werte ablesen
 
Hallo, was hindert dich daran, WB_SetFormValue in WB_GetFormValue umzuschreiben?

Delphi-Quellcode:
function WB_GetFormValue3(WB: TWebbrowser; FieldName: string): string;
var
  iForms, iItems: Integer;
  FormItem: OleVariant;
begin
  Result := '';
  for iForms := 0 to WB.OleObject.Document.forms.Length - 1 do
  begin
    FormItem := WB.OleObject.Document.forms.Item(iForms);
    for iItems := 0 to FormItem.Length - 1 do
    begin
      try
        if SameText(FormItem.Item(iItems).Name, FieldName) then
        begin
          Result := FormItem.Item(iItems).Value;
        end;
      except
      end;
    end;
  end;
end;

FreakLitkowsky 14. Jul 2008 14:02

Re: POST Formular ausfüllen + Werte ablesen
 
Hallo. Danke. Ich konnte das nicht selbst umwandeln, weil ich eigentlich noch ein Neuling bin, habe es aber versucht, mir wurden dabei jedoch immer wieder Fehler angezeigt :wall: aber jetzt klappts ja zum Glück :-D

Abschließend habe ich aber noch ein aller letztes Problem: Das absenden des Formulars. Ich habe die SuFu hier im Forum benutzt und bin auf folgenden Code gestoßen:
Delphi-Quellcode:
WebBrowser.OleObject.document.forms.item(1).submit;
Ich habe ihn getestet, er funktioniert auch: Nur leider im falschen Formular.
Auf der Seite befinden sich 2 Formulare: Eine Suchmaschine (am oberigen Rand) und das SMS-Formular.
(Das Formular wird im Quelltext eher aufgerufen als das SMS-Formular).
Es wird immer wieder der Button des Suchmaschinen-Formulars aktiviert. Beim SMS Formuar gibt es wiederum wieder 2 Buttons (Senden, Reset).

Gibt es vielleicht irgendeine Möglichkeit, das Formular "zu wechseln" und den "senden" Button anzuklicken.

Ich habe schon probiert, den Integer Wert, der bei "item" in Klammern steht zu ändern, Ich dachte, die Buttons wären in einer Art aufzählung gegliedert, z.B.
Suchmaschine "Suchen" = 0.
SMS-Senden "Senden" = 1.
SMS-Senden "Reset" = 2.
Leider ohne erfolg. Denn wenn ich den Wert 1 genommen habe, hat sich nichts getan und beim Versuch den Wert 2 zu benutzen, wurde mir eine Fehlermeldung angezeigt.

Ansonsten kann ich sagen, dass mein Programm bis dahin (dank deiner Hilfe) ziemlich gut läuft. :cheers:

toms 15. Jul 2008 06:34

Re: POST Formular ausfüllen + Werte ablesen
 
Hallo, Google mal nach Bei Google suchenWbBtnClick

FreakLitkowsky 15. Jul 2008 17:01

Re: POST Formular ausfüllen + Werte ablesen
 
Dankeschön, jetzt funktioniert mein Programm endlich.

Vielen lieben Dank für all deine Mühe!!! :balloon: :dancer2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr.
Seite 2 von 2     12   

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