QuickReport报表中QRLabel显示的数据的换行问题
WordWrap为true, 和AotoStretch 属性为true.为了能随着内容的变化动态的换行.我写的程序和修改后的程序,代码如下:
int iLength; //要显示的文字的总长度
int iRows; //行数
int iY; //余数
AnsiString temp = ""; //存放临时字符串
String Str;
//使报表值自动换行
iLength = strlen(Str.c_str());
iRows = iLength / 100;
iY = iLength % 100;
if (iRows == 0)
{
lbl->Caption = Str;
}
if ((iRows == 1) && (iY > 0))
{
lbl->Caption = Str.SubString(1, 100) + " ";
}
if ((iRows > 1) && (iY >= 0))
{
for (int i = 0; i < iRows; i++)
{
temp += Str.SubString(i * n + 1, (i + 1) * n) + " ";
lbl->Caption = temp;
}
/*******************************************************************************
FunctionName: AutoNewLine
Description: 报表组件QRLabel的显示的信息的自动换行函数
Date: 2004-11-13
参数说明:lbl TQRLabel 类型
Str 要显示的字符串
n 组件每行显示的字符的长度
********************************************************************************/
void AutoNewLine(TQRLabel *lbl, AnsiString Str, int n)
{
int iLength; //要显示的文字的总长度
int iRows; //行数
int iY; //余数
AnsiString temp = ""; //存放临时字符串
iLength = strlen(Str.c_str());
iRows = iLength / n;
iY = iLength % n;
if ((iRows == 0) || ((iRows == 1) && (iY == 0)))
{
lbl->Caption = Str;
}
if ((iRows == 1) && (iY >= 0)) //表示有余数,还不够两行
{
lbl->Caption = Str.SubString(1, n) + " ";
}
if ((iRows > 1) && (iY >= 0))
{
for (int i = 0; i < iRows; i++)
{
temp += Str.SubString(i * n + 1, (i + 1) * n) + " ";
lbl->Caption = temp;
}
}
/*
if (((iRows == 0) && (iY > 0)) || ((iRows == 1) && (iY == 0)))
{
lbl->Caption = Str;
}
else
{
for (int i = 0; i < iRows; i++)
{
temp += Str.SubString(i * n + 1, (i + 1) * n) + " ";
lbl->Caption = temp;
}
}
*/
}
请大家帮忙看一看,如果分数不够,可以再加.
相关推荐
Delphi 实现报表的横向分组打印
数据库应用开发中,有些报表需要横向列印,这是在很多书上没讲到的。在这里跟大家分享。希望对你有帮助。
基于Delphi的开发实例(帮助新手掌握Delphi和sql server)
delphi 教程 代码 课设
产业园区运营负责人在组织科技活动时,如何实现线上化管理与高效转化?.docx
产业园区运营负责人在组织科技活动时,如何实现线上化管理与高效转化?
高校技术转移办公室人员如何高效管理并发布科技成果信息?.docx
高校技术转移办公室人员如何高效管理并发布科技成果信息?
CSDN首页 发布文章 CSDN同步助手 基于脉冲神经网络SNN的无人机编队控制研究(Matlab代码实现) 33 100 摘要:会在推荐、列表等场景外露,帮助读者快速了解内容,支持一键将正
内容概要:本文围绕基于密度的聚类算法展开,重点介绍了其在含有噪声的数据集中识别任意形状和大小簇的强大能力。文章系统阐述了该类算法的核心思想、技术优势及其相较于传统聚类方法在处理复杂数据结构时的突出表现。通过结合Matlab代码实现,详细展示了算法的应用流程与实际运行效果,帮助读者深入理解其工作机制与性能特点,并提供了直观的结果分析与可视化支持。; 适合人群:具备一定数据分析与编程基础,对机器学习、数据挖掘及模式识别感兴趣的科研人员、高校研究生以及工程技术人员。; 使用场景及目标:①应用于图像分割、异常检测、客户细分、地理信息系统等需要发现不规则聚类结构的实际问题;②通过Matlab编程实践掌握基于密度聚类算法(如DBSCAN、OPTICS等)的实现细节与参数调优策略;③提升在现实世界含噪数据中进行有效聚类分析的能力,解决传统方法难以应对的复杂聚类任务。; 阅读建议:建议读者在阅读过程中结合所提供的Matlab代码进行动手实践,尝试在不同数据集上运行算法并调整关键参数(如邻域半径、最小点数等),观察聚类结果的变化,从而加深对算法行为的理解。同时可参考文中提及的相关文献,进一步拓展对密度聚类理论体系与发展前沿的认识。


数据库及相关技术

