複数の文字をまとめて検索する方法

解決


さばたん  2003-01-16 02:59:44  No: 2602

TEditの入力チェックをしようとしているのですが

  Chk := 0;
  Value1 := Form1.Edit1.Text;

  Search1 := '_';
  Chk := Pos(Search1,Value1);
  if Chk > 0 then
  begin ChkFlg = 1; end;

  Search2 := '-';
  Chk := Pos(Search2,Value1);
  if Chk > 0 then
    ・・・

と、一つ一つではなく、まとめて検索する方法はありますか?
たとえば
  Search := ('_','-',・・・)
みたいな感じで。。

ご存知の方がいましたら宜しくお願いします。


aiko  2003-01-17 00:27:50  No: 2603

function Search(sh:Char;val:String):Integer;
begin
  Result := 0;
  if Pos(sh,val) > 0 then
    Result := 1
end;

procedure TForm1.Button1Click(Sender:TObject);
var
  Chk,i:Integer;
  str:String;
begin
  str:= '_-';
  for i := 1 to StrLen(str) do
    Chk := Search(str[i],Edit1.Text);
end;

こんなのでは駄目なの?
急いで作ったので細かいことは気にしないってことでお願いします。


にしの  2003-01-17 03:17:22  No: 2604

これだけでは何ともいえませんが、例えば、Edit1.Textに、ある文字(複数)が存在するかどうかだけ調べたいのであれば、LastDelimiter関数を使えばできます。
1つずつ何かの処理に使うのであれば、やはり1つずつ調べるしかないでしょうね。


さばたん  2003-01-17 22:44:04  No: 2605

解決できました!

aikoさん、にしのさん
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加