// インターネット上の ftp:/http: ファイル検索:選択文字列をファイル名として FileMirrors.com で検索する // TAB=4 // 実行には PPA.DLL が必須です。sakura.exe と同じフォルダに PPA.DLL を入れておいてください。 // マクロファイルの拡張子は .PPA でなくてはなりません。 // http:プロトコルとの関連付けを使用して検索ページを表示させます。 // // 関連付けの設定がおかしい、などでうまく動作しない場合は Shell の行(関連付けでの起動)を // 注釈にして Exec の行(Webブラウザの実行ファイルを直接指定して実行)を有効にして使用して // みてください。 // (その場合、環境に合わせて Exec 中の 'C:\Program Files\Internet Explorer\IEXPLORE.EXE' //  を書き換える必要があります。) var url:String; // 文字列変数 url を用意 word,types:String; // 文字列変数 word,type を用意 num:Integer; // 整数数値変数 num を用意 bef,aft,tmp:String; // 文字列変数 bef,aft,tmp を用意 chn,pt:Integer; // 整数数値変数 chn,pt を用意 begin // // 表示件数 - 無し // num := 10; // 10件ずつ表示 // // num := 20; // 20件ずつ表示 // // num := 30; // 30件ずつ表示 // // num := 50; // 50件ずつ表示 // 検索条件 types := 'contains'; // contains 指定文字列を含んでいる物すべて // types := 'equals'; // equals 指定文字列と完全に一致する物のみ // types := 'begins'; // begins with 指定文字列で始まる物のみ // types := 'ends'; // ends with 指定文字列で終わる物のみ word := Trim(S_GetSelectedString(0)); // 文字列変数 word に「“選択部分の文字列”から先頭と末尾のスペースを削除した文字列」を取得 // -------------------------------------------------- // // 文字列 word 内の記号を置換する。 for chn :=1 to 7 do // 7種類の置換を順におこなう。 begin //{ case chn of //{ 1: begin bef:='%'; aft:='%25'; end; // ループ1回目では '%' ⇒ '%25' 変換 2: begin bef:='#'; aft:='%23'; end; // ループ2回目では '#' ⇒ '%23' 変換 3: begin bef:='&'; aft:='%26'; end; // ループ3回目では '&' ⇒ '%26' 変換 4: begin bef:='='; aft:='%3D'; end; // ループ4回目では '=' ⇒ '%3D' 変換 5: begin bef:='?'; aft:='%3F'; end; // ループ5回目では '?' ⇒ '%3F' 変換 6: begin bef:='+'; aft:='%2B'; end; // ループ6回目では '+' ⇒ '%2B' 変換 7: begin bef:=' '; aft:='+' ; end; // ループ7回目では ' ' ⇒ '+' 変換 end; //} // ↓文字列 word の中の文字 bef を aft に置換する。 tmp := ''; while True do // 無限ループ begin //{ pt := pos(bef,word); // word の中から bef の場所を探す。 if pt=0 then break; // bef が見つからないならループを脱出する。 tmp := tmp + Copy(word,1,pt-1) + aft; // tmp の後ろに「word 内の bef の前までの文字列」+「置換後の文字列 aft」を連結する。 word := Delete(word,1,pt+Length(bef)-1 ); // word の内容を「word 内の bef の後ろの文字列」に変更する。 end; //} word := tmp + word; // word := 「置換作業が完了した文字列 tmp」 + 「一番後ろの bef よりも後ろの残り部分」 end; //} // -------------------------------------------------- // if word <> '' then // 選択中の文字列があった(またはカーソル位置に単語があった)なら begin // FileMirrors 検索ページの URL を生成 ⇒ 文字列変数 url に格納 url := 'http://www.filemirrors.com/search.src?type=' + types + '&file=' + word ; // + '&perpage=' + IntToStr(num); // ↓Webブラウザの実行ファイル(この場合は Internet Explorer)を直接指定して実行する場合 // Exec( 'C:\Program Files\Internet Explorer\IEXPLORE.EXE' , url , 0 ); // ↓(http:プロトコルに対する)関連付けにて実行する場合 Shell( url , '' ); // ※ Shellで使っている「プロトコルとの関連付け」は Internet Explorer によって提供される機能です。 //  「Windows 95 で Internet Explorer をインストールしていない」などの環境では動作しません。 //  例えば「Win95 で IE は入れていない。Netscape しか入っていない」という場合は素直に //  「Exec を使用して、Netscape.exe を指定する」ようにして下さい。 end; end;