お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





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

"指定位置から検索するPOS関数のようなもの"



こんばんは〜 H-Tritonです。

Pos関数は、文字列に含まれる部分文字列の最初の文字のインデックス値
を返します・・ってことは、その後にまた同じ部分文字列があっても知
らん顔ですね。

PosEx手続きでは、引数Pで検索開始位置を指定することによって複数の
部分文字列に対応します。
部分文字列が見つかったらその位置をPに再代入します。

部分文字列Strが文字列Sの中にない場合は変数パラメータPにゼロを再代
入します。
関数ではなく、手続きにしたのは自分の都合ですので適当に変更して下
さい。



procedure PosEx(Str, S: string; var P: Integer);
var
  i, L: Integer;
begin
  L:= Length(S) - Length(Str) + 1;
  for i:= P to L do
  if Pos(Str, Copy(S, i, L)) = 1 then
  begin
    P:= i;
    Exit;
  end;
  P:= 0;
end;


                  http://member.nifty.ne.jp/h-triton/
          ○ 快速・大容量テキストエディタ「えるの〜と」公開中 ○
          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