Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Markierten Text aus Webbrowser auslesen (https://www.delphipraxis.net/66289-markierten-text-aus-webbrowser-auslesen.html)

Yheeky 28. Mär 2006 13:34

Re: Markierten Text aus Webbrowser auslesen
 
Okay, mit der SHDocVw_TLB hat es geklappt aber die mshtml.tlb habe ich immer noch nicht reinbekommen. Die Datei TLIBIMP gibt´s auch nicht bei mir im BIN Verzeichnis. Wie kann ich die Datei denn sonst reinbekommen?

marabu 28. Mär 2006 15:55

Re: Markierten Text aus Webbrowser auslesen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Das Utility TLIBIMP.EXE wird bei D5 in das BIN-Verzeichnis installiert. Eventuell hast du die Installation unterdrückt. Auf der Installations-CD sollte es drauf sein. Der Aufruf bei D5 ist auch etwas abweichend von D7:

Code:
tlibimp -A- %windir%\system32\mshtml.tlb
-A- unterdrückt das hässliche Suffix. Oder du schaust im Anhang.

marabu

Yheeky 28. Mär 2006 18:08

Re: Markierten Text aus Webbrowser auslesen
 
Okay, nun funktioniert das.
Das funktioniert aber nur, wenn ich einen IE Browser bei mir im Programm einbaue. Wie würde das mit externen Browsern funktionieren? Das interessiert mich eigentlich viel mehr...

marabu 28. Mär 2006 18:13

Re: Markierten Text aus Webbrowser auslesen
 
Hast du Beitrag #5 schon gelesen?

Yheeky 28. Mär 2006 18:28

Re: Markierten Text aus Webbrowser auslesen
 
Ja, aber bei dem Code kommt bei mir nur "Undefinierter Bezeichner: IShellWindows" :(

marabu 28. Mär 2006 19:33

Re: Markierten Text aus Webbrowser auslesen
 
Bei mir nicht. Streng dich bitte etwas mehr an - immerhin musst du bald meine Rente finanzieren.

Delphi-Quellcode:
uses
  MSHTML,
  ActiveX,
  ShlObj;

function SelectedText(doc: IHTMLDocument2): String;
begin
  with doc.selection.createRange as IHTMLTxtRange do
    Result := text;
end;

function InternetExplorer: IWebBrowser2;
var
  sw: IShellWindows;
  i: Integer;
  disp: IDispatch;
begin
  sw := CoShellWindows.Create;
  for i := 0 to Pred(sw.Count) do
  begin
    disp := sw.Item(i);
    if Succeeded(disp.QueryInterface(IID_IWebBrowser2, Result)) then
      Exit;
  end;
  Result := nil;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  wb2: IWebBrowser2;
begin
  wb2 := InternetExplorer;
  if Assigned(wb2) then
    ShowMessage(SelectedText(wb2.Document as IHTMLDocument2));
end;
Freundliche Grüße vom marabu

Yheeky 28. Mär 2006 19:58

Re: Markierten Text aus Webbrowser auslesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Leider lässt mich Delphi nicht für deine Rente arbeiten... :roll:

DGL-luke 28. Mär 2006 20:06

Re: Markierten Text aus Webbrowser auslesen
 
Das Statement, das hier den aufkommenden Zweifel an deiner geistigen Verfassung zerstreuen würde, wäre "Ich habe die selben Sachen in den Uses wie marabu, es geht aber trotzdem nicht".

;)

marabu 28. Mär 2006 20:06

Re: Markierten Text aus Webbrowser auslesen
 
Drückeberger.

Dein Bild zeigt den falschen Ausschnitt aus dem Quelltext. Was hast du in der Uses-Klausel angegeben? IWebBrowser2 ist in ShDocVw deklariert.

marabu

@Lukas: eins rauf mit Mappe

Yheeky 28. Mär 2006 20:16

Re: Markierten Text aus Webbrowser auslesen
 
Ai, das musste auch noch dazu sagen. Ich habe gedacht, dass das alle sind, die du in die Uses reingeschrieben hast. ;) Danke trotzdem schonmal!

Nun geht das mit dem Internet Explorer, aber nicht, wenn ich den IE 2 mal auf habe. Dann wird nur der erste von beiden ausgelesen.
Kann man diesen Code nun noch auf andere Browser übertragen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:01 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz