我的软件依赖于Windows语言环境配置才能正常工作。
我的客户始终设置了pt-br语言环境,并且可以正常工作。
在一个用户的窗口中,pt-br语言环境设置正确但不知何故我的软件获得了所有美国配置。 (。作为十进制sepparator,$作为货币符号等)。
我有什么方法可以在我的软件中全局强制使用区域设置吗?
答案 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)未在控制面板的主选项卡中设置。
您必须转到“管理”标签,然后选择“更改系统区域设置”。
请参阅this article。