![]() |
Daten aus IE in Memo transferieren
Hallo Leute,
ich habe eine Anwendung, bei der ich momentan zwischen IE und eigenem Programm hin-und-her springen muß. Aktuelle Vorgehensweise: im IE wird eine Seite mit diversen Daten geöffnet, in den Body geklickt, mit Strg-A der Inhalt markiert, mit Strg-C in den Zwischenspeicher kopiert, anschließend wird per Mausclick in die eigene Anwendung gewechselt und per Click auf einen Button der Zwischenspeicher ausgelesen und von meinem Programm weiter verarbeitet. Ich würde gern einiges davon automatisieren. Die Anwahl der Seite muß manuell von den vorgegebenen Button erfolgen, da sämtliche Versuche, die Seiten andersweitig anzuwählen gescheitert sind. Der Click auf den Button in meiner Anwendung soll nun eine automatischen Rücksprung auf den IE bewirken, das Markieren der angezeigten Daten, das Kopieren in den Zwischenspeicher und den Rücksprung in meine Anwendung. Dort soll ein Click auf meinen Button simuliert werden, damit die im Zwischenspeicher befindlichen Daten verarbeitet werden. Ist ein bischen viel Text, aber wie soll ich es kürzer erklären? Vielen Dank im Voraus. eddy |
Hallo,
kannst du keinen TWebbrowser in deiner Anwendung verwenden? Garby |
Hallo Garby,
ich habe bisher noch gar nichts mit TWebBrowser gemacht. Nach Deiner Frage habe ich eine wenig experimentiert, bin aber nur begrenzt erfolgreich. Die gewünschten Internetseiten erhalte ich in meinem WebBrowser angezeigt. Damit wäre die erste Hürde genommen. Mit welchen Anweisungen kann ich jetzt den Focus auf den Body setzen, alles markieren und in den Zwischenspeicher kopieren? Eine Anweisung SelectAll habe ich nicht gefunden. mfg eddy |
Wenn du TWebbrowser verwendest musst du nicht mehr über die Zwischenablage gehen.
Wie man aus dieser Komponente den Text auslesen kann siehst du in diesem ![]() Gruß Garby |
Hallo Garby,
ich habe, Deinem Hinweis folgend, folgende Befehle probiert:
Code:
war aber nicht erfolgreich. aText bleibt leer und aHTML sieht auch nicht so aus wie das, was erscheint, wenn man "Quelltext anzeigen" anclickt.
aText := WebBrowser1.OleObject.Document.Body.InnerText;
aHTML := WebBrowser1.OleObject.Document.Body.InnerHTML; Beim Auswahl-Menü erscheint nach der Eingabe des Punktes hinter WebBrowser1 OleObject bei mir nicht in der Auswahlliste. Was kann man statt Body noch alles eingeben? mfg eddy |
Heißt deine WebBrowser-Komponente eventuell gar nicht WbBrowser1?
|
Hallo Luckie,
Zitat:
Code:
Ein Schreibfehler liegt nicht vor, da würde der Compiler mir etwas von "Undefinierter Bezeichner" erzählen.
WebBrowser1: TWebBrowser;
Code:
funktioniert auch nicht. Da erhalte ich während der Laufzeit die folgende Fehlermeldung:
WebBrowser1.OleObject.Document.SelectAll;
Zitat:
Hat noch jemand eine Idee? mfg eddy |
Hallo Leute,
Problem ist gelöst:
Code:
mfg
{
angezeigte Internetseite (im wesentlichen mit Text) markieren markierten Text in den Zwischenspeicher kopieren } uses ActiveX, OleCtrls; procedure TFMoney.SpeedButton3Click(Sender: TObject); begin WebBrowser1.SetFocus; try WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_PROMPTUSER); WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_PROMPTUSER); except end; // Aktionen, die den Zwischenspeicher auslesen end; // damit das Kopieren über den Zw.speicher funktioniert: initialization OleInitialize(nil); finalization OleUninitialize; end. eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 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