Tips

ユーティリティメソッド:指定されたページのフォームオブジェクトをリスト化する

日付2014/03/14
ID76887 (英語原文参照)
バージョンv13
プラットフォームWindows, Mac

FORM GET OBJECTSコマンドは、カレントフォーム上に存在する全てのオブジェクトをリスト化します。ここで紹介するユーティリティメソッドは、カレントフォーム上で指定したページに存在する全てのオブジェクトをリスト化します。

  // Method: FORM_GET_PAGE_OBJECTS
  // 要約
  // 指定されたページの全てのオブジェクトを全てリスト化する
  //
  // 引数
  // $1 - テキスト配列へのポインター
  // $2 - ポインター配列へのポインター
  // $3 - 倍長整数配列へのポインター
  // $4 - オプション:ページ指定、指定しない時にはカレントページ
  // ----------------------------------------------------

C_POINTER($1;$object_atp)
C_POINTER($2;$variable_app)
C_POINTER($3;$page_alp)
C_LONGINT($4;$curPage_l)
C_LONGINT($foundat_l)

If (Count parameters>=3)
   $object_atp:=$1
   $variable_app:=$2
   $page_alp:=$3
   If (Count parameters>=4)
      $curPage_l:=$4
   Else 
      $curPage_l:=FORM Get current page
   End if 

   ARRAY TEXT(object_at;0)
   ARRAY POINTER(variable_ap;0)
   ARRAY LONGINT(page_al;0)
   FORM GET OBJECTS(object_at;variable_ap;page_al)

   Repeat 
      $foundat_l:=$foundat_l+1
      $foundat_l:=Find in array(page_al;$curPage_l;$foundat_l)
      If ($foundat_l#-1)
         APPEND TO ARRAY($object_atp->;object_at{$foundat_l})
         APPEND TO ARRAY($variable_app->;variable_ap{$foundat_l})
         APPEND TO ARRAY($page_alp->;page_al{$foundat_l})
      End if 
   Until ($foundat_l=-1)
End if