我正在尝试在明细栏中打印两个数据集。在我的第一种情况下,我尝试生成一个包含两个数据集的页面,并另外打印不同的页码,这可行。现在,我想生成一个页面,其中包含两个具有相同页码的数据集,但是该数字只能显示在第一个数据集上。
我试图设置一个临时变量,以便可以将frx_rep'xy'的当前值与该变量中保存的旧值进行比较。但是在打印出结果之后,我知道我的临时变量没有设置我想要的值。
procedure bdLieferscheineOnBeforePrint(Sender: TfrxComponent);
var lnr, lsNr, lsDt: String;
begin
if (Debug) then ShowMessage(Sender.Name);
with bdLieferscheine, Engine do
begin
lsNr := <frx_rep58."MASKENKEY">;
lnr := trim(LB_Lieferscheinnummer.text);
lsDt := '';
if (<frx_rep58."LIEFDATUM"> > 0) then
lsDt := trim(FORMATDATETIME('dd.mm.yyyy', <frx_rep58."LIEFDATUM">))
else IF (<frx_rep04."LLTERMIN"> > 0) THEN
lsDt := trim(FORMATDATETIME('dd.mm.yyyy', <frx_rep04."LLTERMIN">));
if (lsNr <> '') then
begin
sLieferscheinnummern := sLieferscheinnummern + lnr + ' ' + lsNr;
IF (lsDt <> '') THEN
sLieferscheinnummern := sLieferscheinnummern + ' vom ' + lsDt + CRLF
else
sLieferscheinnummern := sLieferscheinnummern + CRLF;
end;
end;
end;
那是我的实际代码。我在名为lsNrOld的过程之外声明了一个temp var。为了覆盖我的温度值,我在所有分配结束后将当前的lsNr值分配给了lsNrOld。
在(lsNr <>'')之前,我尝试检查lsNr <> lsNrOld。 因此,对于第一个“循环”,它必须通过条件,因为它应该为空。但事实并非如此。我打印了lsNrOld的值,它和lsNr的返回值相同。