API version 1

- ‐

findObject

オブジェクトツリーからオブジェクトを検索します。

呼出形式一覧

呼出形式

説明

reference findObject(string name[, integer rule])

name名のオブジェクトを検索します。

reference findObject(class cls[, integer rule])

clsクラスのオブジェクトを検索します。

戻り値一覧

戻り値

説明

reference

オブジェクトが見つかった場合は、そのオブジェクトのリファレンスを返します。 オブジェクトが見つからなかった場合はnullを返します。

引数一覧

引数

説明

name

検索するオブジェクトの名前

rule

検索のルール

どのような規則で検索を行うかを以下から指定します。

定数値

説明

FIND_CHILD

0:子オブジェクトから検索します。

FIND_ANCESTOR

1:親または先祖から検索します。

FIND_SCOPEPATH

2:子、自分、親、先祖の順に検索します。

FIND_EVENTPATH

3:子、親、親の子、先祖、先祖の子の順に検索します。

省略時にはObject.FIND_CHILDを指定した場合と同じ動作となります。

cls

検索するクラス識別子

例外

なし

使用例

/* 親または先祖からFormオブジェクトを検索 */
var form_obj = findObject(Form, FIND_ANCESTOR);

/* イベントハンドラと同じルールでファンクションを検索 */
var fnc = findObject("OnTouch", FIND_EVENTPATH);
if (fnc != null) {
    fnc(e);
}

/* オブジェクトスコープのルールで、txCodeを検索 */
var obj = findObject("txCode", FIND_SCOPEPATH);
if (obj != null) {
    obj.bgColor = "red";
}

関連項目

getChildObjects メソッド

定数一覧

------------------------------------------------------------

定数値

説明

FIND_CHILD

0:子オブジェクトから検索します。

FIND_ANCESTOR

1:親または先祖から検索します。

FIND_SCOPEPATH

2:子、自分、親、先祖の順に検索します。

FIND_EVENTPATH

3:子、親、親の子、先祖、先祖の子の順に検索します。



使用例 CRSダウンロード ダウンロード(Dialog12.crs)

Form Objcntl {
   x = 0;
   y = 0;
   width = 800;
   height = 600;
   TextBox textbox1 {
           x = 100;
           y = 120;
           width = 168;
           height = 48;
   }
   Button button1 {
           x = 100;
           y = 200;
           width = 160;
           height = 48;
           Title = "ユーザー定義イベントを\r\n発生させる" ;

           function onTouch(e) {
                   var eventname = "UserEvent";
                   var userEvent1 =
                           new Event(eventname)  {
                                   String data ;
                           }
                   userEvent1.data.Value = ^.TextBox1.Value;
                   PostEvent(userEvent1) ;
           }
   }

   function OnUserEvent(e) {
           //.MessageBox(e.data.Value) ;
           print("from = ",e.from) ;

           var child = new Number[5];
           child[0] = 5;
           child[1] = 4;
           child[2] = 3;
           child[3] = 2;
           child[4] = 1;
           append(child, "TheArray");
           print("clasName=",child.className) ;
           print("array=",child.isArray," inx= ",child.index," Len= ",child.length);
           print("name=",child.name);
           print("type=",child.subType);
           print("change=",child.useChange);

           var fun = findObject("TheArray", FIND_EVENTPATH);
           if (fun == null) { print("null return") ; } ;
           print("find=",fun);
           for (var i in child) {
                   print(" indx=",i, " value=",child[i].value, "\n");
           }
           child.insert( 0 ) ;
           var ca = getChildObjects();
           for (var j in ca) {
                   if (ca[j] != null) {
                           print("inx= ", j, " value= ",ca[j].value ) ;
                   }
           }
           //.get("dialog12.crs");
           /* child.truncate() ; #このサンプルでは使えません */
   }
}