皆様いつもお世話になっております。また、この掲示板のレベルを下げるような質問をすることをお許し下さい。
サイトからファイルをダウンロードするプログラムを作成しております。
ロードして取得したファイルの拡張子を
kakutyosi:= AnsiStrRScan(PChar(FileName + #0), '.')で取得して次のグループにあるか、そして、拡張子の名前を取得したい場合、定番の手法をご指導頂きたいのです。
(.mpg, .mp3, .avi, .zip, .lzh, .wmv, .mpeg, rm,)
ダウンローダーによくあるように、スイッチにより、今回は圧縮ファイル.zip, .lzhは除外したい場合もあります。もし列挙型で定義している場合
type kaku = (.mpg, .mp3, .avi, .zip, .lzh, .wmv, .mpeg, rm,);
途中でテーブル内容をくるくる変更できるのでしょうか。
今は、if kakutyosi = '.mpg' then ・・・・や
if AnsiPos(kakutyosi, '.mpg, .mp3, .avi')<>0 then ・・・のような処理をしています。
説明がうまくできませんが、どうぞよろしくご指導をお願いいたします。
Irvine
http://hp.vector.co.jp/authors/VA024591/
IrvineというDL用ツールのソース
options.pasのClipMonitorExtやClickMonitorExtが
それらしいように思えます。
さらに追っていくと
irc_iebrowserhelperobject.pasや
irc_ienamespacehandler.pasで
レジストリから
extensions.Text := ini.ReadString(_BROWSER,__CLICKMonitorExt,'');
と拡張子を読み込み、
//拡張子チェック
ext := ExtractFileExt(ui.FileName);
//すべてチェック
if (ssCtrl in ss) and (ssAlt in ss) then
ok := True
else if alt then
ok := (ssAlt in ss) and (match or (extensions.Match(ext) > -1))
else
ok := match or (extensions.Match(ext) > -1);
よく分からなくて申し訳ないのですが、たぶんここがそうだと思います。
DBOXさん、早速のご指導ありがとうございます。
いろいろトライしましたが、まだ私にはかなり難解ですが、めげずにやってみます。
サイトのファイルのダウンロードそのものは簡単ですが、その後の処理はもう大変だと言うことが解りました。
htmlファイルをDLし、その画像をDLし、このhtmlファイルを表示させるというのはhtml文の書き方がまちまちでなかなか大変ですね。
Irvineは長年使わせて頂いていますが今更ながら高度な処理に敬服します。勉強します。ありがとうございました。
また、教えて下さい。
ツイート | ![]() |