0

我正在从 Ms-Sql 数据库中提取数据。但在将它们打印到我的报告中之前,我想检查组件 frMaster."column1" 和 frMaster."column2" 的长度。我怎样才能做到这一点?Column1 和 Column2 是字符串。如果我的字符串长度超过 10 个字符,我的备忘录必须增加它们的高度,如果不是,它们保持不变。此代码无效,备忘录保持不变。我试图做这样的事情,但它在打印事件之前不起作用:

    if (Length(<frMaster."column1">) > 10)  or (Length(<frMaster."column2">) > 10)                          
   then 
           begin 
                   Memo34.Height:= 0.7;
                   Memo33.Height:= Memo33.Height + 0.35;
                   Memo20.Top := Memo20.Top + 0.35;
                   Memo21.Top := Memo21.Top + 0.35;
                   Memo35.Top := Memo35.Top + 0.35;
                   Memo36.Top := Memo36.Top + 0.35;
                   Memo22.Top := Memo22.Top + 0.35;
                   Memo39.Top := Memo39.Top + 0.35;                           

           end;
4

1 回答 1

0

您可以使用数据树中可用的长度函数或作为包含在代码中的函数:

数据树

您可以像在 Delphi 中一样通过覆盖备忘录的事件处理程序来使用它:

在此处输入图像描述

啊! 我懂了。你用了它,但它没有用。正确的!好像我以前也有过这种情况。我想我可能做了一些事情,比如让备忘录只打印文本,然后可能是文本的长度,然后可能将事件移动到数据带,然后可能确保数据带的属性 Stretched 设置为 True 并制作确保备忘录的属性 StretchMode 设置为 smActualHeight 或 smMaxHeight。

于 2012-07-18T21:21:38.677 回答