Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

twebrowser

Posted on 2009-05-18
9
Medium Priority
?
211 Views
Last Modified: 2012-05-07
Hi experts,
I need get  text from  twebwrowser by code.for example,get all the text in twebrowser from  row 3  to row5 .How to?thanks.
0
Comment
Question by:Cheng_sam
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
9 Comments
 
LVL 26

Expert Comment

by:EddieShipman
ID: 24413365
Try something like this:
procedure TForm1.ParseResults(sl: TStringList);
var
 i, j: Integer;
begin
 for i := 0 to sl.Count-1 do
 begin
   if Pos('(1)', sl.Strings[i]) > 0 then
   begin
     for j := 0 to 39 do
     begin
       Memo1.Lines.Add(sl.Strings[i+j]);
     end;
   end;
 end;
end;
 
procedure TForm1.ParseFile(var sl: TStringList);
var
i, j: integer;
ovTable: OleVariant;
s: String;
begin
ovTable := WebBrowser1.OleObject.Document.all.tags('TABLE').item(0);
for i := 0 to (ovTable.Rows.Length - 1) do
begin
  for j := 0 to (ovTable.Rows.Item(i).Cells.Length - 1) do
  begin
    s := ovTable.Rows.Item(i).Cells.Item(j).innerText;
    sl.Text := s;
  end;
end;
end;
 
procedure TForm1.FormShow(Sender: TObject);
begin
 memo1.Lines.Clear;
 Webbrowser1.navigate('http://localhost/top40.html');
end;
 
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
var
 sl: TStringList;
begin
 sl := TStringList.Create;
 try
   Parsefile(sl);
 finally
   ParseResults(sl);
   sl.Free;
 end;
end;

Open in new window

0
 

Author Comment

by:Cheng_sam
ID: 24422515
thanks for your comment.
I have tested the codeand change the Webbrowser1.navigate('http://localhost/top40.html') to
'http://www.martinstoeckli.ch/delphi/delphi.html#AppLink'.it  see nothing.
0
 
LVL 26

Expert Comment

by:EddieShipman
ID: 24423246
Then the HTML must be different. Let me look at it.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 26

Expert Comment

by:EddieShipman
ID: 24423258
Yep, there are no TABLE tags in that HTML. What is it that you want to parse and into what.
0
 

Author Comment

by:Cheng_sam
ID: 24432664
I try to get some text from a html. the text may be a area from line 2 to line 4 . no table tag.
0
 
LVL 26

Expert Comment

by:EddieShipman
ID: 24433391
I need to know exactly what text you want from that page.
0
 

Author Comment

by:Cheng_sam
ID: 24443085
for axample,I visit google and search some key word.the pages show  a couple of result  .I want copy some word showed in page from line2 to line10(or others)   by code. the twebbrowser (or other method)can do this?
thanks
0
 
LVL 26

Accepted Solution

by:
EddieShipman earned 600 total points
ID: 24455808
There is no way to get words from just line 2 or line 10, you have to know the source code of the page you want to pars and how it is designed. HTML is NOT very pretty and most of the time not very well structured so it would even be difficult to parse it based on the elements.

My suggestion is to study the HTML source of the page(s) you want to pare and then come back and we can help you figure out EXACTLY what it is you want.
0
 

Author Comment

by:Cheng_sam
ID: 24649316
sorry for my late response because of my credit car expire.thanks.
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…

670 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question