哪里有可以对中文字段进行正常折行处理的报表控件?

lighttop 2000-01-28 12:11:00
各位大虾:
请你们推荐一种对中文比较适应的报表工具。我的程序报表中需要对一些较长的中文段进行折行处理,可是不管是QuickReport还是ReportBuilder、FastReport等等所谓的先进控件,都无法实现对中文的正常折行处理。特别是ReportBuilder4.XX版,花了我十几个小时下载(我的56K猫迈着0.1K/S的速度),谁知试用一下,还是有问题。我真想狠狠地踩它一脚。

如果没有现成的控件,也请大家介绍一下如何用标准的报表控件实现。
...全文
242 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
星火成炬 2000-07-02
  • 打赏
  • 举报
回复
Very easy!!!
1、设置autosize=false后将DBEDIT控件拉到折行宽度;
2、autostretch=true即可
sky__horse 2000-01-29
  • 打赏
  • 举报
回复
'属性不存在'的原因:
1.可能是delphi版本的问题,你是用的d5吗? 我也在为d5下用Ereport头痛呢!
2.我以前是在d3下用,记得也曾出现过'属性不存在'的问题,后来好像是把工作目录
定为程序所在的目录才用好的,你出的问题也可能是demo去找不到放着TEP文件的
TEMP目录.

要不然到http://www.nccsoft.com/delphi/vcl_lst/grids1.htm去下载俄ehlib1.52
罢,d3-d5都能用,这可是i/o共用的控件哟!
sky__horse 2000-01-28
  • 打赏
  • 举报
回复
还有,
在http://www.nease.net/~bozhi里下载一个EReport控件(有源码),
也可以实现对中文的正常折行处理
sky__horse 2000-01-28
  • 打赏
  • 举报
回复
不妨在前面的问题中找一下,有一个推荐ehlib152控件的贴子.我觉得这个控件相当好用,
可以在打印时实现对中文的正常折行处理,
可惜忘了下载的站点,也来不及帮你查了
lighttop 2000-01-28
  • 打赏
  • 举报
回复
sky_horse:

我下载了你推荐的EReport控件,并试验了它的DEMO。可惜我在运行DEMO时,我按下打印报表(一),出现以下错误:


EReadError With message '属性不存在'。

EConvertError with message 'No argument for format '%s''
No argument for format '%s'

没有预览画面,倒是在TEMP目录下生成了几个TMP文件,用它的专用编辑器可以打开看到报表的内容。
可惜,一个不错的控件,太多的BUG。
所以,请原谅不能给分。
渤海海峡 2000-01-28
  • 打赏
  • 举报
