好何实现varchar长字段的打印换行(急急急!!)(100分)

  • 主题发起人 主题发起人 duanry
  • 开始时间 开始时间
D

duanry

Unregistered / Unconfirmed
GUEST, unregistred user!
在report输出的安符型字段超长时,不能正确折行(英文的可以,中文不行)各位大吓有什么好方法,(不想用memo型字段,因为已经有数据)
 
AutoSize:=False;
Wrap:=True
 
If 实在不行,
可以程序在 OnPrint 事件中将字符按一定的长度分开,
中间加入空格(#32),
例如,每隔20个长度加一个空格,
(要设置 Wrap:=True)
 
安装ChinaReport控件,迎刃而解。
 
还要AutoStretch:=true
 
哪里有Chinareport控件下载?
 
把你的Mail与分拿来我给你。(915k)
 
autosize:=false;
warp:=true;
然后将detialband宽度调整一下。
 
S,FD1,FD2是String类型的。这个例程说明如何将小于40个字节的String转换
成中文兼容的。当然可以是任意长度。
S:=Copy(Query.Fields[1].AsString,1,40);
L:=Length(S);
if L>FD1
then
if (ByteType(S, FD1) = mbLeadByte)
then
begin
S:=Copy(S, 1, Pred(FD1))+#13+Copy(S,FD1,L-Pred(FD1));
Inc(L);
end
else
begin
S:=Copy(S, 1, FD1)+#13+Copy(S,Succ(FD1),L-FD1);
Inc(L);
end;
if L>FD2
then
if (ByteType(S, FD2) = mbLeadByte)
then
begin
S:=Copy(S, 1, Pred(FD2))+#13+Copy(S,FD2,L-FD2);
end
else
S:=Copy(S, 1, FD2)+#13+Copy(S,Succ(FD2),L-FD2);
 
说错了,FD1,FD2是Integer
 
我也想知道。
 
zjw ,也给我一个,多谢了,feagle@163.net
 
看看这里:http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=286121
 
AutoSize:=False;
Wrap:=True
在将要折行的地方加入空格,注意控件的高度要足够高
 
zjw,给我一个,多谢了,Email:chen_xian@sina.com
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=304961
 
强制结束。要控件的就不给分了,呵呵
 
后退
顶部