FastReport for Delphi2010 中文菜单显示不全或者乱码解决方法
中文菜单不能正确显示是由于它自带的资源编译器太老,和Delphi2010自带的TEncoding.UTF8不匹配造成的.此资源编译器frcc主要就是将资源文件*.xml中的资源编码后生成相应的.pas文件,没干啥高深的活。
以下是网友自建的Frcc程序,可以正常显示中文了.
可以自己编译一个frcc.exe,替换Res目录下的,然后再recompile即可。 delphi 2010(update5)测试界面都正常。
用delphi 2010建立一个console工程,名称为frcc,代码如下:
program frcc;
{$APPTYPE CONSOLE}
uses
SysUtils,
Classes,
StrUtils;
var
xml: string;
list: TStringList;
i: Integer;
fileName : string;
lineWidth: integer;
line: string;
begin
try
if ParamCount < 1 then
begin
Writeln('no input');
Exit;
end;
xml := ParamStr(1);
fileName := ExtractFileName(xml);
fileName := Copy(fileName, 1, Length(fileName) - 4); //delete ext .xml
list := TStringList.Create();
list.LoadFromFile(xml, TEncoding.UTF8);
xml := list.Text;
list.Clear;
list.Add('unit ' + fileName + ';');
list.Add('');
list.Add('interface');
list.Add('{$I frx.inc}');
list.Add('implementation');
list.Add('uses frxRes;');
list.Add('const resXML =');
xml := ReplaceText(xml, #13, '');
xml := ReplaceText(xml, #10, '');
i := 1;
while True do
begin
if (i + 80) < (Length(xml) + 1) then
lineWidth := 80
else
lineWidth := Length(xml) + 1 - i;
if lineWidth = 0 then
break;
line := Copy(xml, i, lineWidth);
list.Add(QuotedStr(line) + '+');
i := i + lineWidth;
end;
list.Add(''''';');
list.Add('initialization');
list.Add(' frxResources.AddXML(Utf8Encode(resXML));');
list.Add('');
list.Add('end.');
list.SaveToFile(ChangeFileExt(ParamStr(1), '.pas'), TEncoding.Default);
list.Free;
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
end.
转载于:https://www.cnblogs.com/MaxWoods/archive/2010/10/03/1841574.html
FastReport for Delphi2010 中文菜单显示不全或者乱码解决方法相关推荐
- win10c 系统语言 英文,Win10英文版系统下中文软件显示为问号的解决方法
RegEx Dotext 1.0 β4.exe是一个强大的处理文本的小软件,感谢软件制作者sunsmile.但是安装了Windows 10英文版后,打开RegEx Dotext 1.0 β4.exe ...
- 没有滚动条,页面内容显示不全问题的解决方法
页面内容显示不全,但不会出现滚动条(没有设置的情况下),可能出现的原因是因为html结构不完整.修改方法: <body style= "overflow:auto"> ...
- iOS/iPadOS中Office中文字体显示不正确的解决方法
问题描述 有时候用MS Office在iPad或手机上打开微信传过来的word文档,会发现某些字体显示不正确,常用的宋体和仿宋都不能正确显示,会被显示成等线字体,版面也会整个乱掉,打开字体栏也找不到要 ...
- jsp页面,在浏览器端显示时会出现乱码解决方法
这种乱码的原因是没有在页面里指定使用的字符集编码,JSP页面中出现了中文字符,而默认的ISO-8859-1字符集中无中文字符,解决方法:只要在页面开始地方用下面代码指定字符集编码即可,在JSP页面中指 ...
- linux显示点阵字体,Fedora 17中文字体显示点阵状的解决方法
在Fedora 17中文字体的显示变成点阵状了,为什么在Fedora 16下中文字体是文泉驿正黑.到Fedora 17之后,中文字体由文泉驿正黑(WenQuanYi Zen Hei)变为WenQuan ...
- CAD图纸打印成PDF,字体间距变宽或显示不全的完美解决方法
1.cad在打印为PDF文件时,字体会变宽,显示如下图 cad显示: 打印为PDF后显示,字体间隔明显变宽了 解决办法:在布局打印中,选择PDF选项,然后 在字体处理中选择去掉"捕获图形中使 ...
- win10html中文乱码,Win10预览版10125中文语言包安装及乱码解决方法
昨天,Win10预览版10125的英文ISO系统镜像以及Win10 build 10125的中文语言包已经泄露到网络上了,很多朋友迫不及待尝试安装了这个版本,有些朋友反馈即使安装了中文语言包,有些软件 ...
- PADS VX2.4在WIN10系统中菜单显示不全的解决方法
关于PADS在做封装部分菜单显示不全的解决方案,下载下面文件,然后替换即可 以下路径:C:\MentorGraphics\PADSVX.2.4\SDD_HOME\Programs\enu(可能部分人不 ...
- excel 科学计数法转换成文本完整显示_表格技巧—Excel里身份证号码显示不全的多种解决办法...
运用Excel表格可以快速统计和汇总数据,那么当在表格当中输入身份证号码时,表格通常显示不完全,这是为什么呢,今天小编就来给大家详细介绍当身份证号码显示不全时的多种解决办法,一起来学习一下吧. 首先, ...
最新文章
- SQL关键字转换大写核心算法实现
- 零基础python从入门到精通 pdf-跟老齐学Python从入门到精通
- Struts知识问答
- Java EE体系概述
- 英特尔驱动程序下载_如何修复英特尔计算机上的“此计算机未验证正在安装的驱动程序”...
- 基于R语言的模型组合
- 009-Dockerfile-MAINTAINER(deprecate)-使用 LABEL 代替
- “特质波动率之谜”(Idiosyncratic Volatility),用Python计算特质波动率
- uni-app 项目怎么运行到手机
- 宋分题——Java实现登录窗口 和 信息录入窗口
- 力扣(142.1002)补9.17
- jpa mysql_Spring boot通过JPA访问MySQL数据库
- 台式计算机idc数据排名,2019年电脑销量排行_IDC:2019年中国PC市场预测销量持续走低...
- 点击率是什么以及怎么提升点击率
- 自定义404页面并打包docker部署项目
- Linux 进程管理之进程调度与切换
- matlab基础知识:行向量产生、访问及绘图
- 反恐精英的服务器存在哪个文件夹,反恐精英地图放在哪里?CS1.6地图放置位置详细介绍...
- LeetCode题解(0863):寻找二叉树中距离指定节点的距离为K的结点(Python)
- 还不会漏洞上传吗?一招带你解决