关于FASTREPORT的几点注意(小技巧,感兴趣的进来看看,尤其适合初学者) ( 积分: 200 )

  • 主题发起人 主题发起人 redchild
  • 开始时间 开始时间
R

redchild

Unregistered / Unconfirmed
GUEST, unregistred user!
好久没来DFW了,这段时间在录找用FR彻底代替QR的方法,上来一看,发现这里关心FR的人挺多的,于是写下心得,与大家共享。欢迎大家指正
1.版本的问题,我试用过2.53,3.0x,3.1x,3.15,3.2x,4.x,个人感觉3.15最合适,3.15以上的版功能虽很强,但因为改用了UTF8的原因(可能在BDS2006里面不会有问题,应该BDS2006对于UTF8的支持要好
于D7),对中文的支持并不好,比如设置STOREINDFM的时候,会导致MEMO里的部份中文丢失.而2.X则对纸张的控制不严格,比如,设置了LeftMargin之后,MEMO之类不会随之改变位置.
2.手动页边距的问题:3.15的页边距设置我是用TfrxReportPage(fr0.Pages[0]).LeftMargin:=10;的方式实现的.
3.在主程序动态更改MEMO的DisplayFormat的问题,这里比较奇怪,无论你在脚本里用参数传递格式,还是直接在脚本里用MEMO1.DisplayFormat.Formatstr:='%2.2f'的方式,都无法改变,后来综合网上
的一些方法进行改进,用FR自带的FORMAT函数可解决此问题比如:
TfrxMemoView(fr0.FindObject('MQUANTITY')).Memo.add(format('[format(''%s'',[SUM(<frxDBDatsrc.&quot;QUANTITY&quot;>)])]',[qtyfmt]));
TfrxMemoView(fr0.FindObject('MSPARE')).Memo.Add(format('[format(''%s'',[SUM(<frxDBDatsrc.&quot;SPARE&quot;>)])]',[qtyfmt]));
TfrxMemoView(fr0.FindObject('MINEDQ')).Memo.Add(format('[format(''%s'',[SUM(<frxDBDatsrc.&quot;INEDQ&quot;>)])]',[qtyfmt]));
注:qtyfmt是自定义的格式字串,如'%2.2f';这样,相当于直接在MEMO里写入[format(''%2.2f'',[SUM(<frxDBDatsrc.&quot;QUANTITY&quot;>)])].
这种方式适合不用GETVALUE的懒人们
以上在D7+3.15下测试通过
 
谢谢分享
 
谢谢楼主。
 
后退
顶部