TIniFile *ini;
ini = new TIniFile("hadchktran.ini");
AnsiString s,Field;
TQRLabel *pLabel;
int length,count;
for (int i=lblist->Count-1; i>=0; i--)
{
delete (TQRLabel *)lblist->Items[i];
}
lblist->Clear();
/*打印客户清单表头*/
count = ini->ReadInteger("Items","Count",0);
for(int i=1;i<=count;++i)
{
s = ini->ReadString("Items","Item"+IntToStr(i),"");
length = s.Trim().Length(); lb = new TQRLabel(this);
lblist->Add((void *)lb);
lb->Parent = ChildBand1;
lb->Caption = s;
lb->Top = 0;
lb->Alignment = taCenter;
lb->AutoSize = false;
SetAttrib(lb); //设置字体大小
lb->Font->Style = TFontStyles()<<fsBold;
//-----以下是大小间距的处理
if(i>1)
{
pLabel = (TQRLabel *)lblist->Items[i-1];
lb->Left =pLabel->Left + pLabel->Width;
}
else lb->Left = 100;
lb->Width = length*9;
if(lb->Width < lb->Caption.Length()*9)
lb->Width = lb->Caption.Length()*9;
else if(lb->Width > 30*9)
lb->Width = 30*9;
if((lb->Left + lb->Width) > ChildBand1->Width)
{
delete lb;
lblist->Delete(i);
count = i;
break;
} }
ChildBand1->Height = lb->Height+5;
delete ini; //打印具体数据
TQRChildBand *qcb = ChildBand1;
QRLabel1->Caption ="日流水清单报表";
for(int i=0;i<FrmChkact->lvTran->Items->Count; ++i)
{
qcb->HasChild = true;
qcb = qcb->ChildBand; for(int j = 0;j <= count;++j)
{
pLabel = (TQRLabel *)lblist->Items[j];
Field = GetField(Flag,pLabel->Caption,FrmChkact->lvTran->Items->Item[i]); //从ListView中将数据提取出来
Field = Field.Trim();
lb = AddLabel(Field,qcb,(TQRLabel *)lblist->Items[j],0); //添加到打印程序里面
lblist->Add((void*)lb);
}
qcb->Height = lb->Height+5;
}
}
RepCifList->Preview();我现在发现 现在连起码的表头也打印不出来 但持续跟踪的情况是 从ini文件中都完好的将数据提取出来了 但就是无法打印出来 这是为什么啊?这个问题我在BCB版里面问的,没人回答,能在delphi里面问了,望各位高手帮忙!
ini = new TIniFile("hadchktran.ini");
AnsiString s,Field;
TQRLabel *pLabel;
int length,count;
for (int i=lblist->Count-1; i>=0; i--)
{
delete (TQRLabel *)lblist->Items[i];
}
lblist->Clear();
/*打印客户清单表头*/
count = ini->ReadInteger("Items","Count",0);
for(int i=1;i<=count;++i)
{
s = ini->ReadString("Items","Item"+IntToStr(i),"");
length = s.Trim().Length(); lb = new TQRLabel(this);
lblist->Add((void *)lb);
lb->Parent = ChildBand1;
lb->Caption = s;
lb->Top = 0;
lb->Alignment = taCenter;
lb->AutoSize = false;
SetAttrib(lb); //设置字体大小
lb->Font->Style = TFontStyles()<<fsBold;
//-----以下是大小间距的处理
if(i>1)
{
pLabel = (TQRLabel *)lblist->Items[i-1];
lb->Left =pLabel->Left + pLabel->Width;
}
else lb->Left = 100;
lb->Width = length*9;
if(lb->Width < lb->Caption.Length()*9)
lb->Width = lb->Caption.Length()*9;
else if(lb->Width > 30*9)
lb->Width = 30*9;
if((lb->Left + lb->Width) > ChildBand1->Width)
{
delete lb;
lblist->Delete(i);
count = i;
break;
} }
ChildBand1->Height = lb->Height+5;
delete ini; //打印具体数据
TQRChildBand *qcb = ChildBand1;
QRLabel1->Caption ="日流水清单报表";
for(int i=0;i<FrmChkact->lvTran->Items->Count; ++i)
{
qcb->HasChild = true;
qcb = qcb->ChildBand; for(int j = 0;j <= count;++j)
{
pLabel = (TQRLabel *)lblist->Items[j];
Field = GetField(Flag,pLabel->Caption,FrmChkact->lvTran->Items->Item[i]); //从ListView中将数据提取出来
Field = Field.Trim();
lb = AddLabel(Field,qcb,(TQRLabel *)lblist->Items[j],0); //添加到打印程序里面
lblist->Add((void*)lb);
}
qcb->Height = lb->Height+5;
}
}
RepCifList->Preview();我现在发现 现在连起码的表头也打印不出来 但持续跟踪的情况是 从ini文件中都完好的将数据提取出来了 但就是无法打印出来 这是为什么啊?这个问题我在BCB版里面问的,没人回答,能在delphi里面问了,望各位高手帮忙!
解决方案 »
- integer(@P)和 integer(P)有什么区别
- dbgrideh的样式如何设置
- Delphi 中如何实现Excel数据表导入到SQL2000
- 从tobject 继承的类 为何constructor create 后 不加virtual 或override
- 怎样建立新窗体,用来调用其它窗体?菜鸟提问!
- 高兴,想散点儿分,希望大家赏脸。
- 关于dbgrid中的计算字段问题
- 30岁的程序员谁要?请各位指点
- 火急!!!
- 倾其所有相送---哪儿有wav转mp3的控件?
- 关于DBNavigator组件的问题
- Either Eof or Bof is True,or the Current Record Has Been Delete(500分)
免费升级超越水晶报表,是我们的目标
彻底解除程序员负担,极大提高用户设定灵活性
LLanV报表工具,经过了10000行以上数据的压力测试,性能优良!其中一部分功能如下:
1.支持资料卡(比如:个人简历),表单(比如:销售定单),报表(比如:销售月报表)的预览打印
2.不用任何设定,就可以默认产生专业的页面
3.用户可以一次性设定企业标准样式(比如:公司标志,台头)
4.支持文本,线条,方框,图片,等报表元素
5.对各报表元素和报表区域等提供丰富的属性
6.用户可以在运行期间编辑文本,线条,方框,图片,明细列, 操作简单
7.支持同一列相同数据合并成一个格
8.可以在运行期间增删,调换明细列
9.提供多种报表风格
10.支持页合计,总计
11.支持的套打报表
12.支持MIS开发的各种开发工具:如VC、VB、Delphi等
13.可以直接连接数据库
14.用户可以把设定后的报表样式保存为报表样式文件
15.报表头和报表尾均可多于一页
16.报表样式文件格式完全开放
17.可以实现中国式复杂报表样式
18.无须编程请发EMAIL给[email protected]