将带有特殊字符的Delphi DFM迁移到D2009

我有一些Delphi表格,我们使用了几个特殊字符 – ‘度’符号和’欧姆’符号.这些字符用于保存在DFM文件中的标签标题,不会在运行时生成修改.回到我们第一次设计这些表格时,程度符号很容易,因为它是在Ansi字符集(代码176)中,但欧姆符号需要希腊字符集与代码217一起使用.幸运的是(我们发现)所有其他字符我们需要(字母和数字)与希腊字符集一起工作.

现在我们希望这些表格在D2009中看起来一样.度数符号显示正常,但欧姆符号显示’Ù’,因为dfm文本是“Caption =’输入欧姆 – 1234’#217”.我发现我可以编辑表格以输入正确的unicode ohms符号(8486),但当然这会丢失为’?’回到D7的时候.理想情况下,我想告诉D2009继续使用形式的希腊字符集,以便dfm中的#217映射到欧姆符号.这可能吗?它似乎忽略了Font.Charset设置,即’GREEK_CHARSET’.我发现了一种解决这个问题的肮脏方法,即遍历所有组件并执行“S​​tringReplace(S,’Ù’,OhmsChar,[rfReplaceAll])”,但这很可怕,肯定有更好的方法吗?

谢谢,
布赖恩

解决方法

类似的问题我通过使用 dxgettext解决了.而不是有问题的标题,我只是使用干净的ascii(例如“键入欧姆”),然后将它们翻译成po文件,嵌入exe作为资源.

BTW,dxgettext一个很好的方式来添加翻译到应用程序,只需很少的开销和标准格式(po / mo)与良好的3p编辑器(poEdit).适用于D7和D2009.

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...