Delphi-FastReport VCL 5 条件高亮

Delphi-FastReport VCL 5 Conditional highlighting

我已阅读 this manual 并遵循它,但 highlighting 不起作用。

我有什么?

备忘录的填充颜色仍然Black即使值为>0<=0

问题:

为什么这个条件不工作?我怎样才能使条件发挥作用?

更新:

该值已传递给 TfrxMemoView 组件,如下所示:

procedure TForm1.Button1Click(Sender: TObject);
Var Mem : TfrxMemoView;
begin
Mem := frxReport1.FindObject('Memo1') as TfrxMemoView;
Mem.Text := Edit1.Text;
frxReport1.ShowReport();
end;

None 规则被应用,因为 Value 属性 仍然是 NULL。要从 Delphi 代码中分配一个常量值,您可以编写一个常量表达式,例如:

procedure TForm1.Button1Click(Sender: TObject);
var
  Memo: TfrxMemoView;
begin
  Memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
  Memo.Text := Format('[%s]', [Edit1.Text]);
  frxReport1.ShowReport;
end;

在上面的代码中,我省略了检查是否找到控件。并且,您需要小心输入文本。它只接受格式中不会与 ExpressionDelimiters 属性.

中定义的分隔符冲突的格式的浮点值

或者简单地设置 属性:

procedure TForm1.Button1Click(Sender: TObject);
var
  Memo: TfrxMemoView;
begin
  Memo := frxReport1.FindObject('Memo1') as TfrxMemoView;
  Memo.Text := Edit1.Text;
  Memo.Value := StrToFloat(Edit1.Text);
  frxReport1.ShowReport;
end;

在这一个中,检查是否找到控件也丢失了。那里不需要转换为浮点数。 Value 可以只是一个可转换为浮点数的字符串。