Find in array

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

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.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次