wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Windows7下使用Delphi7程序发生奇怪的区域性/日期时间问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我的Delphi7程序是非英语语言,并广泛使用一些Win1250 ANSI字符. (aáíóőű) 我注意到在英语Windows XP / Vista / 7系统中,许多重音字符在表单和标签字幕中显示为非重音字符(即:o而不是ő,而不是ű). 在本地化的Windows XP / Vista系统上没有问题.但是在某些Windows 7系统上(可能只有64位版本,我不确定)即使Windows实例已本地
我的Delphi7程序是非英语语言,并广泛使用一些Win1250 ANSI字符. (aáíóőű)

我注意到在英语Windows XP / Vista / 7系统中,许多重音字符在表单和标签字幕中显示为非重音字符(即:o而不是ő,而不是ű).

在本地化的Windows XP / Vista系统上没有问题.但是在某些Windows 7系统上(可能只有64位版本,我不确定)即使Windows实例已本地化,重音字符也不会正常显示.

我还注意到,在这些系统上,DateToStr将输出11/17/2010而不是2010.11.17 – 这是标准的本地化格式.
有趣的是,我在区域设置下检查了它,认日期格式设置为yyyy.mm.dd – 为什么DateToStr会给我回dd / mm / yyyy?

我注意到货币的相同行为(“,”显示为小数点分隔符而不是“.”等).

有任何想法吗?

谢谢!

解决方法

Delphi 7应用程序是非unicode(除非您使用TNT组件之类的组件),因此您需要在Windows中检查非Unicode应用程序的活动CodePage.在Win7中,转到“控制面板”|地区和语言|行政|更改系统区域设置,并更改Windows的认ANSI CodePage.

这似乎与以下报告相同:
http://social.technet.microsoft.com/Forums/en-US/w7itprogeneral/thread/b4f90f07-206c-494b-8d14-ee17bfa689e0

它似乎是Windows中的一个错误.我在为斯洛文尼亚客户编写的一个项目中遇到了同样的问题.我告诉客户将当前日期/时间设置更改为不同的设置,保存更改,然后返回日期/时间设置,并将其更改回所需的格式.那样可以解决问题.

同样在上面的链接中,提到了编程解决方法

来自S.b.Christensen:

我自己没有测试过代码,因为以前的解决方法对我来说很好.

大佬总结

以上是大佬教程为你收集整理的在Windows7下使用Delphi7程序发生奇怪的区域性/日期时间问题全部内容,希望文章能够帮你解决在Windows7下使用Delphi7程序发生奇怪的区域性/日期时间问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。