回复
不如自己画吧,用djprint 下面是他的一段折行处理:
你如果需要我可以寄一份。
不过就是程序写起来可能麻烦一些,当然有失就有得,对打印机的控制会更自如。
procedure Thxpreviewform.ExtPrint(x,y:integer;Text:string);//x,y单位:0.1毫米
var
i,ij,LineNum,iTemp,HanziNum:integer;
szTemp:string;
begin
itemp:=0;
if not wordWrap then PrintText(x,y,Text)
else
begin
if maxlength=0 then begin printText(x,Y,text);exit;end;
i:=0;LineNum:=0;ij:=1;
HanziNum:=0;
repeat
i:=i+1;
szTemp:=copy(text,ij,i-ij+1);
itemp:=itemp+strLength(text[i]);
if text[i]>#127 then HanziNum:=HanziNum+1
else HanziNum:=0;
if ((iTemp+(i-ij)*WordSpace)>maxLength) or (i=length(Text)) then
begin
if i=length(text) then
begin
szTemp:=copy(text,ij,i-ij+1);i:=i+1;
end
else
if odd(HanziNum) then
begin szTemp:=copy(text,ij,i-ij-1);i:=i-2;end
else
begin szTemp:=Copy(Text,ij,i-ij);i:=i-1;end;
ij:=i;i:=i-1;LineNum:=LineNum+1;
if LineNum>1 then y:=Y+LineSpace+strHeight(szTemp);
printText(x,y,szTemp);
itemp:=0;HanziNum:=0;
end;
until i>=length(Text);
end;
end;
咖啡智能报表控件 2.0[下载地址] 咖啡智能报表组件是一个类似Excel风格的报表组件 1、操作风格与EXCEL类似,是一款表格型报表组件,功能强大、操作简单 2、灵活多样性的单元格属性 合并、拆分、对齐方式、背景、前景、边框、前缀、后缀、格式化、套打标志、数字大写显示、多种数据类型、 数据长度设定、多种单元格类型、超级链接、EMAIL链接、特殊字符前缀、回车换行、自动换行、锁定、焦点、 绑定变量名称、绑定数据字段名称、显示图片、内容隐藏、项目格式等 3、强大公式计算功能 4、图片显示功能,图片可以随网格大小而变动,也可以固定大小 5、画线功能,线可以随单元格大小变动而变动,也可以固定大小 6、图标功能,多种类型图标(平面、3D的方形图、柱形图、饼图、线形图、雷达图、堆栈图), 可以水平显示或垂直显示;饼图可以把柄切开提取显示 7、画笔功能;报表提供了画笔功能,可以批示报表,重点圈画报表。 8、多表单,一个报表可以有多个表单,理论上没有多少限制,表单TAB标签可以显示或隐藏,也可以显示或隐藏其中一个。 9、灵活的键盘、鼠标操作功能;可以设置多样化的回车键操作,例如回车在单元格内数据换行、移到左单元格、移到下单元格等。 10、灵活的数据输出功能,可以输出多种格式的TXT文件、HTML文件。在输出HTML文件时连同图片一起输出。 11、数据搜索功能,按列或行搜索指定的数据 12、表单:背景颜色、背景图片、网格颜色、隐藏网格、奇偶行颜色、当前行颜色、设置列标题、格式刷, 根据变量设置单元格内容、根据单元格字段设置内容等。 13、灵活的打印功能;设置行打印分割线、列打印分割线、页眉、页脚、背景图片文字、 套打、浅色打印、水平居中、垂直居中等;页眉、页脚分左、中、右三部分,可以设置图片等各种属性 14、强大的一维条码(CODE11、CODE39、CODE93、CODE128A、CODE128B、CODE128C、CODE128、CODABAR、 EAN8、EAN13、INTERLEAVED25、JAN、MSI、STANDARD25、UPCA、UPCE)、二维条码(QR码、PDF417码)功能 15、各种报表事件,500多个报表接口 16、智能: 组件的智能性体现在除了大量功能函数外,数据绑定包含各种数据库的绑定(oracle、DB2、MS SQL、ACCESS等)、 文本文件数据绑定,数据源没有个数限制,可以添加多个数据源进行数据显示,咖啡智能报表不是简单的进行数据填充显示, 具有强大的数据处理能力,例如:数据格式自动处理,根据数据自动分组统计,复杂交叉报表处理提供了数据自动分组归类、 列分组统计、列总计、行分组统计、行总计等功能,根据定义的函数(求和、最大值、最小值、平均值、个数、排序值) 计算出相应的数值,在数据处理中根据数据所属数据范围自动求和运算等,用户只简单的提供数据就可以得出复杂强大的报表, 除了智能的处理外也提高了系统处理性能。 17、强大WEB功能 通过接口可以下载WEB服务上的报表、下载绑定数据(实现WEB绑定功能)、下载XML数据;XML数据中可以包含多种格式的数据 (下载报表地址、表格数据、报表绑定数据、单元格变量数据、单元格字段数据、操作报表方法等),在XML中的方法可以实现 对本地报表的操作。 报表本身的数据通过HTTP协议上传到服务器上,数据可以是单元格数据、变量数据、字段数据;在服务器端获得获得上传数据的方式与IE浏览器提交数据获得方式相同。 18、国际性 简单设置属性就可实现本地化, 例如缺省中文的打印标题都可以设置成自己的本地语言。 19、环境 咖啡报表组件可以用于VB、VC、DELPHI、PB、.NET等FOR WINDOWS语言的二次开发报表组件。 也可以嵌入到jsp、asp中实现WEB方式的开发,报表CAB包只有800K多一点 请发邮件到:happymfc@sina.com 索取注册码 服务方式: QQ号:coffeeReport@yahoo.cn MSN :coffeeReport@hotmail.com 邮箱:coffeeReport@yahoo.cn
SailPrint打印组件是一套VCL打印控件。目前最新版本是3.0,可以打印DBGrid,StringGrid,ListView 以及直接打印数据源。SailPrint有以下几大特点:一、SailPrint的特点是快速生成报表,灵活易用,只需几分钟即可完成漂亮的报表。二、最终用户可以修改报表,开发人员只需调用setoption 这个过程即可让最终用户设置报表。   SailPrint并且保留了设置窗口的源代码,开发人员也可以自己订制设置窗口,这样可以可以跟系统   风格更为一致。包括打印预览窗口也保留了源代码,窗口样式可以随意修改。三、自动折行功能,估计大家都理解不用多说了,好不好用一试便知。四、主细表功能,这是新加入的功能,并且支持公式统计。支持的函数有:sum,count,avg以及函数之间   的加减乘除。 例如:sum([字段1])/count([字段2])五、支持流存储,可以将报表的设置或者将整个报表保存为流,这样可以简单的将报表设置保存到数据   库中,当然也可以保存成文件。这样最终用户修改了报表设置可以方便的保存。六、多表头功能,设置方法可能与其他控件不一样。大家可以下载试一下。七、自动适应纸张,随纸张大小自动调整。以上是一些主要特点,还有一些细小功能就不一一列举了,大家下载体验一下吧。
数据库报表设计系统(以下简称为报表系统),是专用于对访问远程数据库服务器所得的数据,如:SQL Server2000、Oracle等进行报表设计、预览和打印的系统。它设计自由、样式多样、操作简单,和通常的字处理排版类似。 报表系统主要包括系统菜单、工具栏、设计区和预览区四大部分。其中系统菜单中的主要功能都能在工具栏中实现,工具栏以包括系统工具、表头元件、数据元件、排版工具、位置调整工具,具体功能如下: 1)系统工具:主要有新建报表、打开报表、保存报表、打印设置、打印预览、剪切、复制、粘帖等; 2)表头元件:主要有标签、文本标签(用于多行标签)、系统数据(用于显示打印日期、页码、页数等)、图象、直线、矩形(用于制作表格)和条形码等工具。 3)数据元件:主要有数据标签(用于显示数据字段值)、数据文本(用于显示TXT数据)、数据RTF(用于显示RTF数据)、求和(用于对字段求和)、图象(用于显示图象字段)、数据条形码、区域框(用于制作表格)以及数据字段框(用于选择要显示的数据字段名称)。 4)排版工具:主要有对文字进行加粗、斜体、下画线、居左、居中、居右,改变字体及大小、颜色,置前、置后工具用于对重合的元件进行调整。 5)位置调整工具:主要有上下左右移动元件,对元件上下左右对齐(同时选择多个元件就可使用此工具选择对齐方式)和改变元件大小工具,即选择两个以上的元件,使用此工具对基于参照元件进行放大和缩小其它元件。 设计区主要用于报表版面设计,包括表头(用于设计报表标题)、内容(用于设计报表表格)、页脚(用于设计报表落款);预览区主要用于报表预览,即可进行实时预览,也就是在设计区中修改了报表,立刻就可以在预览区显示效果,预览区上还有打印按钮、预览比例按钮和翻页按钮等。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