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 := ('_','-',・・・)
みたいな感じで。。
ご存知の方がいましたら宜しくお願いします。
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;
こんなのでは駄目なの?
急いで作ったので細かいことは気にしないってことでお願いします。
これだけでは何ともいえませんが、例えば、Edit1.Textに、ある文字(複数)が存在するかどうかだけ調べたいのであれば、LastDelimiter関数を使えばできます。
1つずつ何かの処理に使うのであれば、やはり1つずつ調べるしかないでしょうね。
解決できました!
aikoさん、にしのさん
ありがとうございました。
ツイート | ![]() |