FastReport 4.13.1 中文菜单显示不全或者乱码解决方法

简介: FastReport 4.13.1 中文菜单显示不全或者乱码解决方法FastReport 4.13.1 中文菜单显示不全或者乱码解决方法:可以自己编译一个frcc.exe,替换Res目录下的,然后再recompile即可。

FastReport 4.13.1 中文菜单显示不全或者乱码解决方法:

可以自己编译一个frcc.exe,替换Res目录下的,然后再recompile即可。   delphi xe3测试界面都正常。

用delphi xe3建立一个console工程,名称为frcc,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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 .
相关文章
|
Linux Windows
Linux tar/rpm/yum命令软件安装
Linux tar/rpm/yum命令软件安装
893 2
|
9月前
|
存储 算法 安全
.NET 平台 SM2 国密算法 License 证书生成深度解析
授权证书文件的后缀通常取决于其编码格式和具体用途。本文档通过一个示例程序展示了如何在 .NET 平台上使用国密 SM2 算法生成和验证许可证(License)文件。该示例不仅详细演示了 SM2 国密算法的实际应用场景,还提供了关于如何高效处理大规模许可证文件生成任务的技术参考。通过对不同并发策略的性能测试,开发者可以更好地理解如何优化许可证生成流程,以满足高并发和大数据量的需求。 希望这段描述更清晰地传达了程序的功能和技术亮点。
1100 14
.NET 平台 SM2 国密算法 License 证书生成深度解析
|
NoSQL MongoDB Docker
Docker Compose安装MongoDB,并向宿主机映射数据文件/配置文件/日志文件
本文为博主实践Docker Compose方式安装MongoDB记录,希望对大家有所帮助。
3953 0
|
10月前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
770 7
|
DataWorks 网络协议 Java
DataWorks常见问题之新建StarRocks数据源测试链接不通如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
264 1
|
安全 Ubuntu Linux
6 个受欢迎且好用的轻量级Linux桌面环境
Linux被认为是最安全的系统,但这并不意味着它不受恶意软件或其他安全漏洞的侵害。Linux系统的使用范围非常广泛,因此防范潜在威胁至关重要。在这里,将探索 2024 年适用于 Linux 的最佳防病毒软件。根据评级、功能以及与其他 Linux 发行版的兼容性列出了十款最佳防病毒软件,内容仅供分享,不做其它用途。
3939 1
6 个受欢迎且好用的轻量级Linux桌面环境
|
自然语言处理 芯片 异构计算
ASIC到底是什么?
ASIC到底是什么?
3626 1
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
1154 1
|
缓存 JavaScript
vue组件强制刷新的5种方案
vue组件强制刷新的5种方案
1319 2