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>
自己レスで大変お恥ずかしいのですが、問題解決致しました。
最初から良く見直した上で、OlePropertyGet と OleFunction を使用して、
書き直した所、無事動作致しました。
OleFunction の使用法の間違いと、コレクションが存在しない時の対応が
不十分だった為と判明しました。(質問メールでは綴りも間違えてました)
ML過去ログは大変参考にさせて頂きました。
お騒がせして申し訳ありません。
------------------------------------------------------------
Cobalt <cob...@mx7.ttcn.ne.jp>