修改系统的日期格式

  • 主题发起人 主题发起人 import
  • 开始时间 开始时间
I

import

Unregistered / Unconfirmed
GUEST, unregistred user!
var str: string;
begin
str := RadioGroup1.Items.Strings[RadioGroup1.ItemIndex];
if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE , PChar(str)) then
begin
showmessage('short OK!');
then
SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
end;
end;
为了方便测试我用了radioGroup,items 内容如下
yy-d-m
d-yy-m
m-d-yy
yy-m-d
yyyy-m-d
yyyy-d-m
 
传进参数必须 null-terminate 字符串指针。我用 pchar ,而且字符串格式只能写成这样 'm-d'而不是'mm-dd'('yyyy'可以用),不然改不了另外delphi 函数 DateTostr,DateTimeTostr,都调用短格式。
长格式很灵活。随便改.RadioGroup Items 如下
yyy'年'dd'日'-mm
d-yyyy-mm
mm-dd-yyyy
yyyy-mm-dd
代码如下
var
str: string;
begin
str := RadioGroup2.Items.Strings[RadioGroup2.ItemIndex];
if SetLocaleInfoa(LOCALE_SYSTEM_DEFAULT, LOCALE_SLONGDATE , PChar(str)) then
begin
showmessage('Loan OK!');
SendMessageA(HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0);
end;
end;
//
你应该搜索一下,有着方面的讨论。
 

Similar threads

后退
顶部