お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"<ハイパーリンク> WWW-URLの取得"




TMemo, TRichEditなどエディットコントロールに表示されている WWW-URL
(Web Siteの URL)文字列上にキャレットを置いた時にその文字列を取得する
関数です。

  function GetWWWUrl(P: Integer): string;
    引数 Pは TMemoなどの SelStartプロパティあるいは EM_CHARFROMPOS
    メッセージで取得できるキャレットの位置です。

アップ済みの以下のサンプルコードも参照して下さい。
 nifty:FDELPHI/MES/16/688 ハイパーリンク文字列のハイライト表示
 nifty:FDELPHI/MES/16/687 マウスカーソルを手の形に、Nifty-URLの取得

----------------------------------------
{前略}
implementation

{$R *.DFM}
const
// 後で使い回せるように URL文字の集合を定数にしておきます。
  WebUrlChar = ['0'..'9','A'..'Z','a'..'z','%',':','-','.','/','~','_'];

function GetWWWUrl(P: Integer): string;
var
  S1, S2, Tmp: string;
begin
  Result:= '';
  S1:= Text;
  repeat                  //ループ処理で文字列を後方検索
    S2:= Copy(S1, P, 64);
    if Pos('http://', S2) = 1 then Break else
    if not (S1[P] in WWWURLChar) then Exit;
    Dec(P);
  until False;
  P:= 1;
  Tmp:= '';
  repeat                  //ループ処理で前方検索
    if not (S2[P] in WWWURLChar) then Break;
    Tmp:= Tmp + S2[P];     //有効な文字を蓄積して URLを形成する
    Inc(P);
  until False;
  Result:= Tmp;
end;


           ○ 極楽通信環境 AvalonU  nifty:FAVALON/LIB/3/59 ○
           ● 極道録眼鏡「えるつぅ」 nifty:FAVALON/LIB/3/60 ●
         Avalon's Friendly Crew #80008  H-Triton (^^) since 1996

Original document by H-Triton        氏 ID:(QZV11422)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum