Search Results for

    Show / Hide Table of Contents

    テキスト オブジェクトによる式の表示

    この基本オブジェクトの最も重要な機能の 1 つは、静的テキストだけでなく式も同様に表示できる能力です。式は、通常のテキストと混在してオブジェクト内に配置することができます。これがどのように機能するかの簡単な例を見てみましょう。オブジェクトに次のテキストを入力します。

    Hello, World! Today is [DATE].

    レポートを実行すると、次のようなものが得られます。

    Hello, World! Today is 01.01.2020.

    どうしてこうなったのでしょうか?FastReport では、レポートを作成中に角かっこで囲まれた式を見つけると、レポート エンジンは式の値を計算し、この値を式の代わりにテキストに挿入します。

    テキスト オブジェクトには、通常のテキストと混在していくつでも式を含めることができます。複合式にはかっこを入れることができます(たとえば、[1+2*(3+4)])。式では、定数、変数、関数、および DB フィールドをすべて使用できます。これらについては、この章で後ほど詳しく学びます。

    FastReport は、テキスト内の角かっこで囲まれた式を自動的に認識します。しかし、通常のテキストの中に、式と見なされたくない角かっこが含まれている場合はどうなるのでしょうか?たとえば、次のように表示したいとします。

    a[1] := 10

    FastReport は [1] を式と見なし、次のようにテキストを表示します。

    a1 := 10

    もちろん、これは私たちが望むものではありません。この問題を回避する方法の 1 つは、式を無効にすることです。AllowExpressions プロパティ(または、コンテキスト メニューの[式を許可])を無効にすると、テキスト内のすべての式が無視されるようになります。この例では、FastReport は望みどおり表示します。

    a[1] := 10

    しかし、次のように、角かっこで囲まれた式と通常のテキストの両方を含める必要があることがあります。

    a[1] := [myVar]

    AllowExpressions を無効にすると、必要な場所に角かっこを表示できるようになりますが、式の処理も無効になります。この場合、FastReport では、式を指示するために代替セットの記号を使用することができます。ExpressionDelimiters プロパティ(既定では "[,]")がこれを担います。この例では、式に対して角かっこの代わりに山かっこを使用できます。

    a[1] := <myVar>

    "<,>" 値を ExpressionDelimiters プロパティに設定する必要があります。このとき、開く記号と閉じる記号を区切るためにカンマが必要です。もう 1 つの要件は、開く記号と閉じる記号を同じにすることはできないということです。したがって、"%,%" は機能しません。"<%,%>" のように、複合の記号を使用することができます。この例では次のようになります。

    a[1] := <%myVar%>

    Back to top © Copyright Fast Reports Inc.