高手接招FR简体报表能不能转换成繁体报表,请各位大侠救救我。高分相送(200分)

  • 主题发起人 主题发起人 002670
  • 开始时间 开始时间
0

002670

Unregistered / Unconfirmed
GUEST, unregistred user!
FR简体报表能不能转换成繁体报表
 
这个问题没有人会吗?请千中元版主大哥帮帮忙行吗?
 
什么意思?是不是字体显示成繁体?试试改成繁体的字库看看!
 
仅把报表转换成繁体没试过,把整个应用程序转换成繁体倒用过
 
把整个应用程序转换成繁体
 
其实不难,FR里的对象都是基于TFrView的,TFrView有一个Memo属性,你用TFrReport装入一个报表文档,然后遍历所有的基于TFrView的对象,把Memo里的值转为繁体就行,至于字符如何转繁体,可以从网上找到代码。
 
to shaoyy.大侠。请你一定要帮帮兄弟我呀。具体情况是这样的。我做了一个软件,是简体下做的。有差不多两百多个报表。现在人家要繁体的。源码和界面都转过来了,就剩报表没有好办法做。要是重做的话我要累得要命。所以兄弟我求求你一定帮帮我,帮我帮到底。说具体一些好吗。
 
另外,SHAOYY兄弟,你在哪里?。有没有QQ 能不能当面请教。谢谢。
 
我做过一个,当时是调用的Word的简繁体功能,BG2BIG5的函数不好用才这样做的。再说GB2BIG5没有转换词语功能而word有,我可以发一个工具给你,只是转换的速度比较慢,目前只支持到fr247,一直没有改过!
 
错了,你可能要转frf,我只能转frp!,如果是这样就实现不了了!
 
to vmao 兄弟。确实是换FRF 的。可以给我一点建议吗?
 
我在线等各位大侠求火
 
frf转繁体就没有道理了,你自己手工改好了!
比如:字段或变量中有简体中文,你把frf转成繁体程序根本就不能用了,况且memo还有script,script可不是随便就可以转化的。你慢慢改好了!
 
其实就是几行代码的事情,我来写一个函数:
procedure ConvertFrfToBig5(SourceF, DestiF : string);
var
p, i: integer;
AReport: TFrReport;
begin
AReport := TfrReport.Create(nil);
AReport.LoadFromFile(SourceF);
for p := 0 to AReport.Pages.Count -1do
for i :=0 to AReport.Pages[p].Objects.Count-1 do
if TObject(AReport.Pages[p].Objects) is TFrView then
with (TFrView(AReport.Pages[p].Objects))do
begin
Memo.Text := CvtStrToBig5(Memo.Text);

end;
AReport.SaveToFile(DestiF);
AReport.Free;
end;

注:/此处CvtStrToBig5函数是一个将字符转为繁体的函数,这种函数网上很多,你自己找找。
我的qq: 229481711,我不经常在这,可以来www.acreport.com找我。
 
当然这还只是一个最基本的例子,如果你的报表中图表对象,或其它可能有汉字属性的对象,还需稍做修改,方法无非是在if TObject(AReport.Pages[p].Objects) is TFrView then
之前判断:if TObject(AReport.Pages[p].Objects) is TFrChart then

 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部