メソッド

Q
Evalメソッドを使用したい 

A
[解決方法]
ver4.2より、Evalメソッドが追加されました。

Evalメソッドによるスクリプトの実行は、呼び出し元からのFunction実行と同じように
動作します。
実行するべきCRSスクリプトは、crs引数により文字列で与え、return文で戻り値を
返すことができ、Evalメソッドの戻り値となります。

 
[サンプルコード]
Form evalSample {
    Spread Spread1 {
        SpreadRow SpreadRow1[10] {
            SpreadColumn SpreadColumn1;
            SpreadColumn SpreadColumn2;
            SpreadColumn SpreadColumn3;
            SpreadColumn SpreadColumn4;
            SpreadColumn SpreadColumn5;
        }
    }
    Button Button1 {
        Title = "Evalを使用した代入";
        
        Function OnTouch( e ) {
            var i;
            var j;
            
            for( i = 0; i < 10; i++ ){
                for( j = 1; j <= 5; j++ ){

                    /* Evalメソッドを使用して、SpreadColumnオブジェクトの
                    Valueプロパティを設定しています */

                    Eval( "^.Spread1.SpreadRow1[" + str(i) + "].SpreadColumn"
                          + str(j) + ".value = " + str(j) + ";" );
                }
            }
        }
    }
    Button Button2 {
        Title = "SpreadColumn名を指定した通常の代入";
        
        Function OnTouch( e ) {
            var i;
            
            for( i = 0; i < 10; i++ ){

                /* 通常の方法でSpreadColumnオブジェクトの
                   Valueプロパティを指定しています */

                ^.Spread1.SpreadRow1[i].SpreadColumn1.Value = 10;
                ^.Spread1.SpreadRow1[i].SpreadColumn2.Value = 20;
                ^.Spread1.SpreadRow1[i].SpreadColumn3.Value = 30;
                ^.Spread1.SpreadRow1[i].SpreadColumn4.Value = 40;
                ^.Spread1.SpreadRow1[i].SpreadColumn5.Value = 50;
            }
        }
    }
}


CRSファイル形式のサンプルを
  「Evalメソッドのサンプル (Brw42_C001.zip)
よりご利用いただけます。

管理番号:Brw42_C001
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser XE・Biz/Designer XE TIPS集 トップへ