AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Buchstaben an Internetexplorer senden

Ein Thema von Markus Effenberger · begonnen am 8. Aug 2017 · letzter Beitrag vom 10. Aug 2017
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

AW: Buchstaben an Internetexplorer senden

  Alt 8. Aug 2017, 14:48
Könntest Du statt des IEs auch den TWebBrowser innerhalb Deiner Anwandung nutzen?

Wenn ja, ließe sich die Eingabe programmintern lösen.

Weiß nicht mehr, wo ich das herhabe:
Delphi-Quellcode:
// ...HTML Formulare mit TWebBrowser automatisch ausfüllen lassen?
function WBFillForm(wb: TWebBrowser; sFieldName: string; sValue: string): Boolean;
var
  i, j: Integer;
  FormItem: Variant;
begin
  Result := False;
  //no form on document
  if wb.OleObject.Document.all.tags('FORM').Length = 0 then begin
    Exit;
  end;
  //count forms on document
  for I := 0 to wb.OleObject.Document.forms.Length - 1 do begin
    FormItem := wb.OleObject.Document.forms.Item(I);
    for j := 0 to FormItem.Length - 1 do begin
      try
        // when the fieldname is found, try to fill out
        if AnsiUpperCase(FormItem.Item(j).Name) = AnsiUpperCase(sFieldName) then begin
          FormItem.Item(j).Value := sValue;
          Result := True;
        end;
      except
        Exit;
      end;
    end;
  end;
end;
Ansonsten schau mal bitte hier: https://www.delphi-treff.de/tipps-tr...ern-ermitteln/

Dort ist beschrieben, wie Du an eine Instanz vom IE kommen kannst. Die bekommst Du dann als IWebbrowser2 (definiert in SHDocVw). Mit der so erhaltenen Instanz kannst Du dann alles machen, was die Schnittstelle zulässt.

Da der TWebBrowser in der gleichen Unit definiert ist, würde es mich wundern, wenn Du über einen so "gefundenen" IE nicht das Gleiche anstellen kannst, wie mit 'nem TWebBrowser.
  Mit Zitat antworten Zitat
Markus Effenberger

Registriert seit: 2. Jul 2014
44 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Buchstaben an Internetexplorer senden

  Alt 9. Aug 2017, 07:23
Könntest Du statt des IEs auch den TWebBrowser innerhalb Deiner Anwandung nutzen?
Nein leider nicht. Die TWebbrowserkomponente führt die Seite nicht richtig aus (z.B. keine Javascripts).
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Buchstaben an Internetexplorer senden

  Alt 9. Aug 2017, 07:38
Nur als Hinweis: Der TWebBrowser kapselt standardmäßig einen uralten Internet Explorer 7. Du kannst ihn auch auf die jeweils neuste IE-Version einstellen, der kommt eigentlich mit allem klar.

http://www.delphipraxis.net/192748-i...ml#post1371666
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.118 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Buchstaben an Internetexplorer senden

  Alt 10. Aug 2017, 01:47
Habe das gerade mal eben mit der Komponente TSendKeys (uralt, muss ich von Torry haben) an IE11 ausprobiert. Funktioniert einwandfrei.
(Ja, das ist eine Komponente, sie besitzt aber ausschließlich Methoden, die eigentlich Klassenmethoden sein müssten... Achtung bei Verwendung von Umlauten, da hohe Byte-Werte reserviert sind.)
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Buchstaben an Internetexplorer senden

  Alt 9. Aug 2017, 07:40
Könntest Du statt des IEs auch den TWebBrowser innerhalb Deiner Anwandung nutzen?
Nein leider nicht. Die TWebbrowserkomponente führt die Seite nicht richtig aus (z.B. keine Javascripts).
Die TWebBrowser-Komponenten führt es schon aus. Du musst nur die bescheuerte Logik von MS abschalten das ohne Anpassungen der TWebbrowser initial im IE7-Modus läuft.
Such einfach mal nach FEATURE_BROWSER_EMULATION. Drt findest du genügend Beispiel wie man diese bescheuerte Maximalaltkompatiblität los wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Buchstaben an Internetexplorer senden

  Alt 9. Aug 2017, 10:00
Wäre dashier eventuell ein Ansatz?

... den Internet Explorer über OLE-Automation steuern?

Prinzipiell müsste man den IE, ähnlich wie Word oder Excel, auch über Ole-Automatisation steuern können.

Hier in der Doku von MS InternetExplorer object findet man auch die Eigenschaft Document, über die man letztlich alles das machen kann, was man auch über den TWebBrowser erledigen kann. Eigentlich ist das auch logisch, da der TWebBrowser ja nichts anderes ist, als eine Kapselung des Internetexplorers.

Eine Beschreibung dessen, was man per JavaScript mit der Eigenschaft Document "anstellen" kann, ist hier zu finden: SelfHTML - JavaScriptavaScript/DOM/Document.

Man kommt an jedes Formular, an jedes Eingabefeld ... Das kann man analog auch auf Delphi übersetzen.

Einfach hier mal stöbern: SwissDelphiCenter.ch - Internet / LAN - Wie kann ich ....
Was dort zum TWebBrowser beschrieben ist, kann man analog auch mit dem IE per Ole-Automatisation machen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 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