关于软件中日期格式的应用 (50分)

  • 主题发起人 WilliamGui
  • 开始时间
W

WilliamGui

Unregistered / Unconfirmed
GUEST, unregistred user!
我想达到下面的要求
1.在软件中充许用户设定日期格式, 但不需要更改系统控制面板中的设置,
就可以按新的日期格式进行输入和显示;
2.当要在程序中执行sql语句用到日期时(sql server),日期格式如何表示?
3.是否会影响某些第三方控件,造成出错,如dxDBGrid

最好有代码。谢谢各位帮忙!

 
设置日期字段的显示格式就可以了。
 
sql语句用字符串
 
SysUtils 中有一个全局变量ShortDateFormat,所有的数据集相关的日期-字串转换都跟它有
关,类似控制面板中的格式设置。
你程序初始化时,把它设置为yyyy-M-d就是四位年份了。具体的格式请参考控制面板中的设置:
区域选项-日期
 
在程序进入时的Create进行 如shortDateFormat:='yyyy-mm-dd';的设置
或在字段的OnGetText,OnSetText中处理显示格式
 
不需要,取系统日期格式串,然后使用字符串替换相应的位置即可。
我已应用于多个项目中
 
前一短也遇到和你一样的问题,解决办法为:
user Windows.Pas

Syntax
SetLocaleInfo(
Locale: LCID; {the locale identifier}
LCType: LCTYPE; {locale data flag}
lpLCData: PChar {a pointer to the new data}
): BOOL; {returns TRUE or FALSE}

具体参数记不清楚了,可查下m$dn

The Tomes of Delphi 3: Win32 Core API Help File by Larry Diehl
 
多人接受答案了。
 
顶部