3

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

我的客户一直都设置了 pt-br 区域设置,并且这样可以正常工作。

在一个用户的窗口中,pt-br 语言环境设置正确,但不知何故,我的软件获取了所有 us 配置。(. 作为小数分隔符,$ 作为货币符号等等)。

我有什么办法可以在我的软件中强制全局设置语言环境吗?

4

3 回答 3

1

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

我还发现了这个对我有帮助的线程(http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/b4f90f07-206c-494b-8d14-ee17bfa689e0)。

这是方法:

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

1) 打开区域和语言选项

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

3) 按“申请”

4) 在“格式”下选择您想要的语言环境(例如:英语(英国))。

5) 按确定。

于 2012-11-06T10:30:30.130 回答
1

由于您有 delphi-7,您可以执行以下操作:

Application.UpdateFormatSettings := false;

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

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

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

在 Delphi 2006 及更高版本中,此方法已被弃用,TFormatSettings首选使用 。如果部分应用程序在执行期间需要更改格式设置,它还可以处理重入问题。

于 2012-06-13T15:08:06.937 回答
0

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

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

在此处输入图像描述

这篇文章

于 2012-06-13T18:39:47.183 回答