私はこのコードを持っています:
var
ExtString: string;
const
Extensions : array[0..4] of string = ('.rar', '.Zip', '.doc', '.jpg', '.gif');
if ExtString in Extensions then
最後の行で、エラーが発生します。
[DCCエラー] E2015演算子( 'then')はこのオペランドタイプには適用されません
これはできないと思いますが、どうすれば適切にタスクを実行できますか?
in
を使用して、文字列の配列内の文字列を確認することはできません。
if
ステートメントの代わりにこの関数を使用できます。
_function StrInArray(const Value : String;const ArrayOfString : Array of String) : Boolean;
var
Loop : String;
begin
for Loop in ArrayOfString do
begin
if Value = Loop then
begin
Exit(true);
end;
end;
result := false;
end;
_
あなたはそれをこのように呼ぶことができます。
if StrInArray(ExtString,Extensions) then
_StrUtils.pas
_にはこれがすでに定義されています。
_function MatchStr(const AText: string; const AValues: array of string): Boolean;
_
定数配列からTStringListインスタンスを初期化し、IndexOf()を使用します。