0

私は通常、ショップで BASICTYPE 'P' を使用しますが、プロジェクトで 'U' を使用する機会があり、属性マークで区切られた動的配列で検索できないことに気付きました。

ドキュメントを参照すると、タイプ U では、属性式を指定しないと構文エラーになることが明確に示されています。これは私にとって大きな見落としのようです。

これらの項目を検索するために for ループに頼らずに、これを行うにはどうすればよいでしょうか?

4

3 に答える 3

2

配列が属性マークで区切られている場合は、次の構文で場所を特定する必要があります。

LOCATE expression IN array_name SETTING position_var THEN | ELSE ...

次のように、値マークで区切られた配列内で特定するのは少しトリッキーです。

LOCATE expression IN array_name<1> SETTING position_var THEN | ELSE ...
于 2013-08-07T02:01:34.697 に答える
0

BASICTYPE 'U' の場合は、代わりに FIND ステートメントを使用できます。

マニュアルから:

構文
FIND expr IN dyn.array[,occur] SETTING f [,v[,s]] {THEN statements | ELSE statements}

説明
UniBasic FIND コマンドは、動的配列内の指定された式の位置を決定します。FIND は、見つかった文字列の属性、値、およびサブ値の位置を返します。matc を作成するには、式が配列要素全体と一致する必要があります。

于 2013-05-29T12:37:18.490 に答える
0

LOCATE ステートメントには 2 つの形式があります。

1 つは Locate xxx in yyy setting zzz then aaa else bbb の形式を取り、もう 1 つは Locate(xxx;yyy;zzz) then aaa else bbb の形式を取ります。

于 2011-02-11T19:40:13.497 に答える