[cbuilder:40076] TCppWebBrowserでHTMLのTABLE読込

128 views
Skip to first unread message

Cobalt

unread,
Jun 18, 2009, 6:27:25 AM6/18/09
to cbui...@sfdata.ne.jp

皆さん、こんにちは。Cobalt と申します。

TCppWebBrowserの詳細も、C++Builderでの DHTMLへのアクセスも良く理解して無いの
ですが、HTML中のTABLEのデータ取得をしたいと思うのですが、どの様にしたら
よろしいのでしょうか?

MLの過去ログを参考に OlePropatyGet と OleFunction を使用して、Delphiの以下の
サンプルコードの内、(※)印まではCBuilderでなんとか動作する物が出来たのですが
(length プロパティで表の数が取得出来ました)、後が解かりません。

使用してるのは、C++Builder2009 です。

どなたかご教授お願い致します。

-------- Delphi によるサンプルコード --------
procedure Form1.Button1Click(Sender: TObject);
var
i,j : integer;
GetTable : OleVariant;
begin
// table を複数持つHTML文書のアドレス(デタラメです)
WebBrowser1.Navigate('http://www.myhome.non.non.jp/index.htm');

while WebBrowser1.ReadyState < READYSTATE_INTERACTIVE do
Application.ProcessMessages;

GetTable := WebBrowser1.OleObject.Document.all.tags('table').item(0); (※)

For i:=0 to (GetTable.Rows.Length-1) do
begin
For j:=0 to (GetTable.Rows.Item(i).Cells.Length-1) do
begin
Memo1.Lines.Add(GetTable.Rows.Item(i).Cells.Item(j).innerhtml);
end;
end;

end;
-------- ここまで(出典不明) ------------------


------------------------------------------------------------
Cobalt <cob...@mx7.ttcn.ne.jp>


Cobalt

unread,
Jun 18, 2009, 8:48:28 PM6/18/09
to cbui...@sfdata.ne.jp
皆さん、こんにちは。Cobalt です。


自己レスで大変お恥ずかしいのですが、問題解決致しました。

最初から良く見直した上で、OlePropertyGet と OleFunction を使用して、
書き直した所、無事動作致しました。

OleFunction の使用法の間違いと、コレクションが存在しない時の対応が
不十分だった為と判明しました。(質問メールでは綴りも間違えてました)

ML過去ログは大変参考にさせて頂きました。

お騒がせして申し訳ありません。

------------------------------------------------------------
Cobalt <cob...@mx7.ttcn.ne.jp>


Reply all
Reply to author
Forward
0 new messages