带有变量的FastReport VCL IIF语句

问题描述 投票:0回答:1

我试图在我的报告中使用 if 使用变量作为条件,这就是我尝试过的

IIF(<Client> = true, "Solde: " + [Solde], "Rendu: " + [Rendu])
,但我收到错误“未声明的标识符'Client'”

frxReport1.Variables['Rendu'] := Versement - TotalAmount - Remise;
frxReport1.Variables['Solde'] := SoldClient;
frxReport1.Variables['Client'] := ClientTrue; //ClientTrue is a boolean
delphi fastreport
1个回答
0
投票

我看到这些问题:

  1. 表达式两边必须有方括号
    []
  2. 对于字符串,您应该使用单引号
    '
    而不是双引号
    "
  3. 您需要将变量值(我认为是浮动变量)转换为字符串
  4. 您必须仅使用尖括号
    <>
    ,才能在表达式中使用变量

此外,您可以避免比较变量(

<Client> = true
),只需使用该变量,因为它是布尔变量。

以下表达式将起作用:

[IIF(<Client>, 'Solde: ' + FloatToStr(<Solde>), 'Rendu: ' + FloatToStr(<Rendu>))]
© www.soinside.com 2019 - 2024. All rights reserved.