Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTML Text in Memo Laden (https://www.delphipraxis.net/93039-html-text-memo-laden.html)

Asatru 30. Mai 2007 17:07


HTML Text in Memo Laden
 
So ich hätte mal eine neue Frage: ich möchte als erstes nur mal fragen nach was ich suchen muss (google) um selber auf den Quellcode zu kommen, weis leider nicht, nach was ich suchen muss.

Ich habe folgenden Quellcode im HTML (Kurzer Auszug)

Zitat:

<td>27/05</td>
<td>0049162*******</td>
<td>[img]img/status_freesms.gif[/img]</td>
<td align="left">Hier steht meine SMS Nachricht</td>
Nun soll er mir in einem Memo (oder gibts was besseres) tabweise die Daten anzeigen

BSP:

27/05 <tab> 0049162******* <tab> Hier steht meine SMS Nachricht
28/05 <tab> 0049160******* <tab> Hier steht ganz anderer Text
.......
.......

Wäre nett wenn mir jemand nu paar schlüsselwörter geben könnte, nach was ich da genau alles suchen müsste!

Das wars vorerst mal, und vielen Dank im vorraus!

marabu 30. Mai 2007 17:41

Re: HTML Text in Memo Laden
 
Hallo,

natürlich könntest du dich über eine Internet-Suchmaschine an das Thema herantasten, aber auch die Delphi-PRAXiS hat eine Suchfunktion. Wenn du aber gar nicht weißt, nach was du suchen musst, dann hilft dir vielleicht ein gezielter Link:

Im Thread z.B. daten einer seite auslesen ohne twebbrowser hatten wir uns an ein ähnliches Problem herangetastet. Wenn du dir den Thread durchliest und den dort erhältlichen Code analysierst, dann solltest du deinem Ziel ein ganzes Stück näher kommen können.

Freundliche Grüße

Asatru 30. Mai 2007 18:53

Re: HTML Text in Memo Laden
 
Yeah sieht sehr interessant aus :-)

Sehr viele Datentypen von dennen ich noch nie was gehört bzw gelesen habe :-)

Aber mal dran klemmen,


vorerst vielen Dank

Aike 30. Mai 2007 19:09

Re: HTML Text in Memo Laden
 
Alt und gut: getHTML

Asatru 30. Mai 2007 22:19

Re: HTML Text in Memo Laden
 
Vielen Dank für das Wort getHTML dadurch kam ich druff ml zu schauen nach getHTMLtext :-)

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw, MSHTML;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    Button2: TButton;
    Memo1: TMemo;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);

  private
    DocumentLoaded: boolean;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function GetHtmlText(WebBrowser: TWebBrowser; ElementName: string = ''; HTMLText : boolean = false): string;
var
 m_pHtmlDoc2 : IHTMLDocument2;
 HTMLElement : IHTMLElement;
 HTMLTxtRange : IHTMLTxtRange;
begin
 result := '';
 try
   if assigned(WebBrowser.Document) then begin // check document
     m_pHtmlDoc2 := WebBrowser.Document as IHTMLDocument2; // document get
     if assigned(m_pHtmlDoc2) then begin
       if ElementName = '' then
         HTMLElement := m_pHtmlDoc2.body as IHTMLElement // select body for all text
       else
         HTMLElement := m_pHtmlDoc2.all.item(ElementName,0) as IHTMLElement;

       if assigned(HTMLElement) then begin // check
         m_pHtmlDoc2.selection.empty; // clear old selection
         HTMLTxtRange := IHTMLTxtRange(m_pHtmlDoc2.selection.createRange);
         if assigned(HTMLTxtRange) then begin
           HTMLTxtRange.moveToElementText(HTMLElement); // move selection to Element
           HTMLTxtRange.select; // select
           if HTMLText then
             result := HTMLTxtRange.htmlText // get the TEXT
           else
             result := HTMLTxtRange.text; // get the PLAIN TEXT
           m_pHtmlDoc2.selection.empty; // remove selection
         end;
       end;
     end;
   end;
 except
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate('http://www.mufa.de');
  repeat
  Application.ProcessMessages;
  until DocumentLoaded;
  WebBrowser1.OleObject.document.forms.item(1).elements.item('login_username').value:='Username';
  WebBrowser1.OleObject.document.forms.item(1).elements.item('login_password').value:='Password';
  WebBrowser1.OleObject.document.forms.item(1).submit;
  repeat
  Application.ProcessMessages;
  until DocumentLoaded;
  WebBrowser1.Navigate('http://www.mufa.de/free-sms.html');


end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.mufa.de');
end;



procedure TForm1.Button3Click(Sender: TObject);
begin
   Memo1.Text:=GetHtmlText(WebBrowser1);
end;

end.
Besteht die Möglichkeit dem Script zu sagen, das er mit dem ausfiltern des Textes an einer bestimmten stelle erst beginnen soll? So ein Dokument beginnt ja mit html und endet j meistens mit /HTML, nur kann ich leider net rauslesen, wo sich das verstecken sollte!

Testy 31. Mai 2007 11:30

Re: HTML Text in Memo Laden
 
Was möchtest du denn ausfiltern? Willst du nur bestimmte Sachen in ein Memo bzw. in ein anderes Memo einlesen? Dann schau dir mal den Thread von mir an. Hatte auch so ein Problem und mit "TRegExpr" habe ich es dann hinbekommen!
Hier geht's zum Thread: Link

Gruß!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr.

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