6-3-3 属性式に指定できる書式
属性式で指定できる書式は、基本的に「属性関数(引数1, 引数2, ・・・)」の形式です。
例1 | MOVE(100, 50) |
---|---|
意味 | 右方向に100ドット、下方向に50ドット、移動する。 |
「式」として、引数に属性関数や編集関数を入れ子のように用いることもできます。
例2 | POS(XVAL(Text2), YVAL()) |
---|---|
意味 | X座標をText2と同じ位置にして、Y座標はそのままにする。 |
引数に演算を含めることもできます。
例3 | POS((XVAL(Text3)+XVAL())/2, YVAL()) |
---|---|
意味 | X座標をText3の位置と自分自身の位置の中間にして、Y座標はそのままにする。 |
属性式は、計算式・編集式と異なり、最終的な戻り値がnull型になるように指定する必要があります。例えば、次のような指定はできません。
例4 | XVAL() |
---|---|
意味 | 自分自身のX座標を取得します(戻り値はdouble型)。 |
そのほか、次のような書式も指定できます。
条件指定
IF関数という、計算式・編集式と共通の条件判定用の関数を利用して、属性式を実行する条件を設定します。
IF関数は、条件判定がTrueの場合やFalseの場合に、指定した属性関数を実行するように次の2種類の設定ができます。
例1 | IF(Field1="", VISIBLE(0)) |
---|---|
意味 | Field1が空の文字列の場合に非表示にします。 |
例2 | IF(Field1 > 100, VISIBLE(0),VISIBLE(1)) |
---|---|
意味 | Field1が100より大きい場合に非表示、100以下の場合に表示します。 |
複数関数の同時指定
複数の属性関数をまとめて指定することもできます。その場合は、複数の属性関数を括弧で囲みます。
例 | IF(Field2>10, (BOLD(1),ITALIC(1))) |
---|---|
意味 | Field2が10より大きい場合は、文字をボールド、イタリックにします。 |
座標参照を利用
他のアイテムの座標を参照して、アイテムを移動することもできます。
例 | POS(XVAL(Text3), YVAL()) |
---|---|
意味 | Text3のX座標を参照して、その位置にアイテムを移動します。Y座標は引数が省略されているので参照元のアイテムが持っている座標を参照します。 |
属性の複写
同じ種類のアイテムから、色、文字装飾、線種、線幅、塗り込みパターン、グラデーションなどのスタイルを複写できます。
例 | FONT_STYLE(Text4) |
---|---|
意味 | この属性式を記述したアイテムに、Text4の属性が複写されます。例えば、Text4にアウトラインが設定されていた場合は、この属性式を指定したアイテムにもアウトラインが設定されます。 |
複数個の式を指定
複数個の式を指定することもできます。
例 | IF(Field1<100, TEXT_COLOR(11)) IF(Field1>=100 && Field1<200, (FONT_ID(1), BOLD(1))) |
---|---|
意味 | Field1の値が100未満の場合は、文字色をパレットカラー11番の色(デフォルトでは赤)に設定します。Field1の値が100以上200未満の場合は、全角フォント番号を1番(デフォルトではMSゴシック)に設定し、さらに、ボールドに設定します。 |
参考
属性式は、1アイテムに対して、100個まで設定することが可能です。
編集関数を利用
属性式では編集関数を利用することも可能です。
例 | IF(VAL(Field1) < 100, TEXT_COLOR(11)) |
---|---|
意味 | VAL関数という編集関数を用いて、Field1の値を数値型に変換し、値が100未満であれば、文字色をパレットカラー11番(デフォルトは赤)に設定します。 |
参考
属性関数設定の関数リストには、戻り値の型が明示されています。
属性関数のリストにおける戻り値の型
戻り値がnull型になるように指定する必要があるのは、IF関数、SELECT関数を利用して条件を付けた場合も同様です。なお、これらの関数の中で第2引数以降に指定する処理は、戻り値の型がすべて一致していなければなりません。
[IF関数の書式]
IF(1.条件式, 2.条件が真のときの処理, 3.条件が偽のときの処理)
[SELECT関数の書式]
SELECT(1.番号, 2.番号が「1」の処理, 3. 番号が「2」の処理, ・・・)
ただし、「番号」は数値型で正の整数のみです。
IF関数で条件が偽のときの処理を省略できるのは、属性式での設定時だけです。
計算式・編集式での設定時には省略できません。
属性関数の引数としてアイテム名を指定する場合は、どの関数の引数となっているかで、値として参照されるかアイテムとして参照されるかが変わります。
例1 | STR(Field1) |
---|---|
意味 | 「Field1」のデータ値を文字型に変換します。 |
例2 | IF(Field1="", VISIBLE(0)) |
---|---|
意味 | 「Field1」のデータが空の文字列のとき、非表示にします。 |
例3 | XVAL(Field1) |
---|---|
意味 | 「Field1」のX座標を取得します。 |
例4 | FONT_STYLE(Field1) |
---|---|
意味 | 「Field1」のフォント関連の属性を複写します。 |