配置未考虑的区域设置

时间:2012-06-13 14:42:10

标签: delphi localization delphi-7

我的软件依赖于Windows语言环境配置才能正常工作。

我的客户始终设置了pt-br语言环境,并且可以正常工作。

在一个用户的窗口中,pt-br语言环境设置正确但不知何故我的软件获得了所有美国配置。 (。作为十进制sepparator,$作为货币符号等)。

我有什么方法可以在我的软件中全局强制使用区域设置吗?

3 个答案:

答案 0 :(得分:1)

由于你有delphi-7,你可以这样做:

  

Application.UpdateFormatSettings:= false;

这可以防止系统使用Windows默认值更新您的应用程序。

然后在应用程序启动时定义:

DecimalSeparator := '.'; // Or whatever preference you have
CurrencyString := '$'; // Or something else
... 
etc

在Delphi 2006及更高版本中,不推荐使用此方法,并且优先使用TFormatSettings。如果部分应用程序需要在执行期间更改格式设置,它还会处理重入问题。

答案 1 :(得分:1)

遇到同样的问题我找到了你的帖子。

我也找到了帮助我的这个主题(http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/b4f90f07-206c-494b-8d14-ee17bfa689e0)。

以下是方法:

  

如果您从控制台打开“区域和语言选项”   (地球图标)/ intl.cpl,并重新选择它可能的语言环境   解决这个问题。

     

1)开放区域和语言选项

     

2)在“格式”下选择其他任何内容。 (例如:英语(美国))。

     

3)按“应用”

     

4)在“格式”下选择您想要的地区(例如:英语(美联航)   英国))。

     

5)按OK。

答案 2 :(得分:0)

在Windows 7下,非Unicode应用程序的区域设置(如Delphi 7)未在控制面板的主选项卡中设置。

您必须转到“管理”标签,然后选择“更改系统区域设置”。

enter image description here

请参阅this article