|
||
解説: アプリケーション内で文字列が URL なのかどうなのかチェックしたい時があります。 Win32API 関数の PathIsURL に URL を渡せば、調べることができます。 PathIsURL 関数は指定したパスが URL を表しているかどうかを判定でき、戻り値が true ならURL、false なら違うことが分かります。 ちょっと寄り道: BOOL PathIsURL(Path); Path 判定するパス。 戻り値は、パスが URL あれば true を違えば false を返す。 使用例: 以下の例では、アプリケーション起動後、Button1 をクリックすると、指定した文字列が URL かどうか Label1 の Caption に表示しています。 準備としては Button, Label を適当に配置するだけです。 "shlwapi.h" をインクルードして、#pragma comment にスタティックライブラリ "shlwapi.lib" を追加しておきます。 OnClick イベントハンドラで PathIsURL 関数に文字列を渡し、それが URL かどうかを調べています。 指定した文字列が URL なら true を違えば false を返します。その結果を Label1 の Caption に表示しています。 #include <shlwapi.h> #pragma comment(lib, "shlwapi.lib") //------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // URL ならば True を返す(URL の正当性はチェックされない) bool ret = PathIsURL("http://www.abc.ne.jp/~opa/cbapp.htm"); Label1->Caption = IntToStr(ret); } //------------------------------------------------------------------- |