QuickReport里中文折行的解决办法,请初学者关注!(111分)

  • 主题发起人 主题发起人 liuly
  • 开始时间 开始时间
zcm1975117, 闲云野鹤, :
我可以呀!多试几次!
 
不错
虽然QUICKREP
烂了点
 
wjs:我试了,还是不行,不知道为什么,是不是6。0还有其他的版本呢?
还是QUICKREP3。06FOR有问题? 真是气死我了
 
什么都不用改!
因为外国人是用英文的,所以换行要必须是不能把一个单词分开,那就是说用空格分开的
字符串被认为是一个单词了,只要在你的中文句子里的恰当地方增加一个空格,看看有什么
效果?再不行的话,每个字之间加上一个空格,能自动换行了!!!!!!
 
我想 mirik joyce 说的不能用在数据库的,如果用的话还得编写一段程序,比较麻烦的,
而且还要浪费空白的地方(用空格的话)本来折行就是不打出去,节省空间
 
版主:你好,有一个问题向你请教。我在QUICKREPORT中没有找到宽行打印纸(US STD FANFLOD)
这一项,经过查找我发现定义这一项的是在QRPRNTR.PAS 单元中。在这个单元中我加入了
US STD 项目,定义好了纸张框度改动部分如下:
QRPRNTR.PAS中
TQRPaperSize = (Default,
Letter,
LetterSmall,
Tabloid,
Ledger,
Legal,
Statement,
Executive,
A3,
A4,
A4Small,
A5,
B4,
B5,
Folio,
Quarto,
qr10X14,
qr11X17,
Note,
Env9,
Env10,
Env11,
Env12,
Env14,
[red][/red][red]usstd,//此处加入一个[black][/black]
CSheet,
DSheet,
ESheet,
Custom);
cQRPaperSizeMetrics : array[Letter..ESheet, 0..1] of extended =
((215.9, 279.4), { Letter }
(215.9, 279.4), { Letter small }
(279.4, 431.8), { Tabloid }
(431.8, 279.4), { Ledger }
(215.9, 355.6), { Legal }
(139.7, 215.9), { Statement }
(190.5, 254.0), { Executive }
(297.0, 420.0), { A3 }
(210.0, 297.0), { A4 }
(210.0, 297.0), { A4 small }
(148.0, 210.0), { A5 }
(250.0, 354.0), { B4 }
(182.0, 257.0), { B5 }
(215.9, 330.2), { Folio }
(215.0, 275.0), { Quarto }
(254.0, 355.6), { 10X14 }
(279.4, 431.8), { 11X17 }
(215.9, 279.0), { Note }
(98.43, 225.4), { Envelope #9 }
(104.8, 241.3), { Envelope #10 }
(114.3, 263.5), { Envelope #11 }
(101.6, 279.4), { Envelope #12 - might be wrong !! }
(127.0, 292.1), { Envelope #14 }
[red][/red](279.4, 355.6), {us std fanflod}//此处定义纸张[black][/black]
(100.0, 100.0),
(100.0, 100.0),
(100.0, 100.0));
cQRPaperTranslate : array[Default..Custom] of integer =
(0,
dmpaper_Letter,
dmpaper_LetterSmall,
dmpaper_Tabloid,
dmpaper_Ledger,
dmpaper_Legal,
dmpaper_Statement,
dmpaper_Executive,
dmpaper_A3,
dmpaper_A4,
dmpaper_A4Small,
dmpaper_A5,
dmpaper_B4,
dmpaper_B5,
dmpaper_Folio,
dmpaper_Quarto,
dmpaper_10X14,
dmpaper_11X17,
dmpaper_Note,
dmpaper_Env_9,
dmpaper_Env_10,
dmpaper_Env_11,
dmpaper_Env_12,
dmpaper_Env_14,
[red][/red] DMPAPER_FANFOLD_US,//此处加入[black][/black]
dmpaper_CSheet,
dmpaper_DSheet,
dmpaper_ESheet,
$100);
function QRPaperName(Size : TQRPaperSize) : string;
const
Names : array[Default..Custom] of string = (
SqrPaperSize0, SqrPaperSize1, SqrPaperSize2, SqrPaperSize3,
SqrPaperSize4, SqrPaperSize5, SqrPaperSize6, SqrPaperSize7,
SqrPaperSize8, SqrPaperSize9, SqrPaperSize10, SqrPaperSize11,
SqrPaperSize12, SqrPaperSize13, SqrPaperSize14, SqrPaperSize15,
SqrPaperSize16, SqrPaperSize17, SqrPaperSize18, SqrPaperSize19,
SqrPaperSize20, SqrPaperSize21, SqrPaperSize22, SqrPaperSize23,
[red][/red]SqrPaperSize24[black][/black], sqrpapersize25, SqrPaperSize26, SqrPaperSize27, SqrPaperSize28);
begin
Result := Names[Size];
end;

QR3CONST 中常量定义改动如下
SqrPaperSize0 = 'Default size';
SqrPaperSize1 = 'Letter 8 1/2 x 11 in';
SqrPaperSize2 = 'Letter Small 8 1/2 x 11 in';
SqrPaperSize3 = 'Tabloid 11 x 17 in';
SqrPaperSize4 = 'Ledger 17 x 11 in';
SqrPaperSize5 = 'Legal 8 1/2 x 14 in';
SqrPaperSize6 = 'Statement 5 1/2 x 8 1/2 in';
SqrPaperSize7 = 'Executive7 1/2 x 10 in';
SqrPaperSize8 = 'A3 297 x 420 mm';
SqrPaperSize9 = 'A4 210 x 297 mm';
SqrPaperSize10 = 'A4 Small 210 x 297 mm';
SqrPaperSize11 = 'A5 148 x 210 mm';
SqrPaperSize12 = 'B4 250 x 354 mm';
SqrPaperSize13 = 'B5 182 x 257 mm';
SqrPaperSize14 = 'Folio 8 1/2 x 13 in';
SqrPaperSize15 = 'Quarto 215 x 275 mm';
SqrPaperSize16 = '10x14 in';
SqrPaperSize17 = '11x17 in';
SqrPaperSize18 = 'Note 8 1/2 x 11 in';
SqrPaperSize19 = 'Envelope #9 3 7/8 x 8 7/8';
SqrPaperSize20 = 'Envelope #10 4 1/8 x 9 1/2';
SqrPaperSize21 = 'Envelope #11 4 1/2 x 10 3/8';
SqrPaperSize22 = 'Envelope #12 4 /276 x 11';
SqrPaperSize23 = 'Envelope #14 4 /276 x 11';
[red][/red] SqrPaperSize24 = 'US STD FANFOLD';//此处加入[black][/black]
SqrPaperSize25 = 'C size sheet';
SqrPaperSize26 = 'D size sheet';
SqrPaperSize27 = 'E size sheet';
SqrPaperSize28 = 'Custom Size';
。。。。
改动后在LIB 目录中删除了相应的DCU 然后设置打印,在右键菜单的REPORT SETTING 中仍然
看不到新加入的一项,为什么?改动是否正确?
谢谢!!
 
to lighttop
为什么不将ReportBuilder你改的代码贴出来??谢谢!!
 
to jack9999:
这个问题好象说的是QuickReport里中文折行的解决办法,文不对题吧?[:D]
 
真厉害!我又学习了一点本领!
 
report builder 6.0.3没有这个问题
http://www.8421.org/download.php?id=143
 
to liuly
给我发个Ehlib分组统计功能控件好吗
谢了,我给分
QQ 20474992
 
to liuly:
在用Quickreport做报表,QR是D6自带的,不支持中文换行,能不能给我发
个带源码的Quickreport,十分感谢,分数另加给你。zh@mail.xjshb.org
另还想问下版主,如何把生成的报表保存为*.Txt和*.Excel格式,给点代码好吗?
什么方法好一点,用QuickReport的控件QRTextFilter,是不是报表格式保存不了,
只有数据。
 
谢谢大家,我从网上Down了个QR3.62,有源码,参照 版主 liuly的方法,修改
后就对了,现在中文折行没问题了。多谢!
 
版主:
請問換行時怎麼解決QRShape1的高度能隨著DetailBand1高度的變化而變化呢?
 
这个问题时间宽度真大
 
版主:
請問換行時怎麼解決QRShape1的高度能隨著DetailBand1高度的變化而變化呢?
急需您的幫助!
 
有技巧学,还有分,我当然要关注了
 
自己写一个可以折行的控件嘛,继承TQRPrintable,用不了写几行代码,
就可以了
 
使用 Qrmemo不是可以吗
 
換行還是不理想。
有時換行時不到寬度就換啦,不知道怎樣解決?
 
后退
顶部