Crystal Report 中太長的字串雖然會自動換行,
但經常會出現胡亂斷行的情況,
造成報表排版很亂。
於是我們就可以公式來達到固定字數斷行的目標。
但經常會出現胡亂斷行的情況,
造成報表排版很亂。
於是我們就可以公式來達到固定字數斷行的目標。
// 將長字串拆解成數行,中間用
CR+LF 分開
// Crystal Report 9 以後適用
//
StringVar s := {dtOMS0303.Remark}; // 要拆解的字串
StringVar output := ''; // 輸出字串
NumberVar CharsInALine := 14; // 一行幾個字
NumberVar currLength := 0;
while Length(s) > 0 do
(
// 這只是很粗略的判斷,假定使用者只會輸入半形英數字跟中文字,
// 不會使用半形的特殊符號,如半形日文假名
if
AscW(s) > 256 then
(
currLength := currLength + 2;
// 中文字,長度 + 2
)
else
(
currLength := currLength + 1;
// 文數字,長度 + 1
);
output := output + s[1];
if
currLength >= CharsInALine then
(
output := output + Chr(13) + Chr(10);
currLength := 0;
);
s
:= Mid(s, 2);
);
output;
留言
張貼留言