Search Results for

    Show / Hide Table of Contents

    変数の値の変更

    変数の値を変更する方法は 2 つあります。

    Pascal:

    frxReport1.Variables['My Variable 2'] := 10;
    

    C++:

    frxReport1->Variables->Variables["My Variable 2"] = 10;
    

    または

    Pascal:

    var
      Index: Integer;
      Variable: TfrxVariable;
    
    { 変数を検索する }
    Index := frxReport1.Variables.IndexOf('My Variable 2');
    { 見つかった場合は、値を変更する }
    if Index <> -1 then
    begin
      Variable := frxReport1.Variables.Items[Index];
      Variable.Value := 10;
    end;
    

    C++:

    int Index;
    TfrxVariable * Variable;
    
    // 変数を検索する
    Index = frxReport1->Variables->IndexOf("My Variable 2");
    // 見つかった場合は、値を変更する 
    if(Index != -1)
    {
      Variable = frxReport1->Variables->Items[Index];
      Variable->Value = 10;
    }
    

    留意すべき点は、レポート変数にアクセスするとき、その変数が文字列型である場合には、値が計算されているということです。つまり、値が 'Table1."Field1"' の変数は、文字列 'Table1."Field1"' ではなく、データベース フィールドの値を返します。レポート変数に文字列型の値を割り当てる場合には注意が必要です。たとえば、次のコードにより、レポートの実行時に "変数 'test' が不明です" という例外が発生します。

    frxReport1.Variables['My Variable'] := 'test';
    

    それは、FastReport が変数の値を計算しようとするからです。文字列値を渡す正しい方法は次のとおりです。

    frxReport1.Variables['My Variable'] := '''' + 'test' + '''';
    

    この場合、変数の値である文字列 'test' は、エラーなしで表示されます。ただし、以下の点に留意してください。

    • 文字列に一重引用符を含めてはいけない。一重引用符はすべて二重引用符にする必要があります。

    • 文字列に #13#10 記号を含めてはいけない。

    場合によっては、スクリプトを使用して変数を渡す方が簡単です。

    Back to top © Copyright Fast Reports Inc.