version 3
Find in array (array; value{; start}) 数値
| 引数 | 型 | 説明 | |
| array | 配列 | 検索を行う配列 | |
| value | 式 | 配列タイプと同じタイプの検索値 | |
| start | 数値 | 検索を開始する配列要素番号 | |
| 戻り値 | 数値 | 検索値が見つかった最初の要素番号 |
説明
Find in array コマンドは、arrayから引数valueと同じものを検索し、最初に発見された要素の番号を返します。
Find in arrayコマンドは、タイプがテキスト、文字列、数値、日付、ポインタ、ブールの配列に使用できます。arrayタイプとvalueのタイプは、必ず同じにしてください。
同じ値を発見できない場合、Find in arrayコマンドは-1を返します。
startを指定すると、その番号の要素から検索を始めます。start引数を指定しない場合、コマンドは第1要素から検索を開始します。
例題
1. 以下のプロジェクトメソッドは、文字列またはテキスト配列のポインタを引数として受け、配列から空の要素をすべて削除します:
` CLEAN UP ARRAY プロジェクトメソッド ` CLEAN UP ARRAY (ポインタ) ` CLEAN UP ARRAY (->キストまたは文字配列) C_POINTER ($1) REPEAT $vlElem:=Find in array ($1->;"") If ($vlElem>0) DELETE FROM ARRAY($1->;$vlElem) End if Until ($vlElem<0)
このプロジェクトメソッド実装後、以下のように記述できます:
ARRAY TEXT (atSomeValues;...) ` ... ` 配列を使用した処理を行う ` ... ` 空文字の要素を削除する CLEAN UP ARRAY (->atSomeValues)
2. 次のプロジェクトメソッドは、最初の引数で渡した配列(ポインタ指定)中、第二引数で渡した変数やフィールド(ポインタ指定)の値に一致する最初の要素を選択します:
` SELECT ELEMENT プロジェクトメソッド ` SELECT ELEMENT (ポインタ; ポインタ) ` SELECT ELEMENT ( ->キストまたは文字配列; -> キストまたは文字変数またはフィールド) $1->:=Find in array ($1->;$2->) If ($1->=-1) $1->:=0 ` 値が要素中に見つからない場合、要素を選択しない End if
このプロジェクトメソッド実装後、以下のように記述できます:
` asGender ポップアップメニュオブジェクトメソッド Case of : (Form event=On Load) SELECT ELEMENT (->asGender;->[People]Gender) End case
参照
DELETE FROM ARRAY, INSERT IN ARRAY, Size of array.