喫茶XRAYトップページ

[スレッド全体
]

[9564] サンプル更新返信 削除
2016/1/29 (金) 23:29:23 Mr.XRAY
[948_TEmbeddedWB コンポーネントの追加メソッド類] に,
表示中のウェブページを画像にして保存するサンプルを追加しました.
http://mrxray.on.coocan.jp/Delphi/plSamples/948_TEmbeddedWB_Method.htm#15

こんなのが必要なのかどうかは疑問というか,不明なのですが,
某掲示板に,恐怖の丸投げがあったので.思いついての追加です.


[9570] ウェブページの階層的な保存返信 削除
2016/2/5 (金) 16:56:47 Mr.XRAY
サンプルプログラムの [766] に以下を追加しました.

[10_ウェブページの階層的な保存のサンプル]
http://mrxray.on.coocan.jp/Delphi/plSamples/766_SaveWebPage.htm#10


[9571] Re:ウェブページの階層的な保存返信 削除
2016/2/7 (日) 12:23:15 Mr.XRAY
> [10_ウェブページの階層的な保存のサンプル]
> http://mrxray.on.coocan.jp/Delphi/plSamples/766_SaveWebPage.htm#10


常に上書き保存のコードにしました.
HTML コードから IHTMLDocument2 のオブジェクトを取得する関数を修正しました.

(1) TEncoding で処理できない文字コードページの場合の処理を追加
(2) IHTMLDocument2.readyState の処理コードを以下のようにしました.
    動画を含むページだと,永久に complete にならないため
    この修正で少しはダウンロードが速くなったかも知れない

      while IDoc2.readyState <> 'complete' do begin
        Application.ProcessMessages;
      end;
         ↓ 変更
      while IDoc2.readyState = 'loading' do begin
        Application.ProcessMessages;
      end;


[9572] Re2:ウェブページの階層的な保存返信 削除
2016/2/7 (日) 16:19:10 TS
▼ Mr.XRAYさん
> > [10_ウェブページの階層的な保存のサンプル]

DelphiXEでskregexp3_1_12を使って上記を実行しました。
下記633行目
if LRegExp.RegMatch('\((.+?)\)', LStyleValue, LListMatch) then begin

で未定義の識別子RegMatchでエラーになります。
SkRegExpのヘルプも見たのですがRegMatchは見当たりません。

何か特別な事をしなければいけないのでしょうか。


[9573] Re3:ウェブページの階層的な保存返信 削除
2016/2/7 (日) 17:30:04 Mr.XRAY
▼ TSさん

> DelphiXEでskregexp3_1_12を使って上記を実行しました。
> 下記633行目
> if LRegExp.RegMatch('\((.+?)\)', LStyleValue, LListMatch) then begin
>
> で未定義の識別子RegMatchでエラーになります。
> SkRegExpのヘルプも見たのですがRegMatchは見当たりません。


あり ?
私のはちょっと古く,SkRegExp 3.0.7 なんですが.
私も後で確認してみますです.3.1.12 ではなくなったのかな ?


[9575] Re4:ウェブページの階層的な保存返信 削除
2016/2/7 (日) 19:00:25 Mr.XRAY
> > DelphiXEでskregexp3_1_12を使って上記を実行しました。
> > 下記633行目
> > if LRegExp.RegMatch('\((.+?)\)', LStyleValue, LListMatch) then begin


調べて... ほんの少し (^^;
http://skregexp.komish.com/docs/tskregexp/
の「クラス関数」に RegMatch ありますね.
つまり,Create する必要ないですね.

http://skregexp.komish.com/docs/tskregexp/regmatch/

  if TSkRegExp.RegMatch('\((.+?)\)', LStyleValue, LListMatch) then begin

でいいですね.ハハハッ(笑ってごまかすな !!)
で,問題の「未定義...」の件はまだ分かりません.

(1) Delphi XE の [オプション] [ツール] の [ライブラリ] ノードで
     SkRegExp のライブラリのパスを削除
(2) 小宮さんのところから 3.1.12 をダウンロードして,ソースファイルを
    全て,プロジェクトの EXE のフォルダにコピー
    ([2010 or later] フォルダ内のファイルも上書きコピー,貼り付け)
(3) プロジェクトをコンパイルして実行

で,未定義は発生しませんです.
引き続き調査しますです.


[9577] Re5:ウェブページの階層的な保存返信 削除
2016/2/7 (日) 20:41:16 TS
▼ Mr.XRAYさん

済みません、お手数をお掛けしました。
私のミスです。
いつも使うユニットをMy_PASと言うフォルダーにまとめていまして
オプションのライブラリーでそちらが先に指定してあったため
古いSKRegExpを読みに行っていました。
ヘルプもその古い物を見ていたため勘違いしてしまいました。
実行できて嬉しいです。

「表示中のウェブページを画像にして保存する」も丁度私にとって
タイムリーな記事で「恐怖の丸投げ」はありがたいです。


[9578] Re6:ウェブページの階層的な保存返信 削除
2016/2/7 (日) 20:55:06 Mr.XRAY
▼ TSさん

> 古いSKRegExpを読みに行っていました。

ハハハッ.逆でしたか,TS さんの方が古いやつだったんですね.
ともかく動作するようであれば,結果オーライですね.
でも,ちょっと嬉しい.TS さんでもそんなミスがあるなんて (失礼 !!)
「人の不幸は蜜の味」ってネ.ハハハッ.

> 実行できて嬉しいです。

多くのサイトというか,ウェブページで試していないので,
もしかしたら,ダメなページがあるかも知れません.
その時はご容赦くださいませ.
 
> 「表示中のウェブページを画像にして保存する」も丁度私にとって
> タイムリーな記事で「恐怖の丸投げ」はありがたいです。


これは,質問の文章からはどんなのが希望なのか分かりませんでしたが,
文章を読んで,確か,昔,掲載したサンプルのようなプログラムを作りたい人が
いたような記憶がありました.
で,思い出して,サンプルとして掲載しておくか... というわけです.


[9579] Re7:ウェブページの階層的な保存返信 削除
2016/2/7 (日) 21:21:41 TS
▼ Mr.XRAYさん
> でも,ちょっと嬉しい.TS さんでもそんなミスがあるなんて (失礼 !!)
残念ですが、何時もの事です。

>「表示中のウェブページを画像にして保存する」
今まで勘違いしていました。たまに画面をキプチャーソフトで画像にして
それを印刷するとちんけな印刷画像しか出なかったのでそんなものだと
思っていたのですが今回保存した画像を印刷したところ実用的な印刷品質
で印刷できました。

国土地理院が提供している地図も実用に耐えるものでした。
http://maps.gsi.go.jp/#10/35.362222/138.731389

色々おもしろい使い方ができると思います。
ありがとうございました。



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82