お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"Memo.Textから NIFTY URLを取得"




{Memoコントロールに表示されている NIFTY URLの上に Caretがある時に
その文字列を取得する関数です。パラメータに Memoの Nameプロパティを
を指定します。}

function GetNifUrl(aMemo: TMemo): string;
var
  P: Integer;
  S, Tmp: string;
begin
  Result:= '';
  P:= aMemo.SelStart + 1; //Caretがある文字の位置
  if P = 1 then Exit;     //文字列の先頭なら処理をやめる
  S:= aMemo.Text;

  repeat                  //ループ処理で文字列を後方検索
    if S[P]= 'n' then Break else   //URLの先頭文字(n)で抜ける
    if (not IsCharAlphaNumeric(S[P])) and  //英数, Slash, Colon以外
    (not (S[P] in ['/', ':'])) then Exit;  //の文字で処理をやめる
    Dec(P);
  until False;

  S:= Copy(S, P, 30);     //先頭からURLを含む文字列を切り出す
  P:= 1;
  if Pos('nifty:', S)<> P then Exit; //先頭に'nifty:'が含まれていな
  Tmp:= '';                          //ければ処理をやめる

  repeat                  //ループ処理で前方検索
    if (not IsCharAlphaNumeric(S[P])) and  //英数, Slash, Colon以外
    (not (S[P] in ['/', ':'])) then Break; //の文字で処理をやめる
    Tmp:= Tmp + S[P];     //有効な文字を蓄積して URLを形成する
    Inc(P);
  until False;

  if Pos('/MES/', Tmp)<9 then Exit; // 有効な範囲に'/MES/'が含まれて
  Result:= Tmp;                     //いなければ処理をやめる
end;

                ☆ H-Triton (^^) since 1996 ☆
                      Avalon友の会第80008号
     玉でも石でもお預かりします FDELPHIサンプル蔵下足札番
 
   167 KHF03264 11/04 10:23 00160   0 [D2]配列型定数で無理矢理D2へ...
 
   168 VYC12077 11/04 11:59         0 データ(レコード)の削除
 
   169 QZB02574 11/05  7:00         0 フロッピーディスクの直接アクセス

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


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

Copyright 1996-2002 Delphi Users' Forum