[BlueLeaf1336]> DOWNLOAD> UnUtility>

リンクタグ作成ユーティリティ HrefBuilder

historyTOP

2004/05/11:公開
2004/07/29:修正
2006/03/20:修正
2006/09/13:多分 TITLEタグ に改行が含まれているときにうまく動作しない問題を修正
2006/09/19:https:// で始まる URL に対応したつもりだけれどもできてない修正

downloadTOP

最新版 HrefBuilder20060913.zip(243,835bytes)※ソースコードと実行ファイルです。

ダメ版 HrefBuilder20060919.zip(243,846bytes)※ソースコードと実行ファイルです。

overviewTOP

プログラムを作っていると、非常に頻繁にGoogleで調べます。で、いつか役に立つだろうとサイトのアドレスを保存したり、ホームページでリンクを張ったりします。こんな感じに。

ちなみに、Jconvert.pas をここから頂きました。

で、これが結構めんどくさい。たとえば、URLだけを溜め込んでいる時、このサイトのタイトルってナンだっけか? と必ずなります。で、そのページを開いてソースを開けて、タイトルタグを探してコピーして...。

というわけでこのプログラムは、この操作をやります。つまり...

  1. URLを受けとります。
  2. そのサイトのソースを開きます。漢字コードを適当に変換します。
  3. タイトルタグを何とか頑張って探します。見つからなければ諦めます。
  4. リンクタグを作成します。

この、「URLを指定する」というのが一番邪魔くさいですが、そういう人はこのプログラムを捨ててください。

previewTOP

適当にURLを貼り付けます。

このとき空行があるとどうなるか試してません。あえて。バイナリファイルを示すURLも試してません。あえて。

ボタンを押します。1つしかないです。

進行状況をゲージで表示するので、少しだけ心の安定を得られます。

このとき、インターネットに接続されていなければどうなるかは知りません。接続されているかどうかをチェックもしてません。

変換が終わるとタグを出力します。タグのカスタマイズはできません。このサイトで使用しているオフィシャルリンクタグ(ぷっ)を出力します。

ちょっと試していてブラウザから貼り付ける時に邪魔くさかったので、ほぼ常に前面にくるように設定できるようにしました。が、それはそれで鬱陶しいです。

次のURLを変換したい場合は、手動で1ページ目に戻ってください。

20040510HrefBuilder.zip(19,563bytes)※ソースコードです。

sampleTOP

サイズをケチったため図が小さいですが、内容は次のような感じになっています。

まず、入力はこんなの。

http://www.jma.go.jp/JMA_HP/jp/yoho/28.html
http://www.mapion.co.jp/weather/admi/28/28208.html
http://weather.yahoo.co.jp/weather/jp/28/28208/63382.html
http://www.excite.co.jp/weather/spot/678/0064/006004002051.html

出力はこんな。

<li><a target="link" href="http://www.jma.go.jp/JMA_HP/jp/yoho/28.html">気象庁: 気象情報</a>:[2004/05/11]
<li><a target="link" href="http://www.mapion.co.jp/weather/admi/28/28208.html">マピオン 兵庫県相生市の天気予報</a>:[2004/05/11]
<li><a target="link" href="http://weather.yahoo.co.jp/weather/jp/28/28208/63382.html">Yahoo!天気情報</a>:[2004/05/11]
<li><a target="link" href="http://www.excite.co.jp/weather/spot/678/0064/006004002051.html">兵庫県 相生市 青葉台の天気予報 | Excite エキサイト : 天気 </a>:[2004/05/11]

つまり、こんな。<ul> タグを追加する必要がありますけど。

自分でよく使いそうな予感がします。

修正(2004/07/29)TOP

普段使ってて、あまりに目立つ点を直しました。

参考にしたり見たりしたページ

画面はこんな感じ。チェックボックスを2つ追加しています。
1つは、新しく変換する時に、既存の変換結果をクリアするかクリアしないか。1つは、マイクロソフトサポート技術情報など UTF-8 で作成されているページのタイトルを取り出すために使います。こっちは、やってみてうまくいかなければ試す、程度です。自動で判定すればよいんでしょうが、邪魔くさそうなのでスルーです。
なんというか、異常に邪魔です。最前面に表示するとすごく邪魔だし、そうしないと背面に隠れてしまって探すのが邪魔臭い。何とかならんのか?

20040729HrefBuilder.zip(19,990bytes)※ソースコードです。

修正(2006/03/20)TOP

今回、設定と本体にページを分けました。これが、本体(?)のほうです。また、クリップボードから直接読んでクリップボードに直接返す形をとりました。画面にも表示していますが、今までのように上半分にURLを溜め込んで一挙に変換、というのはなしにしました。

それから、VB Script の正規表現オブジェクトを使って、URLや説明やタイトルの切り出しを行うようにしました。ソースに書き込んだコメントを見ると、2005年9月ぐらいからだらだらとやろうとしていたようです。

こっちが設定です。正規表現を使って切り出したいろんな文字列を、フォーマットを指定して並べ替えできるようにしました。が、テストはしてないです。とりあえず、URLとタイトルと説明がうまくいけてるのだけ確認済みです。

後は、アイコンをつけました。まず、画面のボタンにのっけてあるよい感じのアイコンは、次のサイトからもらいました。アプリケーション自身のしょぼい感じのアイコンは、自分で書きました。

後は、画面上の選択できたり入力できたりする項目はほぼ全部 ini ファイルに保存して、次回起動時に再現します。ちょっとうっとうしい感じもしますが、そのようにしました。ただ、URL の一覧と変換後の一覧については無視してます。そんなとこですか。

20060320HrefBuilder.zip(35,706bytes)※ソースコードです。

多分 TITLEタグ に改行が含まれているときにうまく動作しない問題を修正(2006/03/20)TOP

書いてあるとおりです。TITLEタグが取得できなかった場合に、ダウンロードしたデータから改行をはつっているんですが、はつった後に、TITLEタグを再取得してなかったのを、再取得するように修正しました。でも、テストしてません。

HrefBuilder20060913.zip(243,835bytes)※ソースコードと実行ファイルです。

https:// で始まる URL に対応したつもりだけれどもできてない修正(2006/09/19)TOP

これまで、ダウンロードしたデータを解析するときに、「http:// で始まる」としていたのを「http で始まる」、のように条件を緩めた修正をしましたが、だめなものはだめでした。何か SSL に対応していることを宣言するようなことをしないといけないのかも。

たとえば、だめな URL の例として、

があります。これをこのプログラムで処理するとタイトルが取得できません。デバッグ実行してみると、「302 This Object moved (うろおぼえ)」が戻ってきます。この「302」に対しては「Location」の欄を参照することで移動先を取得できるはずなのですが、移動先もやはり「https://addons.mozilla.org/firefox/1122/」のままで再び「302」が返ってきます。

無限ループ突入です。10回トライしてだめならやめるようにしているのですが、逆にいえば、なまじ「https://」に小手先対応したことで10回分の無駄アクセスが行われてしまいます。あーあ。

HrefBuilder20060919.zip(243,846bytes)※ソースコードと実行ファイルです。

EOFTOP