Report 报表应用程序Pascal-变量值未正确显示

Report 报表应用程序Pascal-变量值未正确显示,report,pascal,delphi,Report,Pascal,Delphi,我正在使用报表生成器生成报表。它使用基于Delphi对象Pascal的报表应用程序Pascal。我仍在学习这一点,并与一个可变值作斗争 我有一个名为“duration”的变量,其中包含以下脚本: value := round(ReportWizardQuery['wodFinishDate'] - ReportWizardQuery ['wodCreateDate']); 这给了我想要的结果。它计算两个日期之间的总天数 然后,我尝试使用这个“持续时间”变量的值来确定作业(由开始和结束

我正在使用报表生成器生成报表。它使用基于Delphi对象Pascal的报表应用程序Pascal。我仍在学习这一点,并与一个可变值作斗争

我有一个名为“duration”的变量,其中包含以下脚本:

value := round(ReportWizardQuery['wodFinishDate'] - ReportWizardQuery    
['wodCreateDate']); 
这给了我想要的结果。它计算两个日期之间的总天数

然后,我尝试使用这个“持续时间”变量的值来确定作业(由开始和结束日期定义)是否在同一天完成,在1-5天内,6-10天内,等等

我创建了带有这些标题的列,并在报告的详细信息栏的每一列中放置了一个变量。我在变量“同日”中编写的代码是:

if (duration = 0) then
value := 1;
同样,对于在1-5天内完成的作业

if (duration > 0 and < 6) then
value := 1;
如果(持续时间>0且<6),则
值:=1;
但当报表运行时,变量为空。我尝试将“duration”变量的值分配给同一天变量的值,它返回一个奇怪的数字,该数字与报告中的每一行相同(99468080或10150660…等)。该数字在我每次运行报告时都会发生变化,似乎总是有8位数字长

有人知道我做错了什么吗?如果持续时间变量=0,或者介于1-5之间,我如何为每个变量赋值1


谢谢

有人会认为您应该使用类似于
duration:=..
的值来分配“duration”的值,而不是
value:=..
,但我不知道脚本报表生成器使用哪种类型。此外,“中间”更像
if(持续时间>0)和(持续时间为0,它是一个拖放界面。因此变量被拖放到报表上,然后您为其编写代码。值:=是自动生成的,因此您可以为其分配任何内容以给出变量的值。此位工作正常,因为它生成天数差异-可能是数据类型的问题?不确定是否应该出现数据类型问题。)这不是因为您在不同的运行中为同一表达式/值获取不同的值。正在使用的后端数据库是什么?通常更容易在SQL查询中首先获取结果,然后仅使用报表软件来显示这些结果。后端是SQL server。