更改Sysem.Variants.VarToWideStr的区域设置格式

问题描述 投票:2回答:1

我的应用程序上的第三方组件(FastReports)正在广泛使用System.Variants.VarToWideStr函数,该函数很好,但它忽略了我需要该应用程序使用的区域设置。

示例:

FormatSettings.ShortDateFormat := 'dd/mm/yyyy';
ShowMessage(VarToWideStr(Date));
FormatSettings.ShortDateFormat := 'yyyy/mm/dd';
ShowMessage(VarToWideStr(Date));

此代码始终返回相同的字符串,而忽略了我指示要使用的应用程序的区域设置。

您是否知道另一种更改应用程序(具体是VarToWideStr)将使用的区域设置的方法?。>>

我的应用程序上的第三方组件(FastReports)正在广泛使用System.Variants.VarToWideStr函数,该函数很好,但它忽略了我需要的区域设置...

delphi date-formatting delphi-10.1-berlin
1个回答
5
投票

[我认为您对Variants单元和FastReport的糟糕设计感到困惑。 VarToWideStr调用VarToWideStrDef,先调用隐式_VarToWStr,然后再调用DateToWStrViaOS,最后从单元VarBStrFromDate调用System.VarUtils

© www.soinside.com 2019 - 2024. All rights reserved.