Personal tools
You are here: Home サポート PASSCELL Personal 入門用マニュアル 4. 計算や処理を行わせる 4. 計算や処理を行わせる: 2) 「ここだけ」スクリプトと「ここから」スクリプト
Document Actions

4. 計算や処理を行わせる: 2) 「ここだけ」スクリプトと「ここから」スクリプト

← [4. 計算や処理を行わせる: 1) スクリプトの基本ルール]へ戻る | ↑ [目次]へ戻る | [4. 計算や処理を行わせる: 3) 「使う」エレメントと「見る」エレメント]へ進む →


■このページで説明している内容

a) 「ここだけ」スクリプト
b) 「ここから」スクリプト
c) 利用例



PASSCELL Personalでは、ノードごとに利用目的と動作が異なる2種類のスクリプトを記述することができます。



a) 「ここだけ」スクリプト

「ここだけ」スクリプトは、記述したノードでのみ実行されるスクリプトです。
通常のスクリプトは、ここに記述します。

図4.2.a-1.jpg

(図4.2.a-1) 「ここだけ」スクリプト欄


図4.2.a-2.jpg

(図4.2.a-2) 「ここだけ」スクリプトの記述例



b) 「ここから」スクリプト

「ここから」スクリプトは、記述したノードに加え、そのノードの子孫ノードでも実行されるスクリプトです。
このスクリプトは、同じ計算や判断を複数のノードで繰返し行う場合に利用します。


図4.2.b-1.jpg

(図4.2.b-1) 「ここから」スクリプト欄


図4.2.b-2.jpg

(図4.2.b-2) 「ここから」スクリプト欄の記述例


c) 利用例

「ここから」スクリプトの具体的な例をご紹介しましょう。

「ここから」スクリプトの利用時に注意しなければならない点は、同じスクリプトを異なるノードで利用する、という点です。

つまり計算や判断にエレメントを使う場合、同じエレメント名を使うことになるため親ノードでのエレメントか、自ノードでのエレメントかをはっきり使い分ける必要があります。

この目的のために利用するのが、修飾子 "super."です。
親ノードと自ノードに同じ名前のエレメントがある場合、

    ・エレメント名そのまま表記すれば、自ノードのエレメント
    ・エレメント名の前に、"super."をつければ親ノードのエレメント

としてスクリプト上で書き分けることができます。
以下に、具体的なサンプルをご紹介します。

----------

i) 一週間おきの日付を表示する
以下のような定義で2つノードを記述します。

 [親ノード]
    ここだけスクリプト

        日付 = "2006/08/15";


 [子ノード]
    ここからスクリプト

        日付 = super.日付 + 7;
        Label = "今日は" + 日付 + "です。";


図4.2.c-1.jpg

(図4.2.c-1) 「一週間おきの日付を表示する」サンプル (1)


このように記述すると、2つ目のノードの子ノードとして新規ノードをつくるだけで、ノードラベルに表示される日付が1週間分ずつ進んでいきます。


図4.2.c-2.jpg

(図4.2.c-2) 「一週間おきの日付を表示する」サンプル (2)


新規ノードにはスクリプトを記述していませんが、2番目のノードに記述した、「ここから」スクリプトがそれぞれのノードで実行され、親ノードのエレメント"日付"に7日を加算した日付を自ノードのエレメント"日付"とし、ラベルに表示させています。

これは、新しく作ったノード上にマウスを置き、しばらく待つと表示される『このノードで実行されているスクリプト』の表示からも確認することができます。


図4.2.c-3.jpg

(図4.2.c-3) ノードで実行されているスクリプトの表示


ii) ノードを整列させる
以下のような定義で2つノードを記述します。

 [子ノード]
    ここからスクリプト

        X = super.X;


このような定義が書かれたノードは、親ノードを移動させると子ノードが同じX座標位置に移動します。

図4.2.c-4.jpg

(図4.2.c-4) 「ノードを整列させる」 サンプル (1)


図4.2.c-5.jpg

(図4.2.c-5) 「ノードを整列させる」 サンプル (2) 親ノードをドラッグして移動させると子ノードもついてくる



← [4. 計算や処理を行わせる: 1) スクリプトの基本ルール]へ戻る | ↑ [目次]へ戻る | [4. 計算や処理を行わせる: 3) 「使う」エレメントと「見る」エレメント]へ進む →



Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: